diff --git a/site/_data/downloads.yml b/site/_data/downloads.yml
index 50fec3f..eb5f767 100644
--- a/site/_data/downloads.yml
+++ b/site/_data/downloads.yml
@@ -45,7 +45,7 @@
 edgent_1-1-0_bin_md5_location: 'https://www.apache.org/dist/incubator/edgent/1.1.0-incubating/binaries/apache-edgent-1.1.0-incubating-bin.tgz.md5'
 edgent_1-1-0_bin_sha_location: 'https://www.apache.org/dist/incubator/edgent/1.1.0-incubating/binaries/apache-edgent-1.1.0-incubating-bin.tgz.sha'
  
-edgent_1-2-0_doc_location: 'https://edgent.incubator.apache.org/javadoc/r1.2.0/index.html'
+edgent_1-2-0_doc_location: '/javadoc/r1.2.0/index.html'
 edgent_1-2-0_java_support_doc_location: 'https://github.com/apache/incubator-edgent/blob/edgent-1.2.0/JAVA_SUPPORT.md'
 edgent_1-2-0_release_note: 'https://www.apache.org/dist/incubator/edgent/1.2.0-incubating/RELEASE_NOTES'
 edgent_1-2-0_dist_location: 'https://www.apache.org/dyn/closer.cgi/incubator/edgent/1.2.0-incubating'
diff --git a/site/_data/mydoc/mydoc_topnav.yml b/site/_data/mydoc/mydoc_topnav.yml
index 0653915..30aeacb 100644
--- a/site/_data/mydoc/mydoc_topnav.yml
+++ b/site/_data/mydoc/mydoc_topnav.yml
@@ -68,6 +68,14 @@
           version: all
           output: web
 
+        - title: 1.2.0
+          url: /..\/javadoc\/r1.2.0
+          audience: writers, designers
+          platform: all
+          product: all
+          version: all
+          output: web
+
         - title: 1.1.0
           url: /..\/javadoc\/r1.1.0
           audience: writers, designers
diff --git a/site/javadoc/latest/allclasses-frame.html b/site/javadoc/latest/allclasses-frame.html
index 0677d70..ff813d2 100644
--- a/site/javadoc/latest/allclasses-frame.html
+++ b/site/javadoc/latest/allclasses-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>All Classes (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>All Classes (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,12 +13,9 @@
 <h1 class="bar">All&nbsp;Classes</h1>
 <div class="indexContainer">
 <ul>
-<li><a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps" target="classFrame">AbstractApplication</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">AbstractContext</a></li>
 <li><a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi" target="classFrame">AbstractGraph</a></li>
 <li><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution" target="classFrame">AbstractGraphJob</a></li>
-<li><a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp" target="classFrame">AbstractIotpApplication</a></li>
-<li><a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt" target="classFrame">AbstractMqttApplication</a></li>
 <li><a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core" target="classFrame">AbstractOplet</a></li>
 <li><a href="org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester" target="classFrame">AbstractTester</a></li>
 <li><a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi" target="classFrame">AbstractTopology</a></li>
@@ -26,9 +24,9 @@
 <li><a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">AbstractTWindow</a></li>
 <li><a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi" target="classFrame">AbstractVertex</a></li>
 <li><a href="org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window" target="classFrame">Aggregate</a></li>
+<li><a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">Aggregations</a></li>
 <li><a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services" target="classFrame"><span class="interfaceName">ApplicationService</span></a></li>
 <li><a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans" target="classFrame"><span class="interfaceName">ApplicationServiceMXBean</span></a></li>
-<li><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps" target="classFrame">ApplicationUtilities</a></li>
 <li><a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice" target="classFrame">AppService</a></li>
 <li><a href="org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice" target="classFrame">AppServiceControl</a></li>
 <li><a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing" target="classFrame">Barrier</a></li>
@@ -36,9 +34,6 @@
 <li><a href="org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">BiFunction</span></a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">CheckedFunction</span></a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">CheckedSupplier</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327" target="classFrame"><span class="interfaceName">Cmd</span></a></li>
-<li><a href="org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology" target="classFrame">CombiningStreamsProcessingResults</a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime" target="classFrame">CommandExecutor</a></li>
 <li><a href="org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">Commands</span></a></li>
 <li><a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command" target="classFrame">CommandStreams</a></li>
 <li><a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file" target="classFrame">CompressedFileWriterPolicy</a></li>
@@ -46,30 +41,20 @@
 <li><a href="org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution" target="classFrame"><span class="interfaceName">Configs</span></a></li>
 <li><a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Connector</span></a></li>
 <li><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">ConnectorStream</a></li>
-<li><a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console" target="classFrame">ConsoleWaterDetector</a></li>
 <li><a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">Consumer</span></a></li>
 <li><a href="org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services" target="classFrame">Controls</a></li>
 <li><a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services" target="classFrame"><span class="interfaceName">ControlService</span></a></li>
 <li><a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets" target="classFrame">CounterOp</a></li>
 <li><a href="org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv" target="classFrame">Csv</a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">DbUtils</a></li>
 <li><a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors" target="classFrame">Deadtime</a></li>
-<li><a href="org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology" target="classFrame">DevelopmentMetricsSample</a></li>
 <li><a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development" target="classFrame">DevelopmentProvider</a></li>
-<li><a href="org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology" target="classFrame">DevelopmentSample</a></li>
-<li><a href="org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology" target="classFrame">DevelopmentSampleJobMXBean</a></li>
-<li><a href="org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt" target="classFrame">DeviceCommsApp</a></li>
 <li><a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi" target="classFrame">DirectEdge</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph" target="classFrame">DirectGraph</a></li>
 <li><a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct" target="classFrame">DirectProvider</a></li>
 <li><a href="org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution" target="classFrame"><span class="interfaceName">DirectSubmitter</span></a></li>
 <li><a href="org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct" target="classFrame">DirectTopology</a></li>
 <li><a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Edge</span></a></li>
-<li><a href="org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket" target="classFrame">EdgentSslContainerProvider</a></li>
-<li><a href="org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl" target="classFrame">EdgentSslContainerProviderImpl</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model" target="classFrame">EdgeType</a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327" target="classFrame">Elm327Cmds</a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327" target="classFrame">Elm327Streams</a></li>
 <li><a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions" target="classFrame">EndlessSupplier</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">EtiaoJob</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans" target="classFrame">EtiaoJobBean</a></li>
@@ -79,9 +64,7 @@
 <li><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph" target="classFrame">ExecutableVertex</a></li>
 <li><a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core" target="classFrame">FanIn</a></li>
 <li><a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core" target="classFrame">FanOut</a></li>
-<li><a href="org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file" target="classFrame">FileReaderApp</a></li>
 <li><a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileStreams</a></li>
-<li><a href="org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file" target="classFrame">FileWriterApp</a></li>
 <li><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileWriterCycleConfig</a></li>
 <li><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileWriterFlushConfig</a></li>
 <li><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileWriterPolicy</a></li>
@@ -89,20 +72,14 @@
 <li><a href="org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">Filter</a></li>
 <li><a href="org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors" target="classFrame">Filters</a></li>
 <li><a href="org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">FlatMap</a></li>
-<li><a href="org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps" target="classFrame">FleetManagementAnalyticsClientApplication</a></li>
 <li><a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">Function</span></a></li>
 <li><a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function" target="classFrame">Functions</a></li>
-<li><a href="org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps" target="classFrame">GpsAnalyticsApplication</a></li>
-<li><a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps" target="classFrame">GpsSensor</a></li>
 <li><a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Graph</span></a></li>
 <li><a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">GraphTopology</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model" target="classFrame">GraphType</a></li>
 <li><a href="org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot" target="classFrame">HeartBeat</a></li>
-<li><a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor" target="classFrame">HeartMonitorSensor</a></li>
-<li><a href="org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology" target="classFrame">HelloEdgent</a></li>
 <li><a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http" target="classFrame">HttpClients</a></li>
 <li><a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http" target="classFrame">HttpResponders</a></li>
-<li><a href="org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console" target="classFrame">HttpServerSample</a></li>
 <li><a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http" target="classFrame">HttpStreams</a></li>
 <li><a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window" target="classFrame">InsertionTimeList</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">Invocation</a></li>
@@ -111,16 +88,9 @@
 <li><a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">IotDevice</span></a></li>
 <li><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot" target="classFrame">IotDevicePubSub</a></li>
 <li><a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">IotGateway</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpAppClient</a></li>
 <li><a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp" target="classFrame">IotpDevice</a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpDeviceSample</a></li>
-<li><a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp" target="classFrame">IotpFullScenario</a></li>
 <li><a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp" target="classFrame">IotpGateway</a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpGWDeviceSample</a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpQuickstart</a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpQuickstart2</a></li>
 <li><a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot" target="classFrame">IotProvider</a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpSensors</a></li>
 <li><a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing" target="classFrame">Isolate</a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc" target="classFrame">JdbcStreams</a></li>
 <li><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol" target="classFrame">JMXControlService</a></li>
@@ -130,8 +100,6 @@
 <li><a href="org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution" target="classFrame">Job.State</a></li>
 <li><a href="org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">JobContext</span></a></li>
 <li><a href="org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry" target="classFrame">JobEvents</a></li>
-<li><a href="org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology" target="classFrame">JobEventsSample</a></li>
-<li><a href="org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology" target="classFrame">JobExecution</a></li>
 <li><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime" target="classFrame">JobMonitorApp</a></li>
 <li><a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans" target="classFrame"><span class="interfaceName">JobMXBean</span></a></li>
 <li><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry" target="classFrame">JobRegistry</a></li>
@@ -141,11 +109,9 @@
 <li><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol" target="classFrame">JsonControlService</a></li>
 <li><a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json" target="classFrame">JsonFunctions</a></li>
 <li><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat" target="classFrame">JsonStorelessStatistic</a></li>
-<li><a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps" target="classFrame">JsonTuples</a></li>
 <li><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json" target="classFrame"><span class="interfaceName">JsonUnivariateAggregate</span></a></li>
 <li><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json" target="classFrame"><span class="interfaceName">JsonUnivariateAggregator</span></a></li>
 <li><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket" target="classFrame">Jsr356WebSocketClient</a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">KafkaClient</a></li>
 <li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka" target="classFrame">KafkaConsumer</a></li>
 <li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka" target="classFrame"><span class="interfaceName">KafkaConsumer.ByteConsumerRecord</span></a></li>
 <li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka" target="classFrame"><span class="interfaceName">KafkaConsumer.ConsumerRecord</span></a></li>
@@ -156,33 +122,20 @@
 <li><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics" target="classFrame">MetricObjectNameFactory</a></li>
 <li><a href="org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics" target="classFrame">Metrics</a></li>
 <li><a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics" target="classFrame">MetricsSetup</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">MqttClient</a></li>
 <li><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt" target="classFrame">MqttConfig</a></li>
 <li><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot" target="classFrame">MqttDevice</a></li>
 <li><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt" target="classFrame">MqttStreams</a></li>
-<li><a href="org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors" target="classFrame">MsgSupplier</a></li>
-<li><a href="org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt" target="classFrame">MyClass1</a></li>
-<li><a href="org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt" target="classFrame">MyClass2</a></li>
-<li><a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2" target="classFrame">Obd2Streams</a></li>
-<li><a href="org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps" target="classFrame">ObdAnalyticsApplication</a></li>
+<li><a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">MvResultMap</a></li>
 <li><a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">Oplet</span></a></li>
 <li><a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">OpletContext</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors" target="classFrame">Options</a></li>
 <li><a href="org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">OutputPortContext</span></a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">ParameterSetter</span></a></li>
 <li><a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window" target="classFrame"><span class="interfaceName">Partition</span></a></li>
 <li><a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window" target="classFrame">PartitionedState</a></li>
 <li><a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Peek</a></li>
 <li><a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">Peek</a></li>
-<li><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor" target="classFrame">PeriodicRandomSensor</a></li>
 <li><a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core" target="classFrame">PeriodicSource</a></li>
-<li><a href="org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology" target="classFrame">PeriodicSource</a></li>
-<li><a href="org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics" target="classFrame">PeriodicSourceWithMetrics</a></li>
 <li><a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans" target="classFrame"><span class="interfaceName">PeriodMXBean</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">Person</a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">PersonData</a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">PersonId</a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327" target="classFrame">Pids01</a></li>
 <li><a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Pipe</a></li>
 <li><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing" target="classFrame">PlumbingStreams</a></li>
 <li><a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window" target="classFrame">Policies</a></li>
@@ -191,8 +144,6 @@
 <li><a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core" target="classFrame">ProcessSource</a></li>
 <li><a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service" target="classFrame">ProviderPubSub</a></li>
 <li><a href="org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets" target="classFrame">Publish</a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">PublisherApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">PublisherApp</a></li>
 <li><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub" target="classFrame">PublishSubscribe</a></li>
 <li><a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service" target="classFrame"><span class="interfaceName">PublishSubscribeService</span></a></li>
 <li><a href="org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">QoS</span></a></li>
@@ -201,38 +152,22 @@
 <li><a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors" target="classFrame">Ranges</a></li>
 <li><a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets" target="classFrame">RateMeter</a></li>
 <li><a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Regression</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Regression2</a></li>
+<li><a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">ResultMap</a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">ResultsHandler</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">Runner</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">Runner</a></li>
 <li><a href="org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services" target="classFrame"><span class="interfaceName">RuntimeServices</span></a></li>
-<li><a href="org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics" target="classFrame">Sensor1</a></li>
-<li><a href="org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics" target="classFrame">SensorAnalyticsApplication</a></li>
-<li><a href="org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology" target="classFrame">SensorsAggregates</a></li>
 <li><a href="org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial" target="classFrame"><span class="interfaceName">SerialDevice</span></a></li>
 <li><a href="org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial" target="classFrame"><span class="interfaceName">SerialPort</span></a></li>
 <li><a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services" target="classFrame">ServiceContainer</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">SettableForwarder</a></li>
-<li><a href="org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology" target="classFrame">SimpleFilterTransform</a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">SimplePublisherApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">SimplePublisherApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">SimpleReaderApp</a></li>
-<li><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor" target="classFrame">SimpleSimulatedSensor</a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">SimpleSubscriberApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">SimpleSubscriberApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">SimpleWriterApp</a></li>
-<li><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps" target="classFrame">SimulatedGeofence</a></li>
-<li><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps" target="classFrame">SimulatedGpsSensor</a></li>
-<li><a href="org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor" target="classFrame">SimulatedSensors</a></li>
-<li><a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor" target="classFrame">SimulatedTemperatureSensor</a></li>
 <li><a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets" target="classFrame">SingleMetricAbstractOplet</a></li>
 <li><a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Sink</a></li>
 <li><a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Source</a></li>
 <li><a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Split</a></li>
-<li><a href="org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology" target="classFrame">SplitWithEnumSample</a></li>
-<li><a href="org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology" target="classFrame">SplitWithEnumSample.LogSeverityEnum</a></li>
-<li><a href="org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics" target="classFrame">SplitWithMetrics</a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">StatementSupplier</span></a></li>
 <li><a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Statistic</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Statistic2</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat" target="classFrame">StorelessStatistic</a></li>
 <li><a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets" target="classFrame">StreamScope</a></li>
 <li><a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScope</a></li>
 <li><a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScope.BufferManager</a></li>
@@ -244,14 +179,10 @@
 <li><a href="org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScopeRegistryBean</a></li>
 <li><a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans" target="classFrame"><span class="interfaceName">StreamScopeRegistryMXBean</span></a></li>
 <li><a href="org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScopeSetup</a></li>
-<li><a href="org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology" target="classFrame">StreamTags</a></li>
 <li><a href="org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution" target="classFrame"><span class="interfaceName">Submitter</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">SubscriberApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">SubscriberApp</a></li>
 <li><a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">Supplier</span></a></li>
 <li><a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">SupplierPeriodicSource</a></li>
 <li><a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">SupplierSource</a></li>
-<li><a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology" target="classFrame">TerminateAfterNTuples</a></li>
 <li><a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester" target="classFrame"><span class="interfaceName">Tester</span></a></li>
 <li><a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">ThreadFactoryTracker</a></li>
 <li><a href="org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">ToDoubleFunction</span></a></li>
@@ -260,8 +191,6 @@
 <li><a href="org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services" target="classFrame"><span class="interfaceName">TopologyBuilder</span></a></li>
 <li><a href="org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TopologyElement</span></a></li>
 <li><a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TopologyProvider</span></a></li>
-<li><a href="org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps" target="classFrame">TopologyProviderFactory</a></li>
-<li><a href="org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt" target="classFrame">TopologyTestBasic</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">TrackingScheduledExecutor</a></li>
 <li><a href="org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TSink</span></a></li>
 <li><a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TStream</span></a></li>
@@ -270,8 +199,9 @@
 <li><a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">TWindowTimeImpl</a></li>
 <li><a href="org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">UnaryOperator</span></a></li>
 <li><a href="org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Union</a></li>
+<li><a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3" target="classFrame"><span class="interfaceName">UnivariateAggregate</span></a></li>
+<li><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3" target="classFrame"><span class="interfaceName">UnivariateAggregator</span></a></li>
 <li><a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing" target="classFrame">UnorderedIsolate</a></li>
-<li><a href="org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors" target="classFrame">Util</a></li>
 <li><a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing" target="classFrame">Valve</a></li>
 <li><a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Vertex</span></a></li>
 <li><a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model" target="classFrame">VertexType</a></li>
diff --git a/site/javadoc/latest/allclasses-noframe.html b/site/javadoc/latest/allclasses-noframe.html
index 1e45642..75463f7 100644
--- a/site/javadoc/latest/allclasses-noframe.html
+++ b/site/javadoc/latest/allclasses-noframe.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>All Classes (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>All Classes (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,12 +13,9 @@
 <h1 class="bar">All&nbsp;Classes</h1>
 <div class="indexContainer">
 <ul>
-<li><a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a></li>
 <li><a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a></li>
 <li><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></li>
-<li><a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a></li>
-<li><a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></li>
 <li><a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></li>
 <li><a href="org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">AbstractTester</a></li>
 <li><a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></li>
@@ -26,9 +24,9 @@
 <li><a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a></li>
 <li><a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">AbstractVertex</a></li>
 <li><a href="org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a></li>
+<li><a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></li>
 <li><a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><span class="interfaceName">ApplicationService</span></a></li>
 <li><a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><span class="interfaceName">ApplicationServiceMXBean</span></a></li>
-<li><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></li>
 <li><a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></li>
 <li><a href="org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice">AppServiceControl</a></li>
 <li><a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a></li>
@@ -36,9 +34,6 @@
 <li><a href="org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><span class="interfaceName">BiFunction</span></a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="interfaceName">CheckedFunction</span></a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="interfaceName">CheckedSupplier</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327"><span class="interfaceName">Cmd</span></a></li>
-<li><a href="org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology">CombiningStreamsProcessingResults</a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime">CommandExecutor</a></li>
 <li><a href="org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot"><span class="interfaceName">Commands</span></a></li>
 <li><a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></li>
 <li><a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">CompressedFileWriterPolicy</a></li>
@@ -46,30 +41,20 @@
 <li><a href="org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution"><span class="interfaceName">Configs</span></a></li>
 <li><a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph"><span class="interfaceName">Connector</span></a></li>
 <li><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></li>
-<li><a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console">ConsoleWaterDetector</a></li>
 <li><a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><span class="interfaceName">Consumer</span></a></li>
 <li><a href="org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services">Controls</a></li>
 <li><a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><span class="interfaceName">ControlService</span></a></li>
 <li><a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a></li>
 <li><a href="org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv">Csv</a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc">DbUtils</a></li>
 <li><a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a></li>
-<li><a href="org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology">DevelopmentMetricsSample</a></li>
 <li><a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></li>
-<li><a href="org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology">DevelopmentSample</a></li>
-<li><a href="org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology">DevelopmentSampleJobMXBean</a></li>
-<li><a href="org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt">DeviceCommsApp</a></li>
 <li><a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></li>
 <li><a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></li>
 <li><a href="org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution"><span class="interfaceName">DirectSubmitter</span></a></li>
 <li><a href="org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></li>
 <li><a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><span class="interfaceName">Edge</span></a></li>
-<li><a href="org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">EdgentSslContainerProvider</a></li>
-<li><a href="org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl">EdgentSslContainerProviderImpl</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327">Elm327Streams</a></li>
 <li><a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></li>
@@ -79,9 +64,7 @@
 <li><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a></li>
 <li><a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></li>
 <li><a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a></li>
-<li><a href="org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file">FileReaderApp</a></li>
 <li><a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">FileStreams</a></li>
-<li><a href="org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file">FileWriterApp</a></li>
 <li><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></li>
 <li><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></li>
 <li><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></li>
@@ -89,20 +72,14 @@
 <li><a href="org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a></li>
 <li><a href="org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors">Filters</a></li>
 <li><a href="org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a></li>
-<li><a href="org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a></li>
 <li><a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><span class="interfaceName">Function</span></a></li>
 <li><a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></li>
-<li><a href="org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">GpsAnalyticsApplication</a></li>
-<li><a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></li>
 <li><a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><span class="interfaceName">Graph</span></a></li>
 <li><a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">GraphType</a></li>
 <li><a href="org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot">HeartBeat</a></li>
-<li><a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor">HeartMonitorSensor</a></li>
-<li><a href="org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology">HelloEdgent</a></li>
 <li><a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">HttpClients</a></li>
 <li><a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">HttpResponders</a></li>
-<li><a href="org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console">HttpServerSample</a></li>
 <li><a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">HttpStreams</a></li>
 <li><a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></li>
@@ -111,16 +88,9 @@
 <li><a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><span class="interfaceName">IotDevice</span></a></li>
 <li><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">IotDevicePubSub</a></li>
 <li><a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot"><span class="interfaceName">IotGateway</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpAppClient</a></li>
 <li><a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpDeviceSample</a></li>
-<li><a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp">IotpFullScenario</a></li>
 <li><a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpGWDeviceSample</a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpQuickstart</a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpQuickstart2</a></li>
 <li><a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpSensors</a></li>
 <li><a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">JdbcStreams</a></li>
 <li><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></li>
@@ -130,8 +100,6 @@
 <li><a href="org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></li>
 <li><a href="org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet"><span class="interfaceName">JobContext</span></a></li>
 <li><a href="org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry">JobEvents</a></li>
-<li><a href="org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology">JobEventsSample</a></li>
-<li><a href="org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology">JobExecution</a></li>
 <li><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">JobMonitorApp</a></li>
 <li><a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="interfaceName">JobMXBean</span></a></li>
 <li><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></li>
@@ -141,11 +109,9 @@
 <li><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></li>
 <li><a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></li>
 <li><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></li>
-<li><a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></li>
 <li><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="interfaceName">JsonUnivariateAggregate</span></a></li>
 <li><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="interfaceName">JsonUnivariateAggregator</span></a></li>
 <li><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka">KafkaClient</a></li>
 <li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">KafkaConsumer</a></li>
 <li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="interfaceName">KafkaConsumer.ByteConsumerRecord</span></a></li>
 <li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="interfaceName">KafkaConsumer.ConsumerRecord</span></a></li>
@@ -156,33 +122,20 @@
 <li><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></li>
 <li><a href="org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics">Metrics</a></li>
 <li><a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt">MqttClient</a></li>
 <li><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></li>
 <li><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></li>
 <li><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">MqttStreams</a></li>
-<li><a href="org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors">MsgSupplier</a></li>
-<li><a href="org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a></li>
-<li><a href="org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt">MyClass2</a></li>
-<li><a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2">Obd2Streams</a></li>
-<li><a href="org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">ObdAnalyticsApplication</a></li>
+<li><a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a></li>
 <li><a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><span class="interfaceName">Oplet</span></a></li>
 <li><a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><span class="interfaceName">OpletContext</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a></li>
 <li><a href="org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet"><span class="interfaceName">OutputPortContext</span></a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="interfaceName">ParameterSetter</span></a></li>
 <li><a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="interfaceName">Partition</span></a></li>
 <li><a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">PartitionedState</a></li>
 <li><a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></li>
 <li><a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a></li>
-<li><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></li>
 <li><a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></li>
-<li><a href="org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology">PeriodicSource</a></li>
-<li><a href="org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">PeriodicSourceWithMetrics</a></li>
 <li><a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="interfaceName">PeriodMXBean</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonData</a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonId</a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></li>
 <li><a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></li>
 <li><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></li>
 <li><a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></li>
@@ -191,8 +144,6 @@
 <li><a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a></li>
 <li><a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">ProviderPubSub</a></li>
 <li><a href="org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Publish</a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka">PublisherApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">PublisherApp</a></li>
 <li><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">PublishSubscribe</a></li>
 <li><a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service"><span class="interfaceName">PublishSubscribeService</span></a></li>
 <li><a href="org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><span class="interfaceName">QoS</span></a></li>
@@ -201,38 +152,22 @@
 <li><a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></li>
 <li><a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a></li>
 <li><a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></li>
+<li><a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="interfaceName">ResultsHandler</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka">Runner</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt">Runner</a></li>
 <li><a href="org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><span class="interfaceName">RuntimeServices</span></a></li>
-<li><a href="org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">Sensor1</a></li>
-<li><a href="org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a></li>
-<li><a href="org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology">SensorsAggregates</a></li>
 <li><a href="org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial"><span class="interfaceName">SerialDevice</span></a></li>
 <li><a href="org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><span class="interfaceName">SerialPort</span></a></li>
 <li><a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">SettableForwarder</a></li>
-<li><a href="org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology">SimpleFilterTransform</a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka">SimplePublisherApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">SimplePublisherApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc">SimpleReaderApp</a></li>
-<li><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka">SimpleSubscriberApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">SimpleSubscriberApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc">SimpleWriterApp</a></li>
-<li><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGeofence</a></li>
-<li><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGpsSensor</a></li>
-<li><a href="org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedSensors</a></li>
-<li><a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedTemperatureSensor</a></li>
 <li><a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a></li>
 <li><a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></li>
 <li><a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></li>
 <li><a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a></li>
-<li><a href="org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology">SplitWithEnumSample</a></li>
-<li><a href="org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a></li>
-<li><a href="org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">SplitWithMetrics</a></li>
 <li><a href="org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="interfaceName">StatementSupplier</span></a></li>
 <li><a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></li>
 <li><a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a></li>
 <li><a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></li>
 <li><a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a></li>
@@ -244,14 +179,10 @@
 <li><a href="org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistryBean</a></li>
 <li><a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="interfaceName">StreamScopeRegistryMXBean</span></a></li>
 <li><a href="org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope">StreamScopeSetup</a></li>
-<li><a href="org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology">StreamTags</a></li>
 <li><a href="org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution"><span class="interfaceName">Submitter</span></a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka">SubscriberApp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">SubscriberApp</a></li>
 <li><a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="interfaceName">Supplier</span></a></li>
 <li><a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a></li>
 <li><a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a></li>
-<li><a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology">TerminateAfterNTuples</a></li>
 <li><a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester"><span class="interfaceName">Tester</span></a></li>
 <li><a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">ThreadFactoryTracker</a></li>
 <li><a href="org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><span class="interfaceName">ToDoubleFunction</span></a></li>
@@ -260,8 +191,6 @@
 <li><a href="org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><span class="interfaceName">TopologyBuilder</span></a></li>
 <li><a href="org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="interfaceName">TopologyElement</span></a></li>
 <li><a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><span class="interfaceName">TopologyProvider</span></a></li>
-<li><a href="org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps">TopologyProviderFactory</a></li>
-<li><a href="org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt">TopologyTestBasic</a></li>
 <li><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></li>
 <li><a href="org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><span class="interfaceName">TSink</span></a></li>
 <li><a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><span class="interfaceName">TStream</span></a></li>
@@ -270,8 +199,9 @@
 <li><a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a></li>
 <li><a href="org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function"><span class="interfaceName">UnaryOperator</span></a></li>
 <li><a href="org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a></li>
+<li><a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="interfaceName">UnivariateAggregate</span></a></li>
+<li><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="interfaceName">UnivariateAggregator</span></a></li>
 <li><a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a></li>
-<li><a href="org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors">Util</a></li>
 <li><a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a></li>
 <li><a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><span class="interfaceName">Vertex</span></a></li>
 <li><a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a></li>
diff --git a/site/javadoc/latest/constant-values.html b/site/javadoc/latest/constant-values.html
index ae340a5..679d3dc 100644
--- a/site/javadoc/latest/constant-values.html
+++ b/site/javadoc/latest/constant-values.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Constant Field Values (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Constant Field Values (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Constant Field Values (Edgent v1.1.0)";
+            parent.document.title="Constant Field Values (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -93,7 +94,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate.N">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#N">N</a></code></td>
 <td class="colLast"><code>"N"</code></td>
 </tr>
@@ -114,21 +115,21 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.apps.iot.IotDevicePubSub.APP_NAME">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#APP_NAME">APP_NAME</a></code></td>
 <td class="colLast"><code>"edgentIotDevicePubSub"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.edgent.apps.iot.IotDevicePubSub.COMMANDS_TOPIC">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#COMMANDS_TOPIC">COMMANDS_TOPIC</a></code></td>
 <td class="colLast"><code>"edgent/iot/commands"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.apps.iot.IotDevicePubSub.EVENTS_TOPIC">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#EVENTS_TOPIC">EVENTS_TOPIC</a></code></td>
 <td class="colLast"><code>"edgent/iot/events"</code></td>
 </tr>
@@ -149,7 +150,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.apps.runtime.JobMonitorApp.APP_NAME">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html#APP_NAME">APP_NAME</a></code></td>
 <td class="colLast"><code>"edgentJobMonitorApp"</code></td>
 </tr>
@@ -170,7 +171,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.iot.Commands.CONTROL_SERVICE">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/iot/Commands.html#CONTROL_SERVICE">CONTROL_SERVICE</a></code></td>
 <td class="colLast"><code>"edgentControl"</code></td>
 </tr>
@@ -189,7 +190,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.iot.Events.IOT_START">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/iot/Events.html#IOT_START">IOT_START</a></code></td>
 <td class="colLast"><code>"edgentIotStart"</code></td>
 </tr>
@@ -208,42 +209,42 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.CMD_DEVICE">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE">CMD_DEVICE</a></code></td>
 <td class="colLast"><code>"device"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.CMD_FORMAT">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT">CMD_FORMAT</a></code></td>
 <td class="colLast"><code>"format"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.CMD_ID">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID">CMD_ID</a></code></td>
 <td class="colLast"><code>"command"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.CMD_PAYLOAD">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD">CMD_PAYLOAD</a></code></td>
 <td class="colLast"><code>"payload"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.CMD_TS">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS">CMD_TS</a></code></td>
 <td class="colLast"><code>"tsms"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.RESERVED_ID_PREFIX">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX">RESERVED_ID_PREFIX</a></code></td>
 <td class="colLast"><code>"edgent"</code></td>
 </tr>
@@ -264,7 +265,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.iotp.IotpDevice.QUICKSTART_DEVICE_TYPE">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#QUICKSTART_DEVICE_TYPE">QUICKSTART_DEVICE_TYPE</a></code></td>
 <td class="colLast"><code>"iotsamples-edgent"</code></td>
 </tr>
@@ -283,14 +284,14 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.iotp.IotpGateway.ATTR_DEVICE_ID">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_ID">ATTR_DEVICE_ID</a></code></td>
 <td class="colLast"><code>"deviceId"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.iotp.IotpGateway.ATTR_DEVICE_TYPE">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_TYPE">ATTR_DEVICE_TYPE</a></code></td>
 <td class="colLast"><code>"deviceType"</code></td>
 </tr>
@@ -311,7 +312,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.connectors.pubsub.PublishSubscribe.RESERVED_TOPIC_PREFIX">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html#RESERVED_TOPIC_PREFIX">RESERVED_TOPIC_PREFIX</a></code></td>
 <td class="colLast"><code>"edgent/"</code></td>
 </tr>
@@ -332,7 +333,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.execution.Configs.JOB_NAME">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/execution/Configs.html#JOB_NAME">JOB_NAME</a></code></td>
 <td class="colLast"><code>"jobName"</code></td>
 </tr>
@@ -353,7 +354,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.execution.mbeans.JobMXBean.TYPE">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/execution/mbeans/JobMXBean.html#TYPE">TYPE</a></code></td>
 <td class="colLast"><code>"job"</code></td>
 </tr>
@@ -395,49 +396,49 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.KEY_JOBID">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_JOBID">KEY_JOBID</a></code></td>
 <td class="colLast"><code>"jobId"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.KEY_NAME">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_NAME">KEY_NAME</a></code></td>
 <td class="colLast"><code>"name"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.KEY_OPID">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_OPID">KEY_OPID</a></code></td>
 <td class="colLast"><code>"opId"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.KEY_TYPE">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_TYPE">KEY_TYPE</a></code></td>
 <td class="colLast"><code>"type"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.PREFIX_JOBID">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#PREFIX_JOBID">PREFIX_JOBID</a></code></td>
 <td class="colLast"><code>"JOB_"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.PREFIX_OPID">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#PREFIX_OPID">PREFIX_OPID</a></code></td>
 <td class="colLast"><code>"OP_"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.TYPE_PREFIX">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#TYPE_PREFIX">TYPE_PREFIX</a></code></td>
 <td class="colLast"><code>"metric"</code></td>
 </tr>
@@ -458,7 +459,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.metrics.oplets.CounterOp.METRIC_NAME">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/metrics/oplets/CounterOp.html#METRIC_NAME">METRIC_NAME</a></code></td>
 <td class="colLast"><code>"TupleCounter"</code></td>
 </tr>
@@ -477,7 +478,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.metrics.oplets.RateMeter.METRIC_NAME">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/metrics/oplets/RateMeter.html#METRIC_NAME">METRIC_NAME</a></code></td>
 <td class="colLast"><code>"TupleRateMeter"</code></td>
 </tr>
@@ -498,7 +499,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.providers.development.DevelopmentProvider.JMX_DOMAIN">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/providers/development/DevelopmentProvider.html#JMX_DOMAIN">JMX_DOMAIN</a></code></td>
 <td class="colLast"><code>"org.apache.edgent.providers.development"</code></td>
 </tr>
@@ -519,7 +520,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.providers.iot.IotProvider.CONTROL_APP_NAME">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/providers/iot/IotProvider.html#CONTROL_APP_NAME">CONTROL_APP_NAME</a></code></td>
 <td class="colLast"><code>"edgentIotCommandsToControl"</code></td>
 </tr>
@@ -540,7 +541,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.runtime.etiao.EtiaoJob.ID_PREFIX">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#ID_PREFIX">ID_PREFIX</a></code></td>
 <td class="colLast"><code>"JOB_"</code></td>
 </tr>
@@ -559,7 +560,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.runtime.etiao.Invocation.ID_PREFIX">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/runtime/etiao/Invocation.html#ID_PREFIX">ID_PREFIX</a></code></td>
 <td class="colLast"><code>"OP_"</code></td>
 </tr>
@@ -580,28 +581,28 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.runtime.jsoncontrol.JsonControlService.ALIAS_KEY">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ALIAS_KEY">ALIAS_KEY</a></code></td>
 <td class="colLast"><code>"alias"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.edgent.runtime.jsoncontrol.JsonControlService.ARGS_KEY">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ARGS_KEY">ARGS_KEY</a></code></td>
 <td class="colLast"><code>"args"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.runtime.jsoncontrol.JsonControlService.OP_KEY">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#OP_KEY">OP_KEY</a></code></td>
 <td class="colLast"><code>"op"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.edgent.runtime.jsoncontrol.JsonControlService.TYPE_KEY">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#TYPE_KEY">TYPE_KEY</a></code></td>
 <td class="colLast"><code>"type"</code></td>
 </tr>
@@ -612,137 +613,6 @@
 <ul class="blockList">
 <li class="blockList">
 <table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.edgent.samples.apps.JsonTuples.KEY_AGG_BEGIN_TS">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/edgent/samples/apps/JsonTuples.html#KEY_AGG_BEGIN_TS">KEY_AGG_BEGIN_TS</a></code></td>
-<td class="colLast"><code>"agg.begin.msec"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.edgent.samples.apps.JsonTuples.KEY_AGG_COUNT">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/edgent/samples/apps/JsonTuples.html#KEY_AGG_COUNT">KEY_AGG_COUNT</a></code></td>
-<td class="colLast"><code>"agg.count"</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.edgent.samples.apps.JsonTuples.KEY_ID">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/edgent/samples/apps/JsonTuples.html#KEY_ID">KEY_ID</a></code></td>
-<td class="colLast"><code>"id"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.edgent.samples.apps.JsonTuples.KEY_READING">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/edgent/samples/apps/JsonTuples.html#KEY_READING">KEY_READING</a></code></td>
-<td class="colLast"><code>"reading"</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.edgent.samples.apps.JsonTuples.KEY_TS">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/edgent/samples/apps/JsonTuples.html#KEY_TS">KEY_TS</a></code></td>
-<td class="colLast"><code>"msec"</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<ul class="blockList">
-<li class="blockList">
-<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.edgent.samples.connectors.elm327.Cmd.PID">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html#PID">PID</a></code></td>
-<td class="colLast"><code>"pid"</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.edgent.samples.connectors.elm327.Cmd.TS">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html#TS">TS</a></code></td>
-<td class="colLast"><code>"ts"</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.edgent.samples.connectors.elm327.Cmd.VALUE">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
-<td><code><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html#VALUE">VALUE</a></code></td>
-<td class="colLast"><code>"value"</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<ul class="blockList">
-<li class="blockList">
-<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology">JobExecution</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.edgent.samples.topology.JobExecution.JOB_LIFE_MILLIS">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
-<td><code><a href="org/apache/edgent/samples/topology/JobExecution.html#JOB_LIFE_MILLIS">JOB_LIFE_MILLIS</a></code></td>
-<td class="colLast"><code>10000L</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.edgent.samples.topology.JobExecution.WAIT_AFTER_CLOSE">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
-<td><code><a href="org/apache/edgent/samples/topology/JobExecution.html#WAIT_AFTER_CLOSE">WAIT_AFTER_CLOSE</a></code></td>
-<td class="colLast"><code>2000L</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology">TerminateAfterNTuples</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th scope="col">Constant Field</th>
-<th class="colLast" scope="col">Value</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.edgent.samples.topology.TerminateAfterNTuples.TERMINATE_COUNT">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html#TERMINATE_COUNT">TERMINATE_COUNT</a></code></td>
-<td class="colLast"><code>15</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<ul class="blockList">
-<li class="blockList">
-<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -753,7 +623,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.streamscope.mbeans.StreamScopeMXBean.TYPE">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#TYPE">TYPE</a></code></td>
 <td class="colLast"><code>"streamScope"</code></td>
 </tr>
@@ -772,7 +642,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean.TYPE">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#TYPE">TYPE</a></code></td>
 <td class="colLast"><code>"streamScopeRegistry"</code></td>
 </tr>
@@ -793,7 +663,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.topology.TStream.TYPE">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/topology/TStream.html#TYPE">TYPE</a></code></td>
 <td class="colLast"><code>"stream"</code></td>
 </tr>
@@ -814,7 +684,7 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.topology.mbeans.ApplicationServiceMXBean.TYPE">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#TYPE">TYPE</a></code></td>
 <td class="colLast"><code>"appService"</code></td>
 </tr>
@@ -835,14 +705,14 @@
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.edgent.topology.services.ApplicationService.ALIAS">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/topology/services/ApplicationService.html#ALIAS">ALIAS</a></code></td>
 <td class="colLast"><code>"edgent"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.edgent.topology.services.ApplicationService.SYSTEM_APP_PREFIX">
 <!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/edgent/topology/services/ApplicationService.html#SYSTEM_APP_PREFIX">SYSTEM_APP_PREFIX</a></code></td>
 <td class="colLast"><code>"edgent"</code></td>
 </tr>
@@ -869,7 +739,6 @@
 <li><a href="index-all.html">Index</a></li>
 <li><a href="help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -899,6 +768,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/deprecated-list.html b/site/javadoc/latest/deprecated-list.html
index bac0a0b..39343ff 100644
--- a/site/javadoc/latest/deprecated-list.html
+++ b/site/javadoc/latest/deprecated-list.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Deprecated List (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Deprecated List (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Deprecated List (Edgent v1.1.0)";
+            parent.document.title="Deprecated List (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="index-all.html">Index</a></li>
 <li><a href="help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/help-doc.html b/site/javadoc/latest/help-doc.html
index 1dbdacb..7d383c7 100644
--- a/site/javadoc/latest/help-doc.html
+++ b/site/javadoc/latest/help-doc.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>API Help (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>API Help (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="API Help (Edgent v1.1.0)";
+            parent.document.title="API Help (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -196,7 +197,6 @@
 <li><a href="index-all.html">Index</a></li>
 <li class="navBarCell1Rev">Help</li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/index-all.html b/site/javadoc/latest/index-all.html
index 895f84a..8fb3e11 100644
--- a/site/javadoc/latest/index-all.html
+++ b/site/javadoc/latest/index-all.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Index (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Index (Edgent v1.1.0)";
+            parent.document.title="Index (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -74,12 +75,6 @@
 </a>
 <h2 class="title">A</h2>
 <dl>
-<dt><a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">AbstractApplication</span></a> - Class in <a href="org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></dt>
-<dd>
-<div class="block">An Application base class.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/AbstractApplication.html#AbstractApplication-java.lang.String-">AbstractApplication(String)</a></span> - Constructor for class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">AbstractContext</span></a>&lt;<a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="type parameter in AbstractContext">I</a>,<a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="type parameter in AbstractContext">O</a>&gt; - Class in <a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></dt>
 <dd>
 <div class="block">Provides a skeletal implementation of the <a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><code>OpletContext</code></a>
@@ -101,18 +96,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#AbstractGraphJob--">AbstractGraphJob()</a></span> - Constructor for class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp"><span class="typeNameLink">AbstractIotpApplication</span></a> - Class in <a href="org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a></dt>
-<dd>
-<div class="block">An IotF Application base class.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#AbstractIotpApplication-java.lang.String-">AbstractIotpApplication(String)</a></span> - Constructor for class org.apache.edgent.test.svt.apps.iotp.<a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt"><span class="typeNameLink">AbstractMqttApplication</span></a> - Class in <a href="org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></dt>
-<dd>
-<div class="block">An MQTT Application base class.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#AbstractMqttApplication-java.lang.String-">AbstractMqttApplication(String)</a></span> - Constructor for class org.apache.edgent.samples.apps.mqtt.<a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;<a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">I</a>,<a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">O</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/AbstractOplet.html#AbstractOplet--">AbstractOplet()</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></dt>
@@ -186,26 +169,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/window/InsertionTimeList.html#add-T-">add(T)</a></span> - Method in class org.apache.edgent.window.<a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html#addAnalytics--">addAnalytics()</a></span> - Method in class org.apache.edgent.samples.apps.sensorAnalytics.<a href="org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">Sensor1</a></dt>
-<dd>
-<div class="block">Add the sensor's analytics to the topology.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html#addAnalytics--">addAnalytics()</a></span> - Method in class org.apache.edgent.test.svt.apps.<a href="org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">GpsAnalyticsApplication</a></dt>
-<dd>
-<div class="block">Add the GPS sensor analytics to the topology.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html#addAnalytics--">addAnalytics()</a></span> - Method in class org.apache.edgent.test.svt.apps.<a href="org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">ObdAnalyticsApplication</a></dt>
-<dd>
-<div class="block">Add the ODB sensor's analytics to the topology.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ServiceContainer.html#addCleaner-org.apache.edgent.function.BiConsumer-">addCleaner(BiConsumer&lt;String, String&gt;)</a></span> - Method in class org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></dt>
 <dd>
 <div class="block">Registers a new cleaner.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/Options.html#addHandler-java.lang.String-org.apache.edgent.function.Function-">addHandler(String, Function&lt;String, T&gt;)</a></span> - Method in class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/Options.html#addHandler-java.lang.String-org.apache.edgent.function.Function-T-">addHandler(String, Function&lt;String, T&gt;, T)</a></span> - Method in class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/HeartBeat.html#addHeartBeat-org.apache.edgent.connectors.iot.IotDevice-long-java.util.concurrent.TimeUnit-java.lang.String-">addHeartBeat(IotDevice, long, TimeUnit, String)</a></span> - Static method in class org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot">HeartBeat</a></dt>
 <dd>
 <div class="block">Add IoT device heart beat processing to a topology.</div>
@@ -267,6 +234,16 @@
 <dd>
 <div class="block">Invoked by the super class after each task execution.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate(Collection&lt;? extends Number&gt;, UnivariateAggregate)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
+<dd>
+<div class="block">Perform the specified <a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate(Collection&lt;T&gt;, ToDoubleFunction&lt;T&gt;, UnivariateAggregate)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
+<dd>
+<div class="block">Perform the specified <a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate(TWindow&lt;JsonObject, K&gt;, String, String, JsonUnivariateAggregate...)</a></span> - Static method in class org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></dt>
 <dd>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
@@ -299,10 +276,22 @@
 <div class="block">Create a Function that aggregates against a single <code>Numeric</code>
  variable contained in an JSON object.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html#alertFilter-org.apache.edgent.topology.TStream-int-boolean-">alertFilter(TStream&lt;JsonObject&gt;, int, boolean)</a></span> - Static method in class org.apache.edgent.samples.console.<a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console">ConsoleWaterDetector</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN(Collection&lt;? extends Number&gt;, UnivariateAggregate...)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
 <dd>
-<div class="block">Look through the stream and check to see if any of the measurements cause concern.</div>
+<div class="block">Perform the specified <a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN(Collection&lt;T&gt;, ToDoubleFunction&lt;T&gt;, UnivariateAggregate...)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
+<dd>
+<div class="block">Perform the specified <a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Aggregations</span></a> - Class in <a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></dt>
+<dd>
+<div class="block">Apache Common Math analytics for Collections.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#Aggregations--">Aggregations()</a></span> - Constructor for class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Connector.html#alias-java.lang.String-">alias(String)</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></dt>
 <dd>
 <div class="block">Set the alias for the connector.</div>
@@ -350,18 +339,13 @@
 </dd>
 <dt><a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">ApplicationService</span></a> - Interface in <a href="org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a></dt>
 <dd>
-<div class="block">Application registration service.</div>
+<div class="block">A service that allows registration of applications and
+ the ability to submit them through a control MBean.</div>
 </dd>
 <dt><a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><span class="typeNameLink">ApplicationServiceMXBean</span></a> - Interface in <a href="org/apache/edgent/topology/mbeans/package-summary.html">org.apache.edgent.topology.mbeans</a></dt>
 <dd>
 <div class="block">Control MBean for the application service.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">ApplicationUtilities</span></a> - Class in <a href="org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></dt>
-<dd>
-<div class="block">Some general purpose application configuration driven utilities.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html#ApplicationUtilities-java.util.Properties-">ApplicationUtilities(Properties)</a></span> - Constructor for class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html#apply-T-">apply(T)</a></span> - Method in interface org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a></dt>
 <dd>
 <div class="block">Apply a function to <code>t</code> and return the result.</div>
@@ -445,10 +429,6 @@
 <dd>
 <div class="block">WIoTP Device Type identifier key.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/Util.html#awaitState-org.apache.edgent.execution.Job-org.apache.edgent.execution.Job.State-long-java.util.concurrent.TimeUnit-">awaitState(Job, Job.State, long, TimeUnit)</a></span> - Static method in class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors">Util</a></dt>
-<dd>
-<div class="block">Wait for the job to reach the specified state.</div>
-</dd>
 </dl>
 <a name="I:B">
 <!--   -->
@@ -496,8 +476,6 @@
 <dd>
 <div class="block">Function that takes two arguments and returns a value.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#binary-byte:A-int-int-">binary(byte[], int, int)</a></span> - Static method in class org.apache.edgent.samples.connectors.elm327.runtime.<a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime">CommandExecutor</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingDelay(TStream&lt;T&gt;, long, TimeUnit)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
 <dd>
 <div class="block">Insert a blocking delay between tuples.</div>
@@ -517,36 +495,6 @@
 <dd>
 <div class="block">Get the <a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.BufferManager</code></a></div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/kafka/PublisherApp.html#buildAppTopology--">buildAppTopology()</a></span> - Method in class org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka">PublisherApp</a></dt>
-<dd>
-<div class="block">Create a topology for the publisher application.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/kafka/SubscriberApp.html#buildAppTopology--">buildAppTopology()</a></span> - Method in class org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka">SubscriberApp</a></dt>
-<dd>
-<div class="block">Create a topology for the subscriber application.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/mqtt/PublisherApp.html#buildAppTopology--">buildAppTopology()</a></span> - Method in class org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">PublisherApp</a></dt>
-<dd>
-<div class="block">Create a topology for the publisher application.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html#buildAppTopology--">buildAppTopology()</a></span> - Method in class org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">SubscriberApp</a></dt>
-<dd>
-<div class="block">Create a topology for the subscriber application.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology(Topology)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></dt>
-<dd>
-<div class="block">Build the application's topology.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology(Topology)</a></span> - Method in class org.apache.edgent.samples.apps.mqtt.<a href="org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt">DeviceCommsApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology(Topology)</a></span> - Method in class org.apache.edgent.samples.apps.sensorAnalytics.<a href="org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology(Topology)</a></span> - Method in class org.apache.edgent.test.svt.apps.<a href="org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimulatedSensors.html#burstySensor-org.apache.edgent.topology.Topology-java.lang.String-">burstySensor(Topology, String)</a></span> - Static method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedSensors</a></dt>
-<dd>
-<div class="block">Create a stream of simulated bursty sensor readings.</div>
-</dd>
 </dl>
 <a name="I:C">
 <!--   -->
@@ -578,6 +526,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#clear-com.google.gson.JsonElement-int-">clear(JsonElement, int)</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#clear-int-">clear(int)</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html#clear-int-">clear(int)</a></span> - Method in interface org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></dt>
+<dd>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/window/InsertionTimeList.html#clear--">clear()</a></span> - Method in class org.apache.edgent.window.<a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#close--">close()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
@@ -644,10 +598,6 @@
 <div class="block">Closes a job using a <code>JobMXBean</code> control registered with the 
  specified <code>ControlService</code>.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Cmd</span></a> - Interface in <a href="org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></dt>
-<dd>
-<div class="block">ELM327 and OBD-II command interface.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE">CMD_DEVICE</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
 <dd>
 <div class="block">Device identifier key.</div>
@@ -674,27 +624,6 @@
 <dd>
 <div class="block">Declare a stream of constants from a collection.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">CombiningStreamsProcessingResults</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>
-<div class="block">Applying different processing against a set of streams and combining the
- resulting streams into a single stream.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html#CombiningStreamsProcessingResults--">CombiningStreamsProcessingResults()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology">CombiningStreamsProcessingResults</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime"><span class="typeNameLink">CommandExecutor</span></a> - Class in <a href="org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html">org.apache.edgent.samples.connectors.elm327.runtime</a></dt>
-<dd>
-<div class="block">Runtime execution of ELM327 &amp; OBD-II commands.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#CommandExecutor--">CommandExecutor()</a></span> - Constructor for class org.apache.edgent.samples.connectors.elm327.runtime.<a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime">CommandExecutor</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#commandId-java.lang.String-java.lang.String-">commandId(String, String)</a></span> - Method in class org.apache.edgent.samples.apps.mqtt.<a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></dt>
-<dd>
-<div class="block">Compose a MqttDevice commandId for the sensor</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#commandId-java.lang.String-java.lang.String-">commandId(String, String)</a></span> - Method in class org.apache.edgent.test.svt.apps.iotp.<a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a></dt>
-<dd>
-<div class="block">Compose a IotpDevice commandId for the sensor</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#commandReaderList-java.lang.ProcessBuilder-">commandReaderList(ProcessBuilder)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
 <dd>
 <div class="block">Create a <code>Supplier&lt;List&lt;String&gt;&gt;</code> to ingest a command's output.</div>
@@ -714,7 +643,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#commands-java.lang.String...-">commands(String...)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-">commands(String...)</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#COMMANDS_TOPIC">COMMANDS_TOPIC</a></span> - Static variable in class org.apache.edgent.apps.iot.<a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">IotDevicePubSub</a></dt>
 <dd>
 <div class="block">Device commands are published to "edgent/iot/commands" by
@@ -800,10 +731,6 @@
 <dd>
 <div class="block">Function representing if a condition is valid or not.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/AbstractApplication.html#config--">config()</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></dt>
-<dd>
-<div class="block">Get the application's raw configuration information.</div>
-</dd>
 <dt><a href="org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Configs</span></a> - Interface in <a href="org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></dt>
 <dd>
 <div class="block">Configuration property names.</div>
@@ -824,12 +751,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#connectPipe-N-">connectPipe(N)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console"><span class="typeNameLink">ConsoleWaterDetector</span></a> - Class in <a href="org/apache/edgent/samples/console/package-summary.html">org.apache.edgent.samples.console</a></dt>
-<dd>
-<div class="block">Demonstrates some of the features of the console.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html#ConsoleWaterDetector--">ConsoleWaterDetector()</a></span> - Constructor for class org.apache.edgent.samples.console.<a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console">ConsoleWaterDetector</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Consumer</span></a>&lt;<a href="org/apache/edgent/function/Consumer.html" title="type parameter in Consumer">T</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
 <dd>
 <div class="block">Function that consumes a value.</div>
@@ -934,22 +855,12 @@
 <dd>
 <div class="block">Utilities for working with CSV strings.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html#currentDiastolic">currentDiastolic</a></span> - Variable in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor">HeartMonitorSensor</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html#currentSystolic">currentSystolic</a></span> - Variable in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor">HeartMonitorSensor</a></dt>
-<dd>&nbsp;</dd>
 </dl>
 <a name="I:D">
 <!--   -->
 </a>
 <h2 class="title">D</h2>
 <dl>
-<dt><a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">DbUtils</span></a> - Class in <a href="org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a></dt>
-<dd>
-<div class="block">Utilities for the sample's non-streaming JDBC database related actions.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html#DbUtils--">DbUtils()</a></span> - Constructor for class org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc">DbUtils</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-long-java.util.concurrent.TimeUnit-">deadband(TStream&lt;T&gt;, Function&lt;T, V&gt;, Predicate&lt;V&gt;, long, TimeUnit)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors">Filters</a></dt>
 <dd>
 <div class="block">Deadband filter with maximum suppression time.</div>
@@ -997,29 +908,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#derived-org.apache.edgent.graph.Connector-">derived(Connector&lt;U&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">DevelopmentMetricsSample</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/DevelopmentMetricsSample.html#DevelopmentMetricsSample--">DevelopmentMetricsSample()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology">DevelopmentMetricsSample</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development"><span class="typeNameLink">DevelopmentProvider</span></a> - Class in <a href="org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></dt>
 <dd>
 <div class="block">Provider intended for development.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/providers/development/DevelopmentProvider.html#DevelopmentProvider--">DevelopmentProvider()</a></span> - Constructor for class org.apache.edgent.providers.development.<a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">DevelopmentSample</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/DevelopmentSample.html#DevelopmentSample--">DevelopmentSample()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology">DevelopmentSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">DevelopmentSampleJobMXBean</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html#DevelopmentSampleJobMXBean--">DevelopmentSampleJobMXBean()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology">DevelopmentSampleJobMXBean</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt"><span class="typeNameLink">DeviceCommsApp</span></a> - Class in <a href="org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></dt>
-<dd>
-<div class="block">An MQTT Device Communications client for watching device events
- and sending commands.</div>
-</dd>
 <dt><a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">DirectEdge</span></a> - Class in <a href="org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></dt>
 <dd>
 <div class="block">This class provides a simple implementation of the <a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><code>Edge</code></a> interface in
@@ -1078,10 +972,6 @@
 <dd>
 <div class="block">Disconnects the specified port by connecting to a no-op <code>Consumer</code> implementation.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html#displayMessages-org.apache.edgent.connectors.iot.IotDevice-boolean-">displayMessages(IotDevice, boolean)</a></span> - Static method in class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpSensors</a></dt>
-<dd>
-<div class="block">Subscribe to IoTP device commands with identifier <code>display</code>.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#doNothing--">doNothing()</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
 <dd>
 <div class="block">A <a href="org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><code>BiConsumer</code></a> policy which does nothing.</div>
@@ -1096,17 +986,6 @@
 <dd>
 <div class="block">Represents an edge between two Vertices.</div>
 </dd>
-<dt><a href="org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket"><span class="typeNameLink">EdgentSslContainerProvider</span></a> - Class in <a href="org/apache/edgent/javax/websocket/package-summary.html">org.apache.edgent.javax.websocket</a></dt>
-<dd>
-<div class="block">A <code>WebSocketContainer</code> provider for dealing with javax.websocket
- SSL issues.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html#EdgentSslContainerProvider--">EdgentSslContainerProvider()</a></span> - Constructor for class org.apache.edgent.javax.websocket.<a href="org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">EdgentSslContainerProvider</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl"><span class="typeNameLink">EdgentSslContainerProviderImpl</span></a> - Class in <a href="org/apache/edgent/javax/websocket/impl/package-summary.html">org.apache.edgent.javax.websocket.impl</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html#EdgentSslContainerProviderImpl--">EdgentSslContainerProviderImpl()</a></span> - Constructor for class org.apache.edgent.javax.websocket.impl.<a href="org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl">EdgentSslContainerProviderImpl</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">EdgeType</span></a> - Class in <a href="org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></dt>
 <dd>
 <div class="block">Represents an edge between two <a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>VertexType</code></a> nodes.</div>
@@ -1115,17 +994,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#EdgeType-org.apache.edgent.graph.Edge-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">EdgeType(Edge, IdMapper&lt;String&gt;)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Elm327Cmds</span></a> - Enum in <a href="org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></dt>
-<dd>
-<div class="block">ELM327 commands.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Elm327Streams</span></a> - Class in <a href="org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></dt>
-<dd>
-<div class="block">Streams fetching OBD-II data from an ELM327 through
- a serial device.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Elm327Streams.html#Elm327Streams--">Elm327Streams()</a></span> - Constructor for class org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327">Elm327Streams</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#endlessCommandReader-java.lang.ProcessBuilder-">endlessCommandReader(ProcessBuilder)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
 <dd>
 <div class="block">Create an endless <code>Supplier&lt;String&gt;</code> for ingesting a long running command's output.</div>
@@ -1186,9 +1054,13 @@
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events(TStream&lt;JsonObject&gt;, String, int)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events(TStream&lt;JsonObject&gt;, Function&lt;JsonObject, String&gt;, UnaryOperator&lt;JsonObject&gt;, Function&lt;JsonObject, Integer&gt;)</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Publish a stream's tuples as device events.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events(TStream&lt;JsonObject&gt;, String, int)</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Publish a stream's tuples as device events.</div>
+</dd>
 <dt><a href="org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Events</span></a>&lt;<a href="org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></dt>
 <dd>
 <div class="block">Generate tuples from events.</div>
@@ -1268,8 +1140,6 @@
 </dd>
 <dt><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">ExecutableVertex</span></a>&lt;<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">N</a> extends <a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">C</a>,<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt;,<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">C</a>,<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt; - Class in <a href="org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#execute-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">execute(Cmd, OutputStream, InputStream)</a></span> - Static method in class org.apache.edgent.samples.connectors.elm327.runtime.<a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime">CommandExecutor</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement(TStream&lt;T&gt;, Supplier&lt;String&gt;, ParameterSetter&lt;T&gt;, ResultsHandler&lt;T, R&gt;)</a></span> - Method in class org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">JdbcStreams</a></dt>
 <dd>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement and
@@ -1288,8 +1158,6 @@
 <dd>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#executeUntilOK-int-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">executeUntilOK(int, Cmd, OutputStream, InputStream)</a></span> - Static method in class org.apache.edgent.samples.connectors.elm327.runtime.<a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime">CommandExecutor</a></dt>
-<dd>&nbsp;</dd>
 </dl>
 <a name="I:F">
 <!--   -->
@@ -1329,22 +1197,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#fetchTuples--">fetchTuples()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file"><span class="typeNameLink">FileReaderApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/file/package-summary.html">org.apache.edgent.samples.connectors.file</a></dt>
-<dd>
-<div class="block">Watch a directory for files and convert their contents into a stream.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/file/FileReaderApp.html#FileReaderApp-java.lang.String-">FileReaderApp(String)</a></span> - Constructor for class org.apache.edgent.samples.connectors.file.<a href="org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file">FileReaderApp</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileStreams</span></a> - Class in <a href="org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></dt>
 <dd>
 <div class="block"><code>FileStreams</code> is a connector for integrating with file system objects.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file"><span class="typeNameLink">FileWriterApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/file/package-summary.html">org.apache.edgent.samples.connectors.file</a></dt>
-<dd>
-<div class="block">Write a TStream&lt;String&gt; to files.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/file/FileWriterApp.html#FileWriterApp-java.lang.String-">FileWriterApp(String)</a></span> - Constructor for class org.apache.edgent.samples.connectors.file.<a href="org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file">FileWriterApp</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterCycleConfig</span></a>&lt;<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="type parameter in FileWriterCycleConfig">T</a>&gt; - Class in <a href="org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></dt>
 <dd>
 <div class="block">FileWriter active file cycle configuration control.</div>
@@ -1400,27 +1256,17 @@
 <div class="block">Declare a new stream that maps tuples from this stream into one or
  more (or zero) tuples of a different type <code>U</code>.</div>
 </dd>
-<dt><a href="org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">FleetManagementAnalyticsClientApplication</span></a> - Class in <a href="org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></dt>
-<dd>
-<div class="block">A Global Positional System and On-Board Diagnostics application to perform
- analytics defined in <a href="org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>GpsAnalyticsApplication</code></a> and
- <a href="org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>ObdAnalyticsApplication</code></a>.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html#formatAlertOutput-com.google.gson.JsonObject-java.lang.String-java.lang.String-">formatAlertOutput(JsonObject, String, String)</a></span> - Static method in class org.apache.edgent.samples.console.<a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console">ConsoleWaterDetector</a></dt>
-<dd>
-<div class="block">Formats the output of the alert, containing the well id, sensor type and value of the sensor</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#fromBytes--">fromBytes()</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
 <dd>
-<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON</div>
+<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#fromProperties-java.util.Properties-">fromProperties(Properties)</a></span> - Static method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
 <dd>
-<div class="block">Create a new configuration from <code>Properties</code>.</div>
+<div class="block">Create a new configuration from <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><code>Properties</code></a>.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#fromString--">fromString()</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
 <dd>
-<div class="block">Create a new JsonObject from JSON</div>
+<div class="block">Create a new JsonObject from JSON.</div>
 </dd>
 <dt><a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Function</span></a>&lt;<a href="org/apache/edgent/function/Function.html" title="type parameter in Function">T</a>,<a href="org/apache/edgent/function/Function.html" title="type parameter in Function">R</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
 <dd>
@@ -1442,8 +1288,6 @@
 <dd>
 <div class="block">Control the flow of tuples to an output stream.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#geAltitude--">geAltitude()</a></span> - Method in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#generate-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-">generate(Topology, ProcessBuilder)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
 <dd>
 <div class="block">Create an endless <code>TStream&lt;String&gt;</code> from a long running command's output.</div>
@@ -1454,18 +1298,14 @@
 <dd>
 <div class="block">Declare an endless source stream.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#GEOFENCE_LATITUDE_MAX">GEOFENCE_LATITUDE_MAX</a></span> - Static variable in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGeofence</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#GEOFENCE_LATITUDE_MIN">GEOFENCE_LATITUDE_MIN</a></span> - Static variable in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGeofence</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#GEOFENCE_LONGITUDE_MAX">GEOFENCE_LONGITUDE_MAX</a></span> - Static variable in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGeofence</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#GEOFENCE_LONGITUDE_MIN">GEOFENCE_LONGITUDE_MIN</a></span> - Static variable in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGeofence</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic.html#get--">get()</a></span> - Method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></dt>
 <dd>
 <div class="block">Return a new instance of this statistic implementation.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html#get--">get()</a></span> - Method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></dt>
+<dd>
+<div class="block">Return a new instance of this statistic implementation.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html#get--">get()</a></span> - Method in interface org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a></dt>
 <dd>
 <div class="block">Get a result.</div>
@@ -1479,25 +1319,6 @@
 <div class="block">Supply a value, each call to this function may return
  a different value.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/MsgSupplier.html#get--">get()</a></span> - Method in class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors">MsgSupplier</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/Options.html#get-java.lang.String-">get(String)</a></span> - Method in class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/Options.html#get-java.lang.String-T-">get(String, T)</a></span> - Method in class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html#get--">get()</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor">HeartMonitorSensor</a></dt>
-<dd>
-<div class="block">Every call to this method returns a map containing a random systolic
- pressure and a random diastolic pressure.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#get--">get()</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></dt>
-<dd>
-<div class="block">Get the next sensor value as described in the class documentation.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#get--">get()</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedTemperatureSensor</a></dt>
-<dd>
-<div class="block">Get the next sensor value.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html#get--">get()</a></span> - Method in class org.apache.edgent.topology.spi.functions.<a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getActionTimeToWaitMillis--">getActionTimeToWaitMillis()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
@@ -1508,6 +1329,13 @@
 <dd>
 <div class="block">Get the file age configuration value.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#getAggregate--">getAggregate()</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html#getAggregate--">getAggregate()</a></span> - Method in interface org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></dt>
+<dd>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#getAggregateFileSize--">getAggregateFileSize()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
 <dd>
 <div class="block">Get the aggregate file size configuration value.</div>
@@ -1534,8 +1362,6 @@
 <dd>
 <div class="block">Returns the stream's alias if any.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/Options.html#getAll--">getAll()</a></span> - Method in class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/appservice/AppService.html#getApplicationNames--">getApplicationNames()</a></span> - Method in class org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/services/ApplicationService.html#getApplicationNames--">getApplicationNames()</a></span> - Method in interface org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></dt>
@@ -1564,12 +1390,6 @@
 <dd>
 <div class="block">Get the tuple count configuration value.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#getCommandValueString-com.google.gson.JsonObject-">getCommandValueString(JsonObject)</a></span> - Method in class org.apache.edgent.samples.apps.mqtt.<a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></dt>
-<dd>
-<div class="block">Extract a simple string valued command arg 
- from a <a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-"><code>MqttDevice.commands(String...)</code></a> returned
- JsonObject tuple.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getConnectionTimeout--">getConnectionTimeout()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
 <dd>
 <div class="block">Get the connection timeout.</div>
@@ -1609,8 +1429,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#getControlService--">getControlService()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#getCourse--">getCourse()</a></span> - Method in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.html#getCurrentState--">getCurrentState()</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dt>
 <dd>
 <div class="block">Retrieves the current state of this job.</div>
@@ -1627,18 +1445,6 @@
 <dd>
 <div class="block">Get the policy's active file cycle configuration</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html#getDataSource-java.util.Properties-">getDataSource(Properties)</a></span> - Static method in class org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc">DbUtils</a></dt>
-<dd>
-<div class="block">Get the JDBC <code>DataSource</code> for the database.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#getDeltaFactor--">getDeltaFactor()</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></dt>
-<dd>
-<div class="block">Get the deltaFactor setting</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#getDeltaFactor--">getDeltaFactor()</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedTemperatureSensor</a></dt>
-<dd>
-<div class="block">Get the deltaFactor setting</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#getDestination--">getDestination()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></dt>
@@ -1675,10 +1481,6 @@
 <dd>
 <div class="block">Get the JMX domain being used by this control service.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#getDouble-com.google.gson.JsonElement-java.lang.String-">getDouble(JsonElement, String)</a></span> - Static method in class org.apache.edgent.samples.connectors.obd2.<a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2">Obd2Streams</a></dt>
-<dd>
-<div class="block">Utility method to simplify accessing a number as a double.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Graph.html#getEdges--">getEdges()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></dt>
 <dd>
 <div class="block">Return an unmodifiable view of all edges in this graph.</div>
@@ -1886,10 +1688,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getLastError--">getLastError()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#getLatitude--">getLatitude()</a></span> - Method in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#getLongitude--">getLongitude()</a></span> - Method in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getMbs--">getMbs()</a></span> - Method in class org.apache.edgent.runtime.jmxcontrol.<a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></dt>
 <dd>
 <div class="block">Get the MBean server being used by this control service.</div>
@@ -1962,14 +1760,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getNextState--">getNextState()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#getNumberFractionalDigits--">getNumberFractionalDigits()</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></dt>
-<dd>
-<div class="block">Get the number of fractional digits setting</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#getObject-com.google.gson.JsonObject-java.lang.String-">getObject(JsonObject, String)</a></span> - Static method in class org.apache.edgent.samples.connectors.obd2.<a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2">Obd2Streams</a></dt>
-<dd>
-<div class="block">Utility method to simplify accessing a JSON object.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#getOplet--">getOplet()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
 <dd>
 <div class="block">Returns the oplet associated with this <code>Invocation</code>.</div>
@@ -2048,29 +1838,11 @@
 <dd>
 <div class="block">Get the destination for a publisher.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#getRange--">getRange()</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#getResult--">getResult()</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html#getResult--">getResult()</a></span> - Method in interface org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></dt>
 <dd>
-<div class="block">Get the range setting</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeByte-java.lang.String-java.lang.String-">getRangeByte(String, String)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></dt>
-<dd>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeDouble-java.lang.String-java.lang.String-">getRangeDouble(String, String)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></dt>
-<dd>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeFloat-java.lang.String-java.lang.String-">getRangeFloat(String, String)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></dt>
-<dd>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeInteger-java.lang.String-java.lang.String-">getRangeInteger(String, String)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></dt>
-<dd>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeShort-java.lang.String-java.lang.String-">getRangeShort(String, String)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></dt>
-<dd>
-<div class="block">Get the Range for a sensor range configuration item.</div>
+<div class="block">Get the aggregation result.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/tester/Condition.html#getResult--">getResult()</a></span> - Method in interface org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a></dt>
 <dd>&nbsp;</dd>
@@ -2119,10 +1891,6 @@
 <div class="block">Returns the <code>ScheduledExecutorService</code> used for running 
  executable graph elements.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html#getSensorPropertyName-java.lang.String-java.lang.String-java.lang.String-">getSensorPropertyName(String, String, String)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></dt>
-<dd>
-<div class="block">Get the property name for a sensor's configuration item.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getServerURLs--">getServerURLs()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
 <dd>
 <div class="block">Get the MQTT Server URLs</div>
@@ -2188,30 +1956,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getSourceOutputPort--">getSourceOutputPort()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#getSpeedMetersPerSec--">getSpeedMetersPerSec()</a></span> - Method in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html#getSslContainer-java.util.Properties-">getSslContainer(Properties)</a></span> - Method in class org.apache.edgent.javax.websocket.<a href="org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">EdgentSslContainerProvider</a></dt>
-<dd>
-<div class="block">Create a WebSocketContainer setup for SSL.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html#getSslContainer-java.util.Properties-">getSslContainer(Properties)</a></span> - Method in class org.apache.edgent.javax.websocket.impl.<a href="org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl">EdgentSslContainerProviderImpl</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html#getSslWebSocketContainer-java.util.Properties-">getSslWebSocketContainer(Properties)</a></span> - Static method in class org.apache.edgent.javax.websocket.<a href="org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">EdgentSslContainerProvider</a></dt>
-<dd>
-<div class="block">Create a WebSocketContainer setup for SSL.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/window/PartitionedState.html#getState-K-">getState(K)</a></span> - Method in class org.apache.edgent.window.<a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">PartitionedState</a></dt>
 <dd>
 <div class="block">Get the current state for <code>key</code>.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#getStatistic-com.google.gson.JsonObject-org.apache.edgent.analytics.math3.stat.Statistic-">getStatistic(JsonObject, Statistic)</a></span> - Static method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
-<dd>
-<div class="block">Get a statistic value from a sample.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#getStatistic-com.google.gson.JsonObject-java.lang.String-org.apache.edgent.analytics.math3.stat.Statistic-">getStatistic(JsonObject, String, Statistic)</a></span> - Static method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
-<dd>
-<div class="block">Get a statistic value from a sample.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#getStreamScopes--">getStreamScopes()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
 <dd>
 <div class="block">Get registered StreamScopes and the name(s) each is registered with.</div>
@@ -2254,18 +2002,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getTargetInputPort--">getTargetInputPort()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#getTempRange--">getTempRange()</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedTemperatureSensor</a></dt>
-<dd>
-<div class="block">Get the tempRange setting</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#getTester--">getTester()</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#getTester--">getTester()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
 <dd>
 <div class="block">Get the tester for this topology.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#getTime--">getTime()</a></span> - Method in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#getTime--">getTime()</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#getTriggerPolicy--">getTriggerPolicy()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
@@ -2328,16 +2070,6 @@
 <dd>
 <div class="block">Return the window in which this partition is contained.</div>
 </dd>
-<dt><a href="org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">GpsAnalyticsApplication</span></a> - Class in <a href="org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></dt>
-<dd>
-<div class="block">GPS analytics</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html#GpsAnalyticsApplication-org.apache.edgent.topology.Topology-org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication-">GpsAnalyticsApplication(Topology, FleetManagementAnalyticsClientApplication)</a></span> - Constructor for class org.apache.edgent.test.svt.apps.<a href="org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">GpsAnalyticsApplication</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">GpsSensor</span></a> - Class in <a href="org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">org.apache.edgent.test.svt.utils.sensor.gps</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#GpsSensor-double-double-double-double-long-double-">GpsSensor(double, double, double, double, long, double)</a></span> - Constructor for class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Connector.html#graph--">graph()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></dt>
 <dd>
 <div class="block">Gets the <code>Graph</code> for this <code>Connector</code>.</div>
@@ -2406,8 +2138,6 @@
 <dd>
 <div class="block">Process the <code>ResultSet</code> and add 0 or more tuples to <code>consumer</code>.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/AbstractApplication.html#handleRuntimeError-java.lang.String-java.lang.Exception-">handleRuntimeError(String, Exception)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html#hasActiveNonDaemonThreads--">hasActiveNonDaemonThreads()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">ThreadFactoryTracker</a></dt>
 <dd>
 <div class="block">Check to see if there are non daemon user threads that have not yet 
@@ -2436,25 +2166,6 @@
 <dd>
 <div class="block">An IoT device heartbeat event generator.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html#heartBeat-org.apache.edgent.connectors.iot.IotDevice-boolean-">heartBeat(IotDevice, boolean)</a></span> - Static method in class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpSensors</a></dt>
-<dd>
-<div class="block">Create a heart beat device event with
- identifier <code>heartbeat</code> to
- ensure there is some immediate output and
- the connection to IoTF happens as soon as possible.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">HeartMonitorSensor</span></a> - Class in <a href="org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></dt>
-<dd>
-<div class="block">Streams of simulated heart monitor sensors.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html#HeartMonitorSensor--">HeartMonitorSensor()</a></span> - Constructor for class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor">HeartMonitorSensor</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">HelloEdgent</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>
-<div class="block">Hello Edgent Topology sample.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/HelloEdgent.html#HelloEdgent--">HelloEdgent()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology">HelloEdgent</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">hookGenerateFinalFilePath(Path)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">CompressedFileWriterPolicy</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">hookGenerateFinalFilePath(Path)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
@@ -2491,10 +2202,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpResponders.html#HttpResponders--">HttpResponders()</a></span> - Constructor for class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">HttpResponders</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console"><span class="typeNameLink">HttpServerSample</span></a> - Class in <a href="org/apache/edgent/samples/console/package-summary.html">org.apache.edgent.samples.console</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/console/HttpServerSample.html#HttpServerSample--">HttpServerSample()</a></span> - Constructor for class org.apache.edgent.samples.console.<a href="org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console">HttpServerSample</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpStreams</span></a> - Class in <a href="org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></dt>
 <dd>
 <div class="block">HTTP streams.</div>
@@ -2507,14 +2214,6 @@
 </a>
 <h2 class="title">I</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html#id--">id()</a></span> - Method in interface org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></dt>
-<dd>
-<div class="block">Unique identifier of the command.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#id--">id()</a></span> - Method in enum org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Pids01.html#id--">id()</a></span> - Method in enum org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#ID_PREFIX">ID_PREFIX</a></span> - Static variable in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dt>
 <dd>
 <div class="block">Prefix used by job unique identifiers.</div>
@@ -2527,20 +2226,17 @@
 <dd>
 <div class="block">Returns the identity function that returns its single argument.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#increasingTemps-org.apache.edgent.connectors.serial.SerialDevice-">increasingTemps(SerialDevice)</a></span> - Static method in class org.apache.edgent.samples.connectors.obd2.<a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2">Obd2Streams</a></dt>
-<dd>
-<div class="block">Get a stream of temperature readings which
- are increasing over the last minute.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#increment-double-">increment(double)</a></span> - Method in interface org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></dt>
 <dd>
 <div class="block">Add a value to the aggregation.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#increment-double-">increment(double)</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html#initDb-javax.sql.DataSource-">initDb(DataSource)</a></span> - Static method in class org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc">DbUtils</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#increment-double-">increment(double)</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html#increment-double-">increment(double)</a></span> - Method in interface org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></dt>
 <dd>
-<div class="block">Initialize the sample's database.</div>
+<div class="block">Add a value to the aggregation.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#initialize-java.lang.String-java.io.Flushable-java.io.Closeable-">initialize(String, Flushable, Closeable)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
 <dd>&nbsp;</dd>
@@ -2588,14 +2284,8 @@
 <dd>
 <div class="block">Initialize the invocation.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#initialize-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">initialize(Cmd, OutputStream, InputStream)</a></span> - Static method in class org.apache.edgent.samples.connectors.elm327.runtime.<a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime">CommandExecutor</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/oplets/StreamScope.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, T&gt;)</a></span> - Method in class org.apache.edgent.streamscope.oplets.<a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#initializeProtocol-org.apache.edgent.connectors.serial.SerialDevice-org.apache.edgent.samples.connectors.elm327.Elm327Cmds-">initializeProtocol(SerialDevice, Elm327Cmds)</a></span> - Static method in enum org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></dt>
-<dd>
-<div class="block">Initialize the ELM327 to a specific protocol.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpResponders.html#inputOn-java.lang.Integer...-">inputOn(Integer...)</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">HttpResponders</a></dt>
 <dd>
 <div class="block">Return the input tuple on specified codes.</div>
@@ -2657,10 +2347,6 @@
 <dd>
 <div class="block">A generic IoT device IoT hub connector.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#iotDevice--">iotDevice()</a></span> - Method in class org.apache.edgent.test.svt.apps.iotp.<a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a></dt>
-<dd>
-<div class="block">Get the application's IotDevice</div>
-</dd>
 <dt><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot"><span class="typeNameLink">IotDevicePubSub</span></a> - Class in <a href="org/apache/edgent/apps/iot/package-summary.html">org.apache.edgent.apps.iot</a></dt>
 <dd>
 <div class="block">Application sharing an <code>IotDevice</code> through publish-subscribe.</div>
@@ -2671,14 +2357,6 @@
 <dd>
 <div class="block">A generic IoT gateway device IoT hub connector.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpAppClient</span></a> - Class in <a href="org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a></dt>
-<dd>
-<div class="block">A WIoTP ApplicationClient that publishes cmds 
- and subscribes to events for the
- IotpDeviceSample and IotpGWDeviceSample device samples.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpAppClient.html#IotpAppClient--">IotpAppClient()</a></span> - Constructor for class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpAppClient</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpDevice</span></a> - Class in <a href="org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></dt>
 <dd>
 <div class="block">A Device Connector to IBM Watson IoT Platform (WIoTP).</div>
@@ -2695,19 +2373,6 @@
 <dd>
 <div class="block">Create a connector using the supplied WIoTP <code>DeviceClient</code>.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpDeviceSample</span></a> - Class in <a href="org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a></dt>
-<dd>
-<div class="block">Similar to IotpQuickstart2 but for a real/non-quickstart WIoTP account
- for a registered device AND it subscribes to/prints device cmds.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html#IotpDeviceSample--">IotpDeviceSample()</a></span> - Constructor for class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpDeviceSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp"><span class="typeNameLink">IotpFullScenario</span></a> - Class in <a href="org/apache/edgent/samples/scenarios/iotp/package-summary.html">org.apache.edgent.samples.scenarios.iotp</a></dt>
-<dd>
-<div class="block">Sample IotProvider scenario using IBM Watson IoT Platform.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#IotpFullScenario--">IotpFullScenario()</a></span> - Constructor for class org.apache.edgent.samples.scenarios.iotp.<a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp">IotpFullScenario</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpGateway</span></a> - Class in <a href="org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></dt>
 <dd>
 <div class="block">An IoT Gateway Device Connector to IBM Watson IoT Platform (WIoTP).</div>
@@ -2724,30 +2389,10 @@
 <dd>
 <div class="block">Create a connector using the supplied WIoTP <code>DeviceClient</code>.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpGWDeviceSample</span></a> - Class in <a href="org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a></dt>
-<dd>
-<div class="block">Similar to IotpQuickstart2 but for a real/non-quickstart WIoTP account
- and a registered IoT Gateway device with connected devices
- AND it subscribes to and prints received device cmds.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html#IotpGWDeviceSample--">IotpGWDeviceSample()</a></span> - Constructor for class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpGWDeviceSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpQuickstart</span></a> - Class in <a href="org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a></dt>
-<dd>
-<div class="block">IBM Watson IoT Platform Quickstart sample.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html#IotpQuickstart--">IotpQuickstart()</a></span> - Constructor for class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpQuickstart</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpQuickstart2</span></a> - Class in <a href="org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a></dt>
-<dd>
-<div class="block">IBM Watson IoT Platform Quickstart sample.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html#IotpQuickstart2--">IotpQuickstart2()</a></span> - Constructor for class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpQuickstart2</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot"><span class="typeNameLink">IotProvider</span></a> - Class in <a href="org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></dt>
 <dd>
-<div class="block">IoT provider supporting multiple topologies with a single connection to a
- message hub.</div>
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#IotProvider-org.apache.edgent.function.Function-">IotProvider(Function&lt;Topology, IotDevice&gt;)</a></span> - Constructor for class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
 <dd>
@@ -2765,12 +2410,6 @@
 <dd>
 <div class="block">Create an <code>IotProvider</code>.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpSensors</span></a> - Class in <a href="org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a></dt>
-<dd>
-<div class="block">Sample sending sensor device events to IBM Watson IoT Platform.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html#IotpSensors--">IotpSensors()</a></span> - Constructor for class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpSensors</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#isCleanSession--">isCleanSession()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
 <dd>
 <div class="block">Get the clean session setting.</div>
@@ -2850,7 +2489,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html#JdbcStreams-org.apache.edgent.topology.Topology-org.apache.edgent.connectors.jdbc.CheckedSupplier-org.apache.edgent.connectors.jdbc.CheckedFunction-">JdbcStreams(Topology, CheckedSupplier&lt;DataSource&gt;, CheckedFunction&lt;DataSource, Connection&gt;)</a></span> - Constructor for class org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">JdbcStreams</a></dt>
 <dd>
-<div class="block">Create a connector that uses a JDBC <code>DataSource</code> object to get
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
  a database connection.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/providers/development/DevelopmentProvider.html#JMX_DOMAIN">JMX_DOMAIN</a></span> - Static variable in class org.apache.edgent.providers.development.<a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></dt>
@@ -2888,8 +2527,6 @@
  control is held registered with the <a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a> after a job
  gets closed.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/JobExecution.html#JOB_LIFE_MILLIS">JOB_LIFE_MILLIS</a></span> - Static variable in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology">JobExecution</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Configs.html#JOB_NAME">JOB_NAME</a></span> - Static variable in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">Configs</a></dt>
 <dd>
 <div class="block">JOB_NAME is used to identify the submission configuration property 
@@ -2905,16 +2542,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobEvents.html#JobEvents--">JobEvents()</a></span> - Constructor for class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry">JobEvents</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">JobEventsSample</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>
-<div class="block">Demonstrates job monitoring using the <a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a> service.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">JobExecution</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>
-<div class="block">Using the Job API to get/set a job's state.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/JobExecution.html#JobExecution--">JobExecution()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology">JobExecution</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime"><span class="typeNameLink">JobMonitorApp</span></a> - Class in <a href="org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a></dt>
 <dd>
 <div class="block">Job monitoring application.</div>
@@ -2985,13 +2612,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#JsonStorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">JsonStorelessStatistic(Statistic, StorelessUnivariateStatistic)</a></span> - Constructor for class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">JsonTuples</span></a> - Class in <a href="org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></dt>
-<dd>
-<div class="block">Utilties to ease working working with sensor "samples" by wrapping them
- in JsonObjects.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#JsonTuples--">JsonTuples()</a></span> - Constructor for class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonUnivariateAggregate</span></a> - Interface in <a href="org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></dt>
 <dd>
 <div class="block">Univariate aggregate for a JSON tuple.</div>
@@ -3018,13 +2638,6 @@
 </a>
 <h2 class="title">K</h2>
 <dl>
-<dt><a href="org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">KafkaClient</span></a> - Class in <a href="org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a></dt>
-<dd>
-<div class="block">Demonstrate integrating with the Apache Kafka messaging system
- <a href="http://kafka.apache.org">http://kafka.apache.org</a>.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/kafka/KafkaClient.html#KafkaClient--">KafkaClient()</a></span> - Constructor for class org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka">KafkaClient</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer</span></a> - Class in <a href="org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></dt>
 <dd>
 <div class="block"><code>KafkaConsumer</code> is a connector for creating a stream of tuples
@@ -3058,12 +2671,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#key--">key()</a></span> - Method in interface org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#KEY_AGG_BEGIN_TS">KEY_AGG_BEGIN_TS</a></span> - Static variable in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#KEY_AGG_COUNT">KEY_AGG_COUNT</a></span> - Static variable in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#KEY_ID">KEY_ID</a></span> - Static variable in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_JOBID">KEY_JOBID</a></span> - Static variable in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
 <dd>
 <div class="block">The <code>jobId</code> property key.</div>
@@ -3076,18 +2683,10 @@
 <dd>
 <div class="block">The <code>opId</code> (oplet id) property key.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#KEY_READING">KEY_READING</a></span> - Static variable in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#KEY_TS">KEY_TS</a></span> - Static variable in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_TYPE">KEY_TYPE</a></span> - Static variable in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
 <dd>
 <div class="block">The <code>type</code> property key.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#keyFn--">keyFn()</a></span> - Static method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
-<dd>
-<div class="block">The partition key function for wrapped sensor samples.</div>
-</dd>
 </dl>
 <a name="I:L">
 <!--   -->
@@ -3127,15 +2726,6 @@
 <dd>
 <div class="block">Create a new splitter.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/jdbc/PersonData.html#loadPersonData-java.util.Properties-">loadPersonData(Properties)</a></span> - Static method in class org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonData</a></dt>
-<dd>
-<div class="block">Load the person data from the path specified by the "persondata.path"
- property.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html#logStream-org.apache.edgent.topology.TStream-java.lang.String-java.lang.String-">logStream(TStream&lt;T&gt;, String, String)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></dt>
-<dd>
-<div class="block">Log every tuple on the stream using the <code>FileStreams</code> connector.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#lookup-java.lang.String-java.lang.String-int-">lookup(String, String, int)</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></dt>
 <dd>
 <div class="block">Get the <a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</div>
@@ -3160,94 +2750,6 @@
 </a>
 <h2 class="title">M</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.apps.mqtt.<a href="org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt">DeviceCommsApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.apps.sensorAnalytics.<a href="org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/file/FileReaderApp.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.file.<a href="org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file">FileReaderApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/file/FileWriterApp.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.file.<a href="org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file">FileWriterApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpAppClient.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpAppClient</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpDeviceSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpGWDeviceSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpQuickstart</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpQuickstart2</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpSensors</a></dt>
-<dd>
-<div class="block">Run the IotpSensors application.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc">SimpleReaderApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc">SimpleWriterApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/kafka/KafkaClient.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka">KafkaClient</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka">SimplePublisherApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka">SimpleSubscriberApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/mqtt/MqttClient.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt">MqttClient</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">SimplePublisherApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">SimpleSubscriberApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.console.<a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console">ConsoleWaterDetector</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/console/HttpServerSample.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.console.<a href="org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console">HttpServerSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.scenarios.iotp.<a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp">IotpFullScenario</a></dt>
-<dd>
-<div class="block">Run the IotpFullScenario application.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology">CombiningStreamsProcessingResults</a></dt>
-<dd>
-<div class="block">Polls a simulated heart monitor to periodically obtain blood pressure readings.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/DevelopmentMetricsSample.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology">DevelopmentMetricsSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/DevelopmentSample.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology">DevelopmentSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology">DevelopmentSampleJobMXBean</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/HelloEdgent.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology">HelloEdgent</a></dt>
-<dd>
-<div class="block">Print "Hello Edgent!" as two tuples.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/JobEventsSample.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology">JobEventsSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/JobExecution.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology">JobExecution</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/PeriodicSource.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology">PeriodicSource</a></dt>
-<dd>
-<div class="block">Shows polling a data source to periodically obtain a value.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/SensorsAggregates.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology">SensorsAggregates</a></dt>
-<dd>
-<div class="block">Run a topology with two bursty sensors printing them to standard out.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/SimpleFilterTransform.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology">SimpleFilterTransform</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/SplitWithEnumSample.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology">SplitWithEnumSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/StreamTags.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology">StreamTags</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology">TerminateAfterNTuples</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.utils.metrics.<a href="org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">PeriodicSourceWithMetrics</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.samples.utils.metrics.<a href="org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">SplitWithMetrics</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.test.svt.apps.<a href="org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/TopologyTestBasic.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt">TopologyTestBasic</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Map</span></a>&lt;<a href="org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">I</a>,<a href="org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">O</a>&gt; - Class in <a href="org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></dt>
 <dd>
 <div class="block">Map an input tuple to 0-1 output tuple</div>
@@ -3300,13 +2802,6 @@
 <div class="block">Declare a new stream that modifies each tuple from this stream into one
  (or zero) tuple of the same type <code>T</code>.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">MqttClient</span></a> - Class in <a href="org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a></dt>
-<dd>
-<div class="block">Demonstrate integrating with the MQTT messaging system
- <a href="http://mqtt.org">http://mqtt.org</a>.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/mqtt/MqttClient.html#MqttClient--">MqttClient()</a></span> - Constructor for class org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt">MqttClient</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttConfig</span></a> - Class in <a href="org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></dt>
 <dd>
 <div class="block">MQTT broker connector configuration.</div>
@@ -3331,10 +2826,6 @@
 <dd>
 <div class="block">Create an MqttDevice connector.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#mqttDevice--">mqttDevice()</a></span> - Method in class org.apache.edgent.samples.apps.mqtt.<a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></dt>
-<dd>
-<div class="block">Get the application's MqttDevice</div>
-</dd>
 <dt><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttStreams</span></a> - Class in <a href="org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></dt>
 <dd>
 <div class="block"><code>MqttStreams</code> is a connector to a MQTT messaging broker
@@ -3348,12 +2839,6 @@
 <dd>
 <div class="block">Create a connector with the specified configuration.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">MsgSupplier</span></a> - Class in <a href="org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a></dt>
-<dd>
-<div class="block">A Supplier&lt;String&gt; for creating sample messages to publish.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/MsgSupplier.html#MsgSupplier-int-">MsgSupplier(int)</a></span> - Constructor for class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors">MsgSupplier</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-">mvAggregate(TWindow&lt;JsonObject, K&gt;, String, String, List&lt;Pair&lt;String, JsonUnivariateAggregate[]&gt;&gt;)</a></span> - Static method in class org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></dt>
 <dd>
 <div class="block">Aggregate against multiple <code>Numeric</code> variables contained in an JSON object.</div>
@@ -3363,10 +2848,14 @@
 <div class="block">Create a Function that aggregates multiple <code>Numeric</code>
  variables contained in an JSON object.</div>
 </dd>
-<dt><a href="org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">MyClass1</span></a> - Class in <a href="org/apache/edgent/test/svt/package-summary.html">org.apache.edgent.test.svt</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">MyClass2</span></a> - Class in <a href="org/apache/edgent/test/svt/package-summary.html">org.apache.edgent.test.svt</a></dt>
-<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">MvResultMap</span></a> - Class in <a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></dt>
+<dd>
+<div class="block">Aggregation results for multiple aggregated variables.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/MvResultMap.html#MvResultMap--">MvResultMap()</a></span> - Constructor for class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a></dt>
+<dd>
+<div class="block">Create a new MvResultMap.</div>
+</dd>
 </dl>
 <a name="I:N">
 <!--   -->
@@ -3382,6 +2871,10 @@
 <dd>
 <div class="block">Name of the aggregate.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html#name--">name()</a></span> - Method in interface org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></dt>
+<dd>
+<div class="block">Name of the aggregate.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamAlias-java.lang.String-">nameForStreamAlias(String)</a></span> - Static method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
 <dd>
 <div class="block">create a registration name for a stream alias</div>
@@ -3402,14 +2895,6 @@
 <dd>
 <div class="block">same as <code>newConfig(0, aggregateFileSize, 0, 0)</code></div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newBoolean-org.apache.edgent.topology.Topology-long-">newBoolean(Topology, long)</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></dt>
-<dd>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextBoolean()</code>.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newBytes-org.apache.edgent.topology.Topology-long-int-">newBytes(Topology, long, int)</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></dt>
-<dd>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextBytes(byte[])</code>.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newConfig-long-int-long-org.apache.edgent.function.Predicate-">newConfig(long, int, long, Predicate&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
 <dd>
 <div class="block">Create a new configuration.</div>
@@ -3430,10 +2915,6 @@
 <dd>
 <div class="block">same as <code>newConfig(cntTuples, 0, null)</code></div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newDouble-org.apache.edgent.topology.Topology-long-">newDouble(Topology, long)</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></dt>
-<dd>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextDouble()</code>.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newFileCountBasedConfig-int-">newFileCountBasedConfig(int)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
 <dd>
 <div class="block">same as <code>newConfig(fileCount, 0, 0, 0)</code></div>
@@ -3442,30 +2923,10 @@
 <dd>
 <div class="block">same as <code>newConfig(fileSize, 0, 0, null)</code></div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newFloat-org.apache.edgent.topology.Topology-long-">newFloat(Topology, long)</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></dt>
-<dd>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextFloat()</code>.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newGaussian-org.apache.edgent.topology.Topology-long-">newGaussian(Topology, long)</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></dt>
-<dd>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextGaussian()</code>.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newImplicitConfig--">newImplicitConfig()</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></dt>
 <dd>
 <div class="block">Create a new configuration.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newInteger-org.apache.edgent.topology.Topology-long-">newInteger(Topology, long)</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></dt>
-<dd>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextInt()</code>.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newInteger-org.apache.edgent.topology.Topology-long-int-">newInteger(Topology, long, int)</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></dt>
-<dd>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextInt(int)</code>.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newLong-org.apache.edgent.topology.Topology-long-">newLong(Topology, long)</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></dt>
-<dd>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextLong()</code>.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig(Predicate&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
 <dd>
 <div class="block">same as <code>newConfig(0, 0, 0, tuplePredicate)</code></div>
@@ -3474,10 +2935,6 @@
 <dd>
 <div class="block">same as <code>newConfig(0, 0, tuplePredicate)</code></div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/TopologyProviderFactory.html#newProvider--">newProvider()</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps">TopologyProviderFactory</a></dt>
-<dd>
-<div class="block">Get a new topology provider.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">newScheduler(ThreadFactory, BiConsumer&lt;Object, Throwable&gt;)</a></span> - Static method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></dt>
 <dd>
 <div class="block">Creates an <code>TrackingScheduledExecutor</code> using the supplied thread 
@@ -3521,8 +2978,6 @@
 <dd>
 <div class="block">Create a new topology with a generated name.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html#nextGps--">nextGps()</a></span> - Method in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGpsSensor</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpClients.html#noAuthentication--">noAuthentication()</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">HttpClients</a></dt>
 <dd>
 <div class="block">Create HTTP client with no authentication.</div>
@@ -3533,16 +2988,6 @@
 </a>
 <h2 class="title">O</h2>
 <dl>
-<dt><a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2"><span class="typeNameLink">Obd2Streams</span></a> - Class in <a href="org/apache/edgent/samples/connectors/obd2/package-summary.html">org.apache.edgent.samples.connectors.obd2</a></dt>
-<dd>
-<div class="block">Sample OBD-II streams.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#Obd2Streams--">Obd2Streams()</a></span> - Constructor for class org.apache.edgent.samples.connectors.obd2.<a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2">Obd2Streams</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">ObdAnalyticsApplication</span></a> - Class in <a href="org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html#ObdAnalyticsApplication-org.apache.edgent.topology.Topology-org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication-">ObdAnalyticsApplication(Topology, FleetManagementAnalyticsClientApplication)</a></span> - Constructor for class org.apache.edgent.test.svt.apps.<a href="org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">ObdAnalyticsApplication</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#of-T...-">of(T...)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#of-T...-">of(T...)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
@@ -3576,12 +3021,10 @@
 <dd>
 <div class="block">INTERNAL USE ONLY.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Options</span></a> - Class in <a href="org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a></dt>
+<dt><a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> - package org.apache.edgent.analytics.math3</dt>
 <dd>
-<div class="block">Simple command option processor.</div>
+<div class="block">Analytics using Apache Commons Math.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/Options.html#Options--">Options()</a></span> - Constructor for class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a> - package org.apache.edgent.analytics.math3.json</dt>
 <dd>
 <div class="block">JSON analytics using Apache Commons Math.</div>
@@ -3633,7 +3076,7 @@
 </dd>
 <dt><a href="org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a> - package org.apache.edgent.connectors.kafka</dt>
 <dd>
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </dd>
 <dt><a href="org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> - package org.apache.edgent.connectors.mqtt</dt>
 <dd>
@@ -3661,11 +3104,11 @@
 </dd>
 <dt><a href="org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a> - package org.apache.edgent.connectors.wsclient</dt>
 <dd>
-<div class="block">WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
 </dd>
 <dt><a href="org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a> - package org.apache.edgent.connectors.wsclient.javax.websocket</dt>
 <dd>
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </dd>
 <dt><a href="org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> - package org.apache.edgent.execution</dt>
 <dd>
@@ -3691,14 +3134,6 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a> - package org.apache.edgent.graph.spi.execution</dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/javax/websocket/package-summary.html">org.apache.edgent.javax.websocket</a> - package org.apache.edgent.javax.websocket</dt>
-<dd>
-<div class="block">Support for working around JSR356 limitations for SSL client container/sockets.</div>
-</dd>
-<dt><a href="org/apache/edgent/javax/websocket/impl/package-summary.html">org.apache.edgent.javax.websocket.impl</a> - package org.apache.edgent.javax.websocket.impl</dt>
-<dd>
-<div class="block">Support for working around JSR356 limitations for SSL client container/sockets.</div>
-</dd>
 <dt><a href="org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a> - package org.apache.edgent.metrics</dt>
 <dd>
 <div class="block">Metric utility methods, oplets, and reporters which allow an 
@@ -3761,73 +3196,6 @@
 <div class="block">Control service that takes a Json message and invokes
  an operation on a control service MBean.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> - package org.apache.edgent.samples.apps</dt>
-<dd>
-<div class="block">Support for some more complex Edgent application samples.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a> - package org.apache.edgent.samples.apps.mqtt</dt>
-<dd>
-<div class="block">Base support for Edgent MQTT based application samples.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a> - package org.apache.edgent.samples.apps.sensorAnalytics</dt>
-<dd>
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a> - package org.apache.edgent.samples.connectors</dt>
-<dd>
-<div class="block">General support for connector samples.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a> - package org.apache.edgent.samples.connectors.elm327</dt>
-<dd>
-<div class="block">OBD-II protocol sample using ELM327.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html">org.apache.edgent.samples.connectors.elm327.runtime</a> - package org.apache.edgent.samples.connectors.elm327.runtime</dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/connectors/file/package-summary.html">org.apache.edgent.samples.connectors.file</a> - package org.apache.edgent.samples.connectors.file</dt>
-<dd>
-<div class="block">Samples showing use of the 
- <a href="./org/apache/edgent/connectors/file/package-summary.html">
-     File stream connector</a>.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a> - package org.apache.edgent.samples.connectors.iotp</dt>
-<dd>
-<div class="block">Samples showing device events and commands with IBM Watson IoT Platform.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a> - package org.apache.edgent.samples.connectors.jdbc</dt>
-<dd>
-<div class="block">Samples showing use of the
- <a href="./org/apache/edgent/connectors/jdbc/package-summary.html">
-     JDBC stream connector</a>.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a> - package org.apache.edgent.samples.connectors.kafka</dt>
-<dd>
-<div class="block">Samples showing use of the
- <a href="./org/apache/edgent/connectors/kafka/package-summary.html">
-     Apache Kafka stream connector</a>.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a> - package org.apache.edgent.samples.connectors.mqtt</dt>
-<dd>
-<div class="block">Samples showing use of the
- <a href="./org/apache/edgent/connectors/mqtt/package-summary.html">
-     MQTT stream connector</a>.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/obd2/package-summary.html">org.apache.edgent.samples.connectors.obd2</a> - package org.apache.edgent.samples.connectors.obd2</dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/console/package-summary.html">org.apache.edgent.samples.console</a> - package org.apache.edgent.samples.console</dt>
-<dd>
-<div class="block">Samples showing use of the Console web application.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/scenarios/iotp/package-summary.html">org.apache.edgent.samples.scenarios.iotp</a> - package org.apache.edgent.samples.scenarios.iotp</dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a> - package org.apache.edgent.samples.topology</dt>
-<dd>
-<div class="block">Samples showing creating and executing basic topologies .</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/utils/metrics/package-summary.html">org.apache.edgent.samples.utils.metrics</a> - package org.apache.edgent.samples.utils.metrics</dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a> - package org.apache.edgent.samples.utils.sensor</dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> - package org.apache.edgent.streamscope</dt>
 <dd>
 <div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
@@ -3841,14 +3209,6 @@
 <dd>
 <div class="block">Stream Oscilloscope underlying implementation oplets.</div>
 </dd>
-<dt><a href="org/apache/edgent/test/svt/package-summary.html">org.apache.edgent.test.svt</a> - package org.apache.edgent.test.svt</dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a> - package org.apache.edgent.test.svt.apps</dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a> - package org.apache.edgent.test.svt.apps.iotp</dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">org.apache.edgent.test.svt.utils.sensor.gps</a> - package org.apache.edgent.test.svt.utils.sensor.gps</dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> - package org.apache.edgent.topology</dt>
 <dd>
 <div class="block">Functional api to build a streaming topology.</div>
@@ -3889,8 +3249,10 @@
 <dd>
 <div class="block">Information about an oplet output port.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#outsideGeofence-double-double-">outsideGeofence(double, double)</a></span> - Static method in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGeofence</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#outsideOf-org.apache.edgent.analytics.sensors.Range-">outsideOf(Range&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Predicate whose <code>test(v)</code> behaves like <code>! range.test(v)</code></div>
+</dd>
 </dl>
 <a name="I:P">
 <!--   -->
@@ -3911,7 +3273,7 @@
 </dd>
 <dt><a href="org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">ParameterSetter</span></a>&lt;<a href="org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="type parameter in ParameterSetter">T</a>&gt; - Interface in <a href="org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></dt>
 <dd>
-<div class="block">Function that sets parameters in a JDBC SQL <code>PreparedStatement</code>.</div>
+<div class="block">Function that sets parameters in a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-">parseCsv(String)</a></span> - Static method in class org.apache.edgent.connectors.csv.<a href="org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv">Csv</a></dt>
 <dd>
@@ -3923,7 +3285,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#partition--">partition()</a></span> - Method in interface org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Partition</span></a>&lt;<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">T</a>,<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">K</a>,<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">L</a> extends java.util.List&lt;<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">T</a>&gt;&gt; - Interface in <a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></dt>
+<dt><a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Partition</span></a>&lt;<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">T</a>,<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">K</a>,<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">L</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">T</a>&gt;&gt; - Interface in <a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></dt>
 <dd>
 <div class="block">A partition within a <code>Window</code>.</div>
 </dd>
@@ -3979,20 +3341,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/AbstractGraph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll(Supplier&lt;? extends Peek&lt;?&gt;&gt;, Predicate&lt;Vertex&lt;?, ?, ?&gt;&gt;)</a></span> - Method in class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">PeriodicRandomSensor</span></a> - Class in <a href="org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></dt>
-<dd>
-<div class="block">A factory of simple periodic random sensor reading streams.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#PeriodicRandomSensor--">PeriodicRandomSensor()</a></span> - Constructor for class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></dt>
-<dd>
-<div class="block">Create a new random periodic sensor factory configured
- to use <code>Random.Random()</code>.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#PeriodicRandomSensor-long-">PeriodicRandomSensor(long)</a></span> - Constructor for class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></dt>
-<dd>
-<div class="block">Create a new random periodic sensor factory configured
- to use <code>Random.Random(long)</code>.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#periodicSource-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-long-java.util.concurrent.TimeUnit-">periodicSource(Topology, ProcessBuilder, long, TimeUnit)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
 <dd>
 <div class="block">Create a <code>TStream&lt;String&gt;</code> from a periodically run command's output.</div>
@@ -4001,42 +3349,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/PeriodicSource.html#PeriodicSource-long-java.util.concurrent.TimeUnit-">PeriodicSource(long, TimeUnit)</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">PeriodicSource</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>
-<div class="block">Periodic polling of source data.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/PeriodicSource.html#PeriodicSource--">PeriodicSource()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology">PeriodicSource</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics"><span class="typeNameLink">PeriodicSourceWithMetrics</span></a> - Class in <a href="org/apache/edgent/samples/utils/metrics/package-summary.html">org.apache.edgent.samples.utils.metrics</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html#PeriodicSourceWithMetrics--">PeriodicSourceWithMetrics()</a></span> - Constructor for class org.apache.edgent.samples.utils.metrics.<a href="org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">PeriodicSourceWithMetrics</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="typeNameLink">PeriodMXBean</span></a> - Interface in <a href="org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a></dt>
 <dd>
 <div class="block">Control mbean interface for an entity having an a time period control.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Person</span></a> - Class in <a href="org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a></dt>
-<dd>
-<div class="block">A Person object for the sample.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">PersonData</span></a> - Class in <a href="org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a></dt>
-<dd>
-<div class="block">Utilities for loading the sample's person data.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/jdbc/PersonData.html#PersonData--">PersonData()</a></span> - Constructor for class org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonData</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">PersonId</span></a> - Class in <a href="org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a></dt>
-<dd>
-<div class="block">Another class containing a person id for the sample.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html#PID">PID</a></span> - Static variable in interface org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></dt>
-<dd>
-<div class="block">Key ("pid") for PID identifier in JSON result.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Pids01</span></a> - Enum in <a href="org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></dt>
-<dd>
-<div class="block">OBD-II Standard Mode 01 Pids.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Graph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe(Connector&lt;C&gt;, N)</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></dt>
 <dd>
 <div class="block">Create a new connected <a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
@@ -4069,10 +3385,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#Policies--">Policies()</a></span> - Constructor for class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Elm327Streams.html#poll-org.apache.edgent.connectors.serial.SerialDevice-long-java.util.concurrent.TimeUnit-org.apache.edgent.samples.connectors.elm327.Cmd...-">poll(SerialDevice, long, TimeUnit, Cmd...)</a></span> - Static method in class org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327">Elm327Streams</a></dt>
-<dd>
-<div class="block">Periodically execute a number of ELM327 commands.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/GraphTopology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll(Supplier&lt;T&gt;, long, TimeUnit)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll(Supplier&lt;T&gt;, long, TimeUnit)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
@@ -4083,15 +3395,6 @@
 <dd>
 <div class="block">Make an HTTP POST request with JsonObject.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/AbstractApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology(Topology)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></dt>
-<dd>
-<div class="block">A hook for a subclass to do things prior to the invocation
- of <a href="org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-"><code>AbstractApplication.buildTopology(Topology)</code></a>.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology(Topology)</a></span> - Method in class org.apache.edgent.samples.apps.mqtt.<a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology(Topology)</a></span> - Method in class org.apache.edgent.test.svt.apps.iotp.<a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Predicate</span></a>&lt;<a href="org/apache/edgent/function/Predicate.html" title="type parameter in Predicate">T</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
 <dd>
 <div class="block">Predicate function.</div>
@@ -4134,8 +3437,6 @@
 <dd>
 <div class="block">Invoke the WindowProcessor's processWindow method.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/Options.html#processArgs-java.lang.String:A-">processArgs(String[])</a></span> - Method in class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#processOnInsert--">processOnInsert()</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
 <dd>
 <div class="block">Returns a trigger policy that triggers
@@ -4150,10 +3451,6 @@
 <div class="block">Returns a trigger policy that triggers when the size of a partition
  equals or exceeds a value, and then evicts its contents.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/AbstractApplication.html#props">props</a></span> - Variable in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/AbstractApplication.html#propsPath">propsPath</a></span> - Variable in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">ProviderPubSub</span></a> - Class in <a href="org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a></dt>
 <dd>
 <div class="block">Publish subscribe service allowing exchange of streams between jobs in a provider.</div>
@@ -4193,14 +3490,6 @@
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified topic partitions.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">PublisherApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a></dt>
-<dd>
-<div class="block">A Kafka producer/publisher topology application.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">PublisherApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a></dt>
-<dd>
-<div class="block">A MQTT publisher topology application.</div>
-</dd>
 <dt><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub"><span class="typeNameLink">PublishSubscribe</span></a> - Class in <a href="org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a></dt>
 <dd>
 <div class="block">Publish subscribe model.</div>
@@ -4211,12 +3500,6 @@
 <dd>
 <div class="block">Publish subscribe service.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html#purgeTables-javax.sql.DataSource-">purgeTables(DataSource)</a></span> - Static method in class org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc">DbUtils</a></dt>
-<dd>
-<div class="block">Purge the sample's tables</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/Options.html#put-java.lang.String-java.lang.Object-">put(String, Object)</a></span> - Method in class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson(TStream&lt;JsonObject&gt;, Supplier&lt;CloseableHttpClient&gt;, Function&lt;JsonObject, String&gt;, UnaryOperator&lt;JsonObject&gt;)</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">HttpStreams</a></dt>
 <dd>
 <div class="block">Make an HTTP PUT request with JsonObject.</div>
@@ -4245,7 +3528,7 @@
 </a>
 <h2 class="title">R</h2>
 <dl>
-<dt><a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range</span></a>&lt;<a href="org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a> extends java.lang.Comparable&lt;?&gt;&gt; - Class in <a href="org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></dt>
+<dt><a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range</span></a>&lt;<a href="org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt; - Class in <a href="org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></dt>
 <dd>
 <div class="block">A generic immutable range of values and a way to 
  check a value for containment in the range.</div>
@@ -4332,10 +3615,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#registerControlService--">registerControlService()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#registerDisplay-org.apache.edgent.providers.iot.IotProvider-">registerDisplay(IotProvider)</a></span> - Static method in class org.apache.edgent.samples.scenarios.iotp.<a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp">IotpFullScenario</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#registerHeartbeat-org.apache.edgent.providers.iot.IotProvider-">registerHeartbeat(IotProvider)</a></span> - Static method in class org.apache.edgent.samples.scenarios.iotp.<a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp">IotpFullScenario</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/appservice/AppService.html#registerJar-java.lang.String-java.lang.String-">registerJar(String, String)</a></span> - Method in class org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></dt>
 <dd>
 <div class="block">Create a new class loader for the jar and register any
@@ -4364,8 +3643,6 @@
 <dd>
 <div class="block">Register a ScheduledExecutorService.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#registerSensors-org.apache.edgent.providers.iot.IotProvider-">registerSensors(IotProvider)</a></span> - Static method in class org.apache.edgent.samples.scenarios.iotp.<a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp">IotpFullScenario</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology(String, BiConsumer&lt;IotDevice, JsonObject&gt;)</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
 <dd>
 <div class="block">Register an application that uses an <code>IotDevice</code>.</div>
@@ -4388,6 +3665,10 @@
 <dd>
 <div class="block">Univariate regression aggregates.</div>
 </dd>
+<dt><a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression2</span></a> - Enum in <a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></dt>
+<dd>
+<div class="block">Univariate regression aggregates.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/JobRegistryService.html#removeJob-java.lang.String-">removeJob(String)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></dt>
 <dd>
 <div class="block">Removes the job specified by the given identifier.</div>
@@ -4433,14 +3714,14 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#result-com.google.gson.JsonElement-com.google.gson.JsonObject-">result(JsonElement, JsonObject)</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html#result-com.google.gson.JsonObject-byte:A-">result(JsonObject, byte[])</a></span> - Method in interface org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></dt>
+<dt><a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">ResultMap</span></a> - Class in <a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></dt>
 <dd>
-<div class="block">Process the reply into a result.</div>
+<div class="block">Aggregation results for a single aggregated variable.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#result-com.google.gson.JsonObject-byte:A-">result(JsonObject, byte[])</a></span> - Method in enum org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Pids01.html#result-com.google.gson.JsonObject-byte:A-">result(JsonObject, byte[])</a></span> - Method in enum org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></dt>
-<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/ResultMap.html#ResultMap--">ResultMap()</a></span> - Constructor for class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></dt>
+<dd>
+<div class="block">Create a new ResultMap.</div>
+</dd>
 <dt><a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">ResultsHandler</span></a>&lt;<a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">T</a>,<a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">R</a>&gt; - Interface in <a href="org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></dt>
 <dd>
 <div class="block">Handle the results of executing an SQL statement.</div>
@@ -4453,34 +3734,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/ProcessSource.html#run--">run()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/AbstractApplication.html#run--">run()</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></dt>
-<dd>
-<div class="block">Construct and run the application's topology.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/file/FileReaderApp.html#run--">run()</a></span> - Method in class org.apache.edgent.samples.connectors.file.<a href="org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file">FileReaderApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/file/FileWriterApp.html#run--">run()</a></span> - Method in class org.apache.edgent.samples.connectors.file.<a href="org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file">FileWriterApp</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/kafka/Runner.html#run-org.apache.edgent.samples.connectors.Options-">run(Options)</a></span> - Static method in class org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka">Runner</a></dt>
-<dd>
-<div class="block">Build and run the publisher or subscriber application.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/mqtt/Runner.html#run-org.apache.edgent.samples.connectors.Options-">run(Options)</a></span> - Static method in class org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt">Runner</a></dt>
-<dd>
-<div class="block">Build and run the publisher or subscriber application.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Runner</span></a> - Class in <a href="org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a></dt>
-<dd>
-<div class="block">Build and run the publisher or subscriber application.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/kafka/Runner.html#Runner--">Runner()</a></span> - Constructor for class org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka">Runner</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Runner</span></a> - Class in <a href="org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a></dt>
-<dd>
-<div class="block">Build and run the publisher or subscriber application.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/mqtt/Runner.html#Runner--">Runner()</a></span> - Constructor for class org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt">Runner</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">RuntimeServices</span></a> - Interface in <a href="org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></dt>
 <dd>
 <div class="block">At runtime a container provides services to
@@ -4529,37 +3782,6 @@
 <dd>
 <div class="block">Send a stream's String tuples in a WebSocket text message.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><span class="typeNameLink">Sensor1</span></a> - Class in <a href="org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></dt>
-<dd>
-<div class="block">Analytics for "Sensor1".</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html#Sensor1-org.apache.edgent.topology.Topology-org.apache.edgent.samples.apps.sensorAnalytics.SensorAnalyticsApplication-">Sensor1(Topology, SensorAnalyticsApplication)</a></span> - Constructor for class org.apache.edgent.samples.apps.sensorAnalytics.<a href="org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">Sensor1</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><span class="typeNameLink">SensorAnalyticsApplication</span></a> - Class in <a href="org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></dt>
-<dd>
-<div class="block">A sample application demonstrating some common sensor analytic processing
- themes.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#sensorEventId-java.lang.String-java.lang.String-">sensorEventId(String, String)</a></span> - Method in class org.apache.edgent.samples.apps.mqtt.<a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></dt>
-<dd>
-<div class="block">Compose a MqttDevice eventId for the sensor.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#sensorEventId-java.lang.String-java.lang.String-">sensorEventId(String, String)</a></span> - Method in class org.apache.edgent.test.svt.apps.iotp.<a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a></dt>
-<dd>
-<div class="block">Compose a IotDevice eventId for the sensor.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/SensorsAggregates.html#sensorsAB-org.apache.edgent.topology.Topology-">sensorsAB(Topology)</a></span> - Static method in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology">SensorsAggregates</a></dt>
-<dd>
-<div class="block">Create a stream containing two aggregates from two bursty
- sensors A and B that only produces output when the sensors
- (independently) are having a burst period out of their normal range.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">SensorsAggregates</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>
-<div class="block">Aggregation of sensor readings.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/SensorsAggregates.html#SensorsAggregates--">SensorsAggregates()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology">SensorsAggregates</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">SerialDevice</span></a> - Interface in <a href="org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></dt>
 <dd>
 <div class="block">Access to a device (or devices) connected by a serial port.</div>
@@ -4620,10 +3842,6 @@
 <dd>
 <div class="block">Set the specified output port's context.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/MyClass1.html#setD1-java.lang.Double-">setD1(Double)</a></span> - Method in class org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/MyClass2.html#setD1-java.lang.Double-">setD1(Double)</a></span> - Method in class org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt">MyClass2</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/SettableForwarder.html#setDestination-org.apache.edgent.function.Consumer-">setDestination(Consumer&lt;T&gt;)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">SettableForwarder</a></dt>
 <dd>
 <div class="block">Change the destination.</div>
@@ -4686,16 +3904,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">setMaxRetentionTime(long, TimeUnit)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/MyClass2.html#setMc1-org.apache.edgent.test.svt.MyClass1-">setMc1(MyClass1)</a></span> - Method in class org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt">MyClass2</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/MyClass2.html#setMc2-org.apache.edgent.test.svt.MyClass1-">setMc2(MyClass1)</a></span> - Method in class org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt">MyClass2</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setNextState-org.apache.edgent.execution.Job.State-">setNextState(Job.State)</a></span> - Method in class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#setNumberFractionalDigits-int-">setNumberFractionalDigits(int)</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></dt>
-<dd>
-<div class="block">Set number of fractional digits to round sensor values to.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/Valve.html#setOpen-boolean-">setOpen(boolean)</a></span> - Method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a></dt>
 <dd>
 <div class="block">Set the valve state</div>
@@ -4746,16 +3956,6 @@
 <dd>
 <div class="block">Set the receiver function.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/MyClass1.html#setS1-java.lang.String-">setS1(String)</a></span> - Method in class org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/MyClass2.html#setS1-java.lang.String-">setS1(String)</a></span> - Method in class org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt">MyClass2</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/MyClass1.html#setS2-java.lang.String-">setS2(String)</a></span> - Method in class org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#setSeed-long-">setSeed(long)</a></span> - Method in class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></dt>
-<dd>
-<div class="block">Set the seed to be used by subsequently created sensor streams.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setServerURLs-java.lang.String:A-">setServerURLs(String[])</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
 <dd>
 <div class="block">MQTT Server URLs</div>
@@ -4819,91 +4019,6 @@
 <div class="block">Interrupts all user treads and briefly waits for each thread to finish
  execution.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">SimpleFilterTransform</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/SimpleFilterTransform.html#SimpleFilterTransform--">SimpleFilterTransform()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology">SimpleFilterTransform</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">SimplePublisherApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a></dt>
-<dd>
-<div class="block">A simple Kafka publisher topology application.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">SimplePublisherApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a></dt>
-<dd>
-<div class="block">A simple MQTT publisher topology application.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">SimpleReaderApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a></dt>
-<dd>
-<div class="block">A simple JDBC connector sample demonstrating streaming read access
- of a dbms table and creating stream tuples from the results.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">SimpleSimulatedSensor</span></a> - Class in <a href="org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></dt>
-<dd>
-<div class="block">A simple simulated sensor.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#SimpleSimulatedSensor--">SimpleSimulatedSensor()</a></span> - Constructor for class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></dt>
-<dd>
-<div class="block">Create a sensor.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#SimpleSimulatedSensor-double-">SimpleSimulatedSensor(double)</a></span> - Constructor for class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></dt>
-<dd>
-<div class="block">Create a sensor.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#SimpleSimulatedSensor-double-double-">SimpleSimulatedSensor(double, double)</a></span> - Constructor for class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></dt>
-<dd>
-<div class="block">Create a sensor.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#SimpleSimulatedSensor-double-double-org.apache.edgent.analytics.sensors.Range-">SimpleSimulatedSensor(double, double, Range&lt;Double&gt;)</a></span> - Constructor for class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></dt>
-<dd>
-<div class="block">Create a sensor.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">SimpleSubscriberApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a></dt>
-<dd>
-<div class="block">A simple Kafka subscriber topology application.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">SimpleSubscriberApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a></dt>
-<dd>
-<div class="block">A simple MQTT subscriber topology application.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/Util.html#simpleTS--">simpleTS()</a></span> - Static method in class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors">Util</a></dt>
-<dd>
-<div class="block">Generate a simple timestamp with the form <code>HH:mm:ss.SSS</code></div>
-</dd>
-<dt><a href="org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">SimpleWriterApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a></dt>
-<dd>
-<div class="block">A simple JDBC connector sample demonstrating streaming write access
- of a dbms to add stream tuples to a table.</div>
-</dd>
-<dt><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">SimulatedGeofence</span></a> - Class in <a href="org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">org.apache.edgent.test.svt.utils.sensor.gps</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#SimulatedGeofence--">SimulatedGeofence()</a></span> - Constructor for class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGeofence</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">SimulatedGpsSensor</span></a> - Class in <a href="org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">org.apache.edgent.test.svt.utils.sensor.gps</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html#SimulatedGpsSensor--">SimulatedGpsSensor()</a></span> - Constructor for class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGpsSensor</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html#simulatedSensors-org.apache.edgent.connectors.iot.IotDevice-boolean-">simulatedSensors(IotDevice, boolean)</a></span> - Static method in class org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpSensors</a></dt>
-<dd>
-<div class="block">Simulate two bursty sensors and send the readings as IoTF device events
- with an identifier of <code>sensors</code>.</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">SimulatedSensors</span></a> - Class in <a href="org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></dt>
-<dd>
-<div class="block">Streams of simulated sensors.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimulatedSensors.html#SimulatedSensors--">SimulatedSensors()</a></span> - Constructor for class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedSensors</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">SimulatedTemperatureSensor</span></a> - Class in <a href="org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></dt>
-<dd>
-<div class="block">A Simulated temperature sensor.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#SimulatedTemperatureSensor--">SimulatedTemperatureSensor()</a></span> - Constructor for class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedTemperatureSensor</a></dt>
-<dd>
-<div class="block">Create a temperature sensor.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#SimulatedTemperatureSensor-double-org.apache.edgent.analytics.sensors.Range-double-">SimulatedTemperatureSensor(double, Range&lt;Double&gt;, double)</a></span> - Constructor for class org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedTemperatureSensor</a></dt>
-<dd>
-<div class="block">Create a temperature sensor.</div>
-</dd>
 <dt><a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">SingleMetricAbstractOplet</span></a>&lt;<a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>&gt; - Class in <a href="org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></dt>
 <dd>
 <div class="block">Base for metrics oplets which use a single metric object.</div>
@@ -4990,22 +4105,6 @@
 <div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
  <code>splitter</code>.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html#splitAlert-org.apache.edgent.topology.TStream-int-">splitAlert(TStream&lt;JsonObject&gt;, int)</a></span> - Static method in class org.apache.edgent.samples.console.<a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console">ConsoleWaterDetector</a></dt>
-<dd>
-<div class="block">Splits the incoming TStream&lt;JsonObject&gt; into individual TStreams based on the sensor type</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">SplitWithEnumSample</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/SplitWithEnumSample.html#SplitWithEnumSample--">SplitWithEnumSample()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology">SplitWithEnumSample</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology"><span class="typeNameLink">SplitWithEnumSample.LogSeverityEnum</span></a> - Enum in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics"><span class="typeNameLink">SplitWithMetrics</span></a> - Class in <a href="org/apache/edgent/samples/utils/metrics/package-summary.html">org.apache.edgent.samples.utils.metrics</a></dt>
-<dd>
-<div class="block">Instruments a topology with a tuple counter on a specified stream.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html#SplitWithMetrics--">SplitWithMetrics()</a></span> - Constructor for class org.apache.edgent.samples.utils.metrics.<a href="org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">SplitWithMetrics</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanOut.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a></dt>
@@ -5049,6 +4148,10 @@
 <dd>
 <div class="block">Starts the metric <code>ConsoleReporter</code> polling every second.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricsSetup.html#startCSVReporter-java.lang.String-">startCSVReporter(String)</a></span> - Method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></dt>
+<dd>
+<div class="block">Starts the metric <code>CsvReporter</code>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricsSetup.html#startJMXReporter-java.lang.String-">startJMXReporter(String)</a></span> - Method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></dt>
 <dd>
 <div class="block">Starts the metric <code>JMXReporter</code>.</div>
@@ -5069,17 +4172,22 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">StatementSupplier</span></a> - Interface in <a href="org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></dt>
 <dd>
-<div class="block">Function that supplies a JDBC SQL <code>PreparedStatement</code>.</div>
+<div class="block">Function that supplies a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
 </dd>
 <dt><a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic</span></a> - Enum in <a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></dt>
 <dd>
 <div class="block">Statistic implementations.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#statistics-org.apache.edgent.analytics.math3.stat.Statistic...-">statistics(Statistic...)</a></span> - Static method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
+<dt><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic2</span></a> - Enum in <a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></dt>
 <dd>
-<div class="block">Create a function that computes the specified statistics on the list of
- samples and returns a new sample containing the result.</div>
+<div class="block">Statistic implementations.</div>
 </dd>
+<dt><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">StorelessStatistic</span></a> - Class in <a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></dt>
+<dd>
+<div class="block">Univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#StorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic2-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">StorelessStatistic(Statistic2, StorelessUnivariateStatistic)</a></span> - Constructor for class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#streamAliasFromName-java.lang.String-">streamAliasFromName(String)</a></span> - Static method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
 <dd>
 <div class="block">Extract the stream alias from a name</div>
@@ -5151,12 +4259,6 @@
 <dd>
 <div class="block">Utility helpers for StreamScope setup and management.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">StreamTags</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>
-<div class="block">Illustrates tagging TStreams with string labels.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/StreamTags.html#StreamTags--">StreamTags()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology">StreamTags</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#strings-java.lang.String...-">strings(String...)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#strings-java.lang.String...-">strings(String...)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
@@ -5238,13 +4340,13 @@
 <div class="block">Subscribe to the specified topics and yield a stream of tuples
  from the published Kafka records.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">SubscriberApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#sum-java.util.Collection-">sum(Collection&lt;? extends Number&gt;)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
 <dd>
-<div class="block">A Kafka consumer/subscriber topology application.</div>
+<div class="block">Perform a sum of numbers treated as double values, accumulating in a double.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">SubscriberApp</span></a> - Class in <a href="org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#sumInts-java.util.Collection-">sumInts(Collection&lt;? extends Number&gt;)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
 <dd>
-<div class="block">A MQTT subscriber topology application.</div>
+<div class="block">Perform a sum of numbers treated as long values, accumulating in a long.</div>
 </dd>
 <dt><a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Supplier</span></a>&lt;<a href="org/apache/edgent/function/Supplier.html" title="type parameter in Supplier">T</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
 <dd>
@@ -5286,13 +4388,6 @@
 </a>
 <h2 class="title">T</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/AbstractApplication.html#t">t</a></span> - Variable in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#tach-org.apache.edgent.connectors.serial.SerialDevice-">tach(SerialDevice)</a></span> - Static method in class org.apache.edgent.samples.connectors.obd2.<a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2">Obd2Streams</a></dt>
-<dd>
-<div class="block">Get a stream containing vehicle speed (km/h)
- and engine revs (rpm).</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Connector.html#tag-java.lang.String...-">tag(String...)</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></dt>
 <dd>
 <div class="block">Adds the specified tags to the connector.</div>
@@ -5303,17 +4398,6 @@
 <dd>
 <div class="block">Adds the specified tags to the stream.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html#TERMINATE_COUNT">TERMINATE_COUNT</a></span> - Static variable in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology">TerminateAfterNTuples</a></dt>
-<dd>
-<div class="block">The application will terminate the JVM after this tuple count</div>
-</dd>
-<dt><a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">TerminateAfterNTuples</span></a> - Class in <a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></dt>
-<dd>
-<div class="block">This application simulates a crash and terminates the JVM after processing
- a preset number of tuples.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html#TerminateAfterNTuples--">TerminateAfterNTuples()</a></span> - Constructor for class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology">TerminateAfterNTuples</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Deadtime.html#test-T-">test(T)</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a></dt>
 <dd>
 <div class="block">Test the deadtime predicate.</div>
@@ -5377,14 +4461,20 @@
 <div class="block">Create a <code>JsonObject</code> containing the specified <code>fieldNames</code>
  properties each with its corresponding value from <code>fields</code>.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/MvResultMap.html#toJsonObject--">toJsonObject()</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a></dt>
+<dd>
+<div class="block">Returns a <a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(MvResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/ResultMap.html#toJsonObject--">toJsonObject()</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></dt>
+<dd>
+<div class="block">Returns a <a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(ResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#tokenize-java.lang.String-">tokenize(String)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
 <dd>
 <div class="block">Tokenize the specified <code>cmdString</code> in the exact same manner as
- done by <code>Runtime.exec(String)</code>.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/jdbc/PersonData.html#toPersonIds-java.util.List-">toPersonIds(List&lt;Person&gt;)</a></span> - Static method in class org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonData</a></dt>
-<dd>
-<div class="block">Convert a <code>List&lt;Person&gt;</code> to a <code>List&lt;PersonId&gt;</code></div>
+ done by <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runtime.html?is-external=true#exec-java.lang.String-" title="class or interface in java.lang"><code>Runtime.exec(String)</code></a>.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#topic--">topic()</a></span> - Method in interface org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></dt>
 <dd>&nbsp;</dd>
@@ -5426,18 +4516,6 @@
 <dd>
 <div class="block">Provider (factory) for creating topologies.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">TopologyProviderFactory</span></a> - Class in <a href="org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></dt>
-<dd>
-<div class="block">A configuration driven factory for an Edgent topology provider.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/TopologyProviderFactory.html#TopologyProviderFactory-java.util.Properties-">TopologyProviderFactory(Properties)</a></span> - Constructor for class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps">TopologyProviderFactory</a></dt>
-<dd>
-<div class="block">Construct a factory</div>
-</dd>
-<dt><a href="org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">TopologyTestBasic</span></a> - Class in <a href="org/apache/edgent/test/svt/package-summary.html">org.apache.edgent.test.svt</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/TopologyTestBasic.html#TopologyTestBasic--">TopologyTestBasic()</a></span> - Constructor for class org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt">TopologyTestBasic</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Deadtime.html#toString--">toString()</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a></dt>
 <dd>
 <div class="block">Returns a String for development/debug support.</div>
@@ -5466,10 +4544,6 @@
 <dd>
 <div class="block">For debug.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/jdbc/Person.html#toString--">toString()</a></span> - Method in class org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/jdbc/PersonId.html#toString--">toString()</a></span> - Method in class org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonId</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html#toString--">toString()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.Sample.html#toString--">toString()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a></dt>
@@ -5478,12 +4552,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html#toString--">toString()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/MyClass1.html#toString--">toString()</a></span> - Method in class org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/MyClass2.html#toString--">toString()</a></span> - Method in class org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt">MyClass2</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#toString--">toString()</a></span> - Method in class org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/Valve.html#toString--">toString()</a></span> - Method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a></dt>
 <dd>
 <div class="block">Returns a String for development/debug support.</div>
@@ -5496,16 +4564,6 @@
 <dd>
 <div class="block">Return a String treating the endpoints as an unsigned value.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html#traceStream-org.apache.edgent.topology.TStream-java.lang.String-org.apache.edgent.function.Supplier-">traceStream(TStream&lt;T&gt;, String, Supplier&lt;String&gt;)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></dt>
-<dd>
-<div class="block">Trace a stream to System.out if the sensor id's "label" has been configured
- to enable tracing.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/ApplicationUtilities.html#traceStream-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">traceStream(TStream&lt;T&gt;, Supplier&lt;String&gt;)</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></dt>
-<dd>
-<div class="block">Trace a stream to System.out if the "label" has been configured
- to enable tracing.</div>
-</dd>
 <dt><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">TrackingScheduledExecutor</span></a> - Class in <a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></dt>
 <dd>
 <div class="block">Extends a <code>ScheduledThreadPoolExecutor</code> with the ability to track 
@@ -5518,10 +4576,6 @@
 <dd>
 <div class="block">Get the <a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.TriggerManager</code></a></div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html#TS">TS</a></span> - Static variable in interface org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></dt>
-<dd>
-<div class="block">Key ("ts") for timestamp in JSON result.</div>
-</dd>
 <dt><a href="org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TSink</span></a>&lt;<a href="org/apache/edgent/topology/TSink.html" title="type parameter in TSink">T</a>&gt; - Interface in <a href="org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></dt>
 <dd>
 <div class="block">Termination point (sink) for a stream.</div>
@@ -5616,6 +4670,14 @@
 <dd>
 <div class="block">Creates a unique name within the context of the current runtime.</div>
 </dd>
+<dt><a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregate</span></a> - Interface in <a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></dt>
+<dd>
+<div class="block">Univariate aggregate for a tuple.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregator</span></a> - Interface in <a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></dt>
+<dd>
+<div class="block">Univariate aggregator for tuples.</div>
+</dd>
 <dt><a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">UnorderedIsolate</span></a>&lt;<a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></dt>
 <dd>
 <div class="block">Isolate upstream processing from downstream
@@ -5627,6 +4689,10 @@
 <dd>
 <div class="block">Returns a constant function that returns zero (0).</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#unpartitioned--">unpartitioned()</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Returns a constant function that returns a zero (0) JsonElement.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ControlService.html#unregister-java.lang.String-">unregister(String)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></dt>
 <dd>
 <div class="block">Unregister a control bean registered by <a href="org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>ControlService.registerControl(String, String, String, Class, Object)</code></a></div>
@@ -5668,16 +4734,6 @@
 <dd>
 <div class="block">Get the range's upper endpoint.</div>
 </dd>
-<dt><a href="org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Util</span></a> - Class in <a href="org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a></dt>
-<dd>
-<div class="block">Utilities for connector samples.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/Util.html#Util--">Util()</a></span> - Constructor for class org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors">Util</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/AbstractApplication.html#utils--">utils()</a></span> - Method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></dt>
-<dd>
-<div class="block">Get the application's</div>
-</dd>
 </dl>
 <a name="I:V">
 <!--   -->
@@ -5688,18 +4744,22 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#value--">value()</a></span> - Method in interface org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html#VALUE">VALUE</a></span> - Static variable in interface org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></dt>
-<dd>
-<div class="block">Key ("value") for the returned value in JSON result.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Regression.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Regression2.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.BoundType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></dt>
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
@@ -5724,18 +4784,6 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></dt>
-<dd>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Pids01.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></dt>
-<dd>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a></dt>
-<dd>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigDecimal-java.lang.String-">valueOfBigDecimal(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
 <dd>
 <div class="block">Create a Range from a Range&lt;BigDecimal&gt;.toString() value.</div>
@@ -5744,6 +4792,10 @@
 <dd>
 <div class="block">Create a Range from a Range&lt;BigInteger&gt;.toString() value.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#valueOfBoolean-java.lang.String-">valueOfBoolean(String)</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Create a JsonObject with a <code>Boolean</code> property.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfByte-java.lang.String-">valueOfByte(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
 <dd>
 <div class="block">Create a Range from a Range&lt;Byte&gt;.toString() value.</div>
@@ -5752,6 +4804,10 @@
 <dd>
 <div class="block">Create a Range from a Range&lt;Character&gt;.toString() value.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#valueOfCharacter-java.lang.String-">valueOfCharacter(String)</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Create a JsonObject with a <code>Character</code> property.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfDouble-java.lang.String-">valueOfDouble(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
 <dd>
 <div class="block">Create a Range from a Range&lt;Double&gt;.toString() value.</div>
@@ -5768,6 +4824,10 @@
 <dd>
 <div class="block">Create a Range from a Range&lt;Long&gt;.toString() value.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#valueOfNumber-java.lang.String-">valueOfNumber(String)</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Create a JsonObject with a <code>Number</code> property.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfShort-java.lang.String-">valueOfShort(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
 <dd>
 <div class="block">Create a Range from a Range&lt;Short&gt;.toString() value.</div>
@@ -5776,16 +4836,30 @@
 <dd>
 <div class="block">Create a Range from a Range&lt;String&gt;.toString() value.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#valueOfString-java.lang.String-">valueOfString(String)</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Create a JsonObject with a <code>String</code> property.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Regression.html#values--">values()</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Regression2.html#values--">values()</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic.html#values--">values()</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html#values--">values()</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.BoundType.html#values--">values()</a></span> - Static method in enum org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></dt>
 <dd>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -5811,21 +4885,6 @@
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#values--">values()</a></span> - Static method in enum org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></dt>
-<dd>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Pids01.html#values--">values()</a></span> - Static method in enum org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></dt>
-<dd>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#values--">values()</a></span> - Static method in enum org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a></dt>
-<dd>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</dd>
 <dt><a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Valve</span></a>&lt;<a href="org/apache/edgent/topology/plumbing/Valve.html" title="type parameter in Valve">T</a>&gt; - Class in <a href="org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></dt>
 <dd>
 <div class="block">A generic "valve" <a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><code>Predicate</code></a>.</div>
@@ -5858,19 +4917,13 @@
 </a>
 <h2 class="title">W</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/topology/JobExecution.html#WAIT_AFTER_CLOSE">WAIT_AFTER_CLOSE</a></span> - Static variable in class org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology">JobExecution</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#wasRegistered--">wasRegistered()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html#waterDetector-org.apache.edgent.topology.Topology-int-">waterDetector(Topology, int)</a></span> - Static method in class org.apache.edgent.samples.console.<a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console">ConsoleWaterDetector</a></dt>
-<dd>
-<div class="block">Creates a TStream&lt;JsonObject&gt; for each sensor reading for each well.</div>
-</dd>
 <dt><a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient"><span class="typeNameLink">WebSocketClient</span></a> - Interface in <a href="org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a></dt>
 <dd>
 <div class="block">A generic connector for sending and receiving messages to a WebSocket Server.</div>
 </dd>
-<dt><a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Window</span></a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">L</a> extends java.util.List&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;&gt; - Interface in <a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></dt>
+<dt><a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Window</span></a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">L</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;&gt; - Interface in <a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></dt>
 <dd>
 <div class="block">Partitioned window of tuples.</div>
 </dd>
@@ -5888,29 +4941,12 @@
 <dd>
 <div class="block">Returns a new <a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><code>MetricsSetup</code></a> for configuring metrics.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#wrap-org.apache.commons.math3.util.Pair-java.lang.String-">wrap(Pair&lt;Long, T&gt;, String)</a></span> - Static method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
-<dd>
-<div class="block">Create a JsonObject wrapping a raw <code>Pair&lt;Long msec,T reading&gt;&gt;</code> sample.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/apps/JsonTuples.html#wrap-org.apache.edgent.topology.TStream-java.lang.String-">wrap(TStream&lt;Pair&lt;Long, T&gt;&gt;, String)</a></span> - Static method in class org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></dt>
-<dd>
-<div class="block">Create a stream of JsonObject wrapping a stream of 
- raw <code>Pair&lt;Long msec,T reading&gt;&gt;</code> samples.</div>
-</dd>
 <dt><a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">WrappedFunction</span></a>&lt;<a href="org/apache/edgent/function/WrappedFunction.html" title="type parameter in WrappedFunction">F</a>&gt; - Class in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
 <dd>
 <div class="block">A wrapped function.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/function/WrappedFunction.html#WrappedFunction-F-">WrappedFunction(F)</a></span> - Constructor for class org.apache.edgent.function.<a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Cmd.html#writeCmd-java.io.OutputStream-">writeCmd(OutputStream)</a></span> - Method in interface org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></dt>
-<dd>
-<div class="block">How the command is written to the serial port.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#writeCmd-java.io.OutputStream-">writeCmd(OutputStream)</a></span> - Method in enum org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/edgent/samples/connectors/elm327/Pids01.html#writeCmd-java.io.OutputStream-">writeCmd(OutputStream)</a></span> - Method in enum org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#wrote-T-long-">wrote(T, long)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
 <dd>&nbsp;</dd>
 </dl>
@@ -5943,7 +4979,6 @@
 <li class="navBarCell1Rev">Index</li>
 <li><a href="help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -5973,6 +5008,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/index.html b/site/javadoc/latest/index.html
index 42db5b1..b53a58f 100644
--- a/site/javadoc/latest/index.html
+++ b/site/javadoc/latest/index.html
@@ -2,8 +2,9 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Edgent v1.1.0</title>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Apache Edgent (incubating) v1.2.0 API</title>
 <script type="text/javascript">
     tmpTargetPage = "" + window.location.search;
     if (tmpTargetPage != "" && tmpTargetPage != "undefined")
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/Aggregations.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/Aggregations.html
new file mode 100644
index 0000000..2597124
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/Aggregations.html
@@ -0,0 +1,541 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Aggregations (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Aggregations (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Aggregations.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/Aggregations.html" target="_top">Frames</a></li>
+<li><a href="Aggregations.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3</div>
+<h2 title="Class Aggregations" class="title">Class Aggregations</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.Aggregations</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Aggregations</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Apache Common Math analytics for Collections.
+ 
+ <p>These operations are typically used when processing a collection of tuples
+ in a non-partitioned or partitioned <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology"><code>TWindow</code></a>.
+ 
+ <p>Simple sum aggregation functions are also provided (helpful given the avoidance
+ of depending on Java8 Streams).
+ 
+ <p>Example: compute a batched MEAN aggregation for a simple unpartitioned window of
+ numeric <code>TStream&lt;Double&gt;</code> where the desired result is a <code>TStream&lt;Double&gt;</code> of
+ the MEAN values:
+ <pre><code>
+  TStream&lt;Double&gt; pressureReadings = ...
+TWindow&lt;Double,Integer&gt; window = pressureReadings.last(5, Functions.unpartitioned());
+TStream&lt;Double&gt; meanPressureReadings = window.batch(
+      (list, partition) -&gt; Aggregations.aggregate(list, Statistic2.MEAN));
+ </code></pre>
+ 
+ <p>Example: compute the MEAN and SLOPE, capturing the results in a <a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><code>ResultMap</code></a>:
+ <pre><code>
+  TStream&lt;Double&gt; pressureReadings = ...
+TWindow&lt;Double,Integer&gt; window = pressureReadings.last(5, Functions.unpartitioned());
+TStream&lt;ResultMap&gt; meanPressureReadings = window.batch(
+      (list, partition) -&gt; Aggregations.aggregateN(list, Statistic2.MEAN, Regression2.SLOPE));
+ </code></pre>
+ 
+ <p>Example: compute multiple aggregations on multiple variables in a tuple T,
+ capturing the results in a <a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><code>MvResultMap</code></a>:
+ <pre><code>
+class SensorReading { 
+  double getTemp() {...};
+  double getPressure() {...};
+  ... };
+TStream&lt;SensorReading&gt; readings = ...
+TWindow&lt;SensorReading,Integer&gt; window = sensorReadings.last(5, Functions.unpartitioned());
+TStream&lt;MvResultMap&gt; aggregations = window.batch(
+      (list, partition) -&gt; {
+        ResultMap pressureResults = Aggregations.aggregateN(list, t -&gt; t.getPressure(), Statistic2.MEAN, Regression2.SLOPE));
+        ResultMap tempResults = Aggregations.aggregateN(list, t -&gt; t.getTemp(), Statistic2.MAX));
+        MvResultMap results = Aggregations.newMvResults();
+        results.put("pressure", pressureResults);
+        results.put("temp", tempResults);
+        return results;
+      });
+ </code></pre>
+
+ <p>Example: convert a <code>TStream&lt;ResultMap&gt;</code> or <code>TStream&lt;MvResultMap&gt;</code> to a JsonObject:
+ 
+ <pre><code>
+   TStream&lt;ResultMap&gt; resultMap = ...
+ TStream&lt;JsonObject&gt; joResultMap = resultMap.map(ResultMap.toJsonObject());
+ </code></pre>
+ 
+ 
+ <p>Background: 
+ <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><code>JsonAnalytics</code></a> predates this class.  Use of JsonAnalytics for computing
+ Apache Commons Math aggregations requires:
+ <ul>
+ <li>the input stream tuple type must be a JsonObject and the user must identify
+     the property that contains the value to be aggregated.</li>
+ <li>batched window aggregations are not supported (they could be added).</li>
+ <li>the aggregation result tuple is a JsonObject that holds a user-specified
+     property for a window partition key and a user-specified property
+     for a JsonObject holding the UnivariateAggregation results by name (e.g., "MEAN").
+     Accessing a particular aggregation results in the JsonObject
+     is somewhat cumbersome.</li>
+ </ul>
+ 
+ <p>As a result, using JsonAnalytics for simple cases can be a bit unintuitive and cumbersome.  
+ 
+ <p>For example, to JsonAnalytics for a simple case of a continuous aggregation
+ of <code>TStream&lt;Double&gt;</code> =&gt; <code>TStream&lt;Double&gt;</code> of MEAN values:
+ 
+ <pre><code>
+  TStream&lt;Double&gt; pressureReadings = ...
+ 
+ // transform TStream&lt;Double&gt; to TStream&lt;JsonObject&gt;
+ TStream&lt;JsonObject&gt; joPressureReadings = pressureReadings.map(JsonFunctions.valueOfDouble("pressure"));
+ 
+ // aggregate
+ TWindow&lt;JsonObject,JsonElement&gt; window = joPressureReadings.last(5, JsonFunctions.unpartitioned());
+ TStream&lt;JsonObject&gt; results = JsonAnalytics.aggregate(window, "partition", "pressure", Statistic.MEAN);
+  
+ // transform to TStream&lt;Double&gt; mean results
+ TStream&lt;Double&gt; meanPressureReadings = results.map(jo -&gt; jo.get("pressure").getAsObject().get("MEAN").getAsDouble());
+ </code></pre>
+ 
+ <p>Using Aggregations it's simply:
+ 
+ <pre><code>
+TWindow&lt;Double,Integer&gt; window = pressureReadings.last(5, Functions.unpartitioned());
+TStream&lt;Double&gt; meanPressureReadings = window.aggregate(
+      (list, partition) -&gt; Aggregations.aggregate(list, Statistic2.MEAN));
+ </code></pre></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><code>Statistic2</code></a>, 
+<a href="../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><code>Regression2</code></a>, 
+<a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><code>JsonAnalytics</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#Aggregations--">Aggregations</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+         <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+         <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+         <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+          <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+          <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+          <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#sum-java.util.Collection-">sum</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;list)</code>
+<div class="block">Perform a sum of numbers treated as double values, accumulating in a double.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#sumInts-java.util.Collection-">sumInts</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;list)</code>
+<div class="block">Perform a sum of numbers treated as long values, accumulating in a long.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Aggregations--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Aggregations</h4>
+<pre>public&nbsp;Aggregations()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="sum-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sum</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;sum(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;list)</pre>
+<div class="block">Perform a sum of numbers treated as double values, accumulating in a double.
+ An empty list yields a 0.0 result.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>list</code> - numbers to sum</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the sum</dd>
+</dl>
+</li>
+</ul>
+<a name="sumInts-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sumInts</h4>
+<pre>public static&nbsp;long&nbsp;sumInts(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;list)</pre>
+<div class="block">Perform a sum of numbers treated as long values, accumulating in a long.
+ More efficient than sum() for non-floating point values.
+ An empty list yields a 0 result.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>list</code> - numbers to sum</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the sum</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregate-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregate</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;aggregate(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+                               <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</pre>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.
+ 
+ <p>A null result is returned if the collection is empty.
+ An aggregation result may be null under other conditions,
+ e.g., a Regression2.SLOPE where the minimum number of samples has not been met.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - the Collection to aggregate</dd>
+<dd><code>aggregate</code> - the aggregation to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the aggregation result, may be null.</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregateN-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregateN</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&nbsp;aggregateN(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+                                   <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</pre>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.
+  
+ <p>If the collection is empty an empty ResultMap is returned.
+ The ResultMap does not contain an entry for an aggregation with a null,
+ e.g., a Regression2.SLOPE where the minimum number of samples has not been met.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - the Collection to aggregate</dd>
+<dd><code>aggregates</code> - the aggregations to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><code>ResultMap</code></a> containing the variable's aggregation results</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregate-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregate</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;aggregate(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+                                   <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+                                   <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</pre>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.
+ 
+ <p>A null result is returned if the collection is empty.
+ An aggregation result may be null under other conditions,
+ e.g., a Regression2.SLOPE where the minimum number of samples has not been met.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - the Collection to aggregate</dd>
+<dd><code>getter</code> - function that returns the variable to aggregate from a <code>T</code></dd>
+<dd><code>aggregate</code> - the aggregation to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the aggregation result, may be null.</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>aggregateN</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&nbsp;aggregateN(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+                                       <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+                                       <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</pre>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.
+ 
+ <p>If the collection is empty an empty ResultMap is returned.
+ The ResultMap does not contain an entry for an aggregation with a null,
+ e.g., a Regression2.SLOPE where the minimum number of samples has not been met.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - the Collection to aggregate</dd>
+<dd><code>getter</code> - function that returns the variable to aggregate from a <code>T</code></dd>
+<dd><code>aggregates</code> - the aggregations to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><code>ResultMap</code></a> containing the variable's aggregation results</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Aggregations.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/Aggregations.html" target="_top">Frames</a></li>
+<li><a href="Aggregations.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/MvResultMap.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/MvResultMap.html
new file mode 100644
index 0000000..7c450db
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/MvResultMap.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MvResultMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MvResultMap (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MvResultMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/MvResultMap.html" target="_top">Frames</a></li>
+<li><a href="MvResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.util.AbstractMap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3</div>
+<h2 title="Class MvResultMap" class="title">Class MvResultMap</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">java.util.AbstractMap</a>&lt;K,V&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">java.util.HashMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.MvResultMap</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MvResultMap</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&gt;</pre>
+<div class="block">Aggregation results for multiple aggregated variables.
+ 
+ <p>The name of the aggregated variable is typically the key for the variable's <a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><code>ResultMap</code></a>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.analytics.math3.MvResultMap">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.util.AbstractMap">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">AbstractMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">AbstractMap.SimpleEntry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">V</a>&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">AbstractMap.SimpleImmutableEntry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">V</a>&gt;</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.util.Map">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">V</a>&gt;</code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html#MvResultMap--">MvResultMap</a></span>()</code>
+<div class="block">Create a new MvResultMap.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(MvResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.HashMap">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#clear--" title="class or interface in java.util">clear</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#clone--" title="class or interface in java.util">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#compute-K-java.util.function.BiFunction-" title="class or interface in java.util">compute</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#computeIfAbsent-K-java.util.function.Function-" title="class or interface in java.util">computeIfAbsent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#computeIfPresent-K-java.util.function.BiFunction-" title="class or interface in java.util">computeIfPresent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#containsKey-java.lang.Object-" title="class or interface in java.util">containsKey</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#containsValue-java.lang.Object-" title="class or interface in java.util">containsValue</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#entrySet--" title="class or interface in java.util">entrySet</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#forEach-java.util.function.BiConsumer-" title="class or interface in java.util">forEach</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#get-java.lang.Object-" title="class or interface in java.util">get</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#getOrDefault-java.lang.Object-V-" title="class or interface in java.util">getOrDefault</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#isEmpty--" title="class or interface in java.util">isEmpty</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#keySet--" title="class or interface in java.util">keySet</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#merge-K-V-java.util.function.BiFunction-" title="class or interface in java.util">merge</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#put-K-V-" title="class or interface in java.util">put</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#putAll-java.util.Map-" title="class or interface in java.util">putAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#putIfAbsent-K-V-" title="class or interface in java.util">putIfAbsent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#remove-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#remove-java.lang.Object-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replace-K-V-" title="class or interface in java.util">replace</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replace-K-V-V-" title="class or interface in java.util">replace</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replaceAll-java.util.function.BiFunction-" title="class or interface in java.util">replaceAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#size--" title="class or interface in java.util">size</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#values--" title="class or interface in java.util">values</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractMap">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">AbstractMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#hashCode--" title="class or interface in java.util">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#toString--" title="class or interface in java.util">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.Map">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#hashCode--" title="class or interface in java.util">hashCode</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MvResultMap--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MvResultMap</h4>
+<pre>public&nbsp;MvResultMap()</pre>
+<div class="block">Create a new MvResultMap.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="toJsonObject--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toJsonObject</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a>,com.google.gson.JsonObject&gt;&nbsp;toJsonObject()</pre>
+<div class="block">Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(MvResultMap)</code> converts the value
+ to a <code>JsonObject</code>.
+ 
+ <p>The JsonObject property names are the MvResultMap's keys and the property
+ values are the key's associated ResultMap value as a JsonObject.
+ 
+ <p>An example resulting JsonObject would be 
+ <pre>{ "temperature":{"MEAN":123.75, "MAX":180.5}, "pressure":{"MAX":13.0} }</pre>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the JsonObject</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html#toJsonObject--"><code>ResultMap.toJsonObject()</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MvResultMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/MvResultMap.html" target="_top">Frames</a></li>
+<li><a href="MvResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.util.AbstractMap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/ResultMap.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/ResultMap.html
new file mode 100644
index 0000000..5daf644
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/ResultMap.html
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ResultMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ResultMap (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ResultMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/ResultMap.html" target="_top">Frames</a></li>
+<li><a href="ResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.util.AbstractMap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3</div>
+<h2 title="Class ResultMap" class="title">Class ResultMap</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">java.util.AbstractMap</a>&lt;K,V&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">java.util.HashMap</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.ResultMap</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ResultMap</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</pre>
+<div class="block">Aggregation results for a single aggregated variable.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.analytics.math3.ResultMap">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.util.AbstractMap">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">AbstractMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">AbstractMap.SimpleEntry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">V</a>&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">AbstractMap.SimpleImmutableEntry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">V</a>&gt;</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.util.Map">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">V</a>&gt;</code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html#ResultMap--">ResultMap</a></span>()</code>
+<div class="block">Create a new ResultMap.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(ResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.HashMap">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#clear--" title="class or interface in java.util">clear</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#clone--" title="class or interface in java.util">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#compute-K-java.util.function.BiFunction-" title="class or interface in java.util">compute</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#computeIfAbsent-K-java.util.function.Function-" title="class or interface in java.util">computeIfAbsent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#computeIfPresent-K-java.util.function.BiFunction-" title="class or interface in java.util">computeIfPresent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#containsKey-java.lang.Object-" title="class or interface in java.util">containsKey</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#containsValue-java.lang.Object-" title="class or interface in java.util">containsValue</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#entrySet--" title="class or interface in java.util">entrySet</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#forEach-java.util.function.BiConsumer-" title="class or interface in java.util">forEach</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#get-java.lang.Object-" title="class or interface in java.util">get</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#getOrDefault-java.lang.Object-V-" title="class or interface in java.util">getOrDefault</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#isEmpty--" title="class or interface in java.util">isEmpty</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#keySet--" title="class or interface in java.util">keySet</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#merge-K-V-java.util.function.BiFunction-" title="class or interface in java.util">merge</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#put-K-V-" title="class or interface in java.util">put</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#putAll-java.util.Map-" title="class or interface in java.util">putAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#putIfAbsent-K-V-" title="class or interface in java.util">putIfAbsent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#remove-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#remove-java.lang.Object-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replace-K-V-" title="class or interface in java.util">replace</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replace-K-V-V-" title="class or interface in java.util">replace</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replaceAll-java.util.function.BiFunction-" title="class or interface in java.util">replaceAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#size--" title="class or interface in java.util">size</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#values--" title="class or interface in java.util">values</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractMap">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">AbstractMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#hashCode--" title="class or interface in java.util">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#toString--" title="class or interface in java.util">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.Map">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#hashCode--" title="class or interface in java.util">hashCode</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ResultMap--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ResultMap</h4>
+<pre>public&nbsp;ResultMap()</pre>
+<div class="block">Create a new ResultMap.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="toJsonObject--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toJsonObject</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>,com.google.gson.JsonObject&gt;&nbsp;toJsonObject()</pre>
+<div class="block"><p>Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(ResultMap)</code> converts the value
+ to a <code>JsonObject</code>.
+ 
+ <p>The JsonObject property names are the ResultMap's keys and the property
+ values are the key's associated Double map value.
+ 
+ <p>An example resulting JsonObject would be 
+ <pre>{ "MEAN":3.75, "MIN":2.0 }</pre>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the JsonObject</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ResultMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/ResultMap.html" target="_top">Frames</a></li>
+<li><a href="ResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.util.AbstractMap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/UnivariateAggregate.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/UnivariateAggregate.html
new file mode 100644
index 0000000..fe0c079
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/UnivariateAggregate.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="UnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnivariateAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/UnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3</div>
+<h2 title="Interface UnivariateAggregate" class="title">Interface UnivariateAggregate</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&gt;</dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>, <a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">UnivariateAggregate</span>
+extends <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&gt;</pre>
+<div class="block">Univariate aggregate for a tuple.
+ This is the declaration of the aggregate that
+ application use when declaring a topology.
+ <P>
+ Implementations are typically enums such
+ as <a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><code>Statistic2</code></a>.
+ </P>
+ <P>
+ Each call to <code>get()</code> must return a new
+ <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><code>aggregator</code></a>
+ that implements the required aggregate.
+ </P></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><code>Aggregations</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html#name--">name</a></span>()</code>
+<div class="block">Name of the aggregate.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.function.Supplier">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></h3>
+<code><a href="../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="name--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>name</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name()</pre>
+<div class="block">Name of the aggregate.
+ The returned value is used as the JSON key containing
+ the result of the aggregation.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Name of the aggregate.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnivariateAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/UnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/UnivariateAggregator.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/UnivariateAggregator.html
new file mode 100644
index 0000000..a9b56d6
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/UnivariateAggregator.html
@@ -0,0 +1,299 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="UnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnivariateAggregator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/UnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3</div>
+<h2 title="Interface UnivariateAggregator" class="title">Interface UnivariateAggregator</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">UnivariateAggregator</span></pre>
+<div class="block">Univariate aggregator for tuples.
+ This is the runtime implementation interface
+ of <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> defined aggregate.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#clear-int-">clear</a></span>(int&nbsp;n)</code>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getAggregate--">getAggregate</a></span>()</code>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getResult--">getResult</a></span>()</code>
+<div class="block">Get the aggregation result.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#increment-double-">increment</a></span>(double&nbsp;value)</code>
+<div class="block">Add a value to the aggregation.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getAggregate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAggregate</h4>
+<pre><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;getAggregate()</pre>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the aggregate</dd>
+</dl>
+</li>
+</ul>
+<a name="clear-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>void&nbsp;clear(int&nbsp;n)</pre>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>n</code> - Number of tuples to be aggregated.</dd>
+</dl>
+</li>
+</ul>
+<a name="increment-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>increment</h4>
+<pre>void&nbsp;increment(double&nbsp;value)</pre>
+<div class="block">Add a value to the aggregation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - Value to be added.</dd>
+</dl>
+</li>
+</ul>
+<a name="getResult--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getResult</h4>
+<pre>double&nbsp;getResult()</pre>
+<div class="block">Get the aggregation result.  It may be a NaN (empty collection, etc) or Infinite value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the result</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnivariateAggregator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/UnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/Aggregations.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/Aggregations.html
new file mode 100644
index 0000000..df23363
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/Aggregations.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.Aggregations (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.Aggregations (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/Aggregations.html" target="_top">Frames</a></li>
+<li><a href="Aggregations.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.Aggregations" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.Aggregations</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.analytics.math3.Aggregations</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/Aggregations.html" target="_top">Frames</a></li>
+<li><a href="Aggregations.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/MvResultMap.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/MvResultMap.html
new file mode 100644
index 0000000..20c816e
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/MvResultMap.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.MvResultMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.MvResultMap (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/MvResultMap.html" target="_top">Frames</a></li>
+<li><a href="MvResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.MvResultMap" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.MvResultMap</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a> in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> that return types with arguments of type <a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</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="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MvResultMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(MvResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/MvResultMap.html" target="_top">Frames</a></li>
+<li><a href="MvResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/ResultMap.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/ResultMap.html
new file mode 100644
index 0000000..5bf48eb
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/ResultMap.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.ResultMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.ResultMap (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/ResultMap.html" target="_top">Frames</a></li>
+<li><a href="ResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.ResultMap" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.ResultMap</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a> in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> that return <a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</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="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+          <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+          <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+          <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> that return types with arguments of type <a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</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="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ResultMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(ResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/ResultMap.html" target="_top">Frames</a></li>
+<li><a href="ResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html
new file mode 100644
index 0000000..d9989e1
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregate" class="title">Uses of Interface<br>org.apache.edgent.analytics.math3.UnivariateAggregate</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a> in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> that return <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">UnivariateAggregator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getAggregate--">getAggregate</a></span>()</code>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> with parameters of type <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</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/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+         <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+         <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+         <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+          <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+          <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+          <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a> in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that implement <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></span></code>
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></span></code>
+<div class="block">Statistic implementations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that return <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">StorelessStatistic.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#getAggregate--">getAggregate</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html
new file mode 100644
index 0000000..1de9fb8
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregator" class="title">Uses of Interface<br>org.apache.edgent.analytics.math3.UnivariateAggregator</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a> in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that implement <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></span></code>
+<div class="block">Univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that return <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Statistic2.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#get--">get</a></span>()</code>
+<div class="block">Return a new instance of this statistic implementation.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonAnalytics.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonAnalytics.html
index 7490ee9..7a0a4b5 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonAnalytics.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonAnalytics.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>JsonAnalytics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonAnalytics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JsonAnalytics (Edgent v1.1.0)";
+            parent.document.title="JsonAnalytics (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.analytics.math3.json.JsonAnalytics</li>
@@ -110,8 +111,12 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">JsonAnalytics</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Apache Common Math analytics for streams with JSON tuples.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><code>Aggregations</code></a></dd>
+</dl>
 </li>
 </ul>
 </div>
@@ -150,8 +155,8 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-         java.lang.String&nbsp;resultPartitionProperty,
-         java.lang.String&nbsp;valueProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valueProperty,
          <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
 </td>
@@ -159,17 +164,17 @@
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-         java.lang.String&nbsp;resultPartitionProperty,
-         java.lang.String&nbsp;resultProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
          <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
          <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(java.lang.String&nbsp;resultPartitionProperty,
-             java.lang.String&nbsp;resultProperty,
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
              <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
              <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Create a Function that aggregates against a single <code>Numeric</code>
@@ -179,8 +184,8 @@
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>static com.google.gson.JsonElement</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#getMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">getMvAggregate</a></span>(com.google.gson.JsonObject&nbsp;jo,
-              java.lang.String&nbsp;resultProperty,
-              java.lang.String&nbsp;variableName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
               <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</code>
 <div class="block">Get the value of an aggregate computed by a multi-variable aggregation.</div>
 </td>
@@ -188,16 +193,16 @@
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#hasMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">hasMvAggregate</a></span>(com.google.gson.JsonObject&nbsp;jo,
-              java.lang.String&nbsp;resultProperty,
-              java.lang.String&nbsp;variableName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
               <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</code>
 <div class="block">Check if an aggregation result from a multi-variable aggregation
  is present.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>static org.apache.commons.math3.util.Pair&lt;java.lang.String,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">mkAggregationSpec</a></span>(java.lang.String&nbsp;variableName,
+<td class="colFirst"><code>static org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">mkAggregationSpec</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
                  <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Create an aggregation specification.</div>
 </td>
@@ -205,17 +210,17 @@
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-">mvAggregate</a></span>(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-           java.lang.String&nbsp;resultPartitionKeyProperty,
-           java.lang.String&nbsp;resultProperty,
-           java.util.List&lt;org.apache.commons.math3.util.Pair&lt;java.lang.String,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
 <div class="block">Aggregate against multiple <code>Numeric</code> variables contained in an JSON object.</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-">mvAggregateList</a></span>(java.lang.String&nbsp;resultPartitionKeyProperty,
-               java.lang.String&nbsp;resultProperty,
-               java.util.List&lt;org.apache.commons.math3.util.Pair&lt;java.lang.String,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-">mvAggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
 <div class="block">Create a Function that aggregates multiple <code>Numeric</code>
  variables contained in an JSON object.</div>
 </td>
@@ -225,8 +230,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -266,8 +271,8 @@
 <li class="blockList">
 <h4>aggregate</h4>
 <pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;aggregate(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-                                                                                                    java.lang.String&nbsp;resultPartitionProperty,
-                                                                                                    java.lang.String&nbsp;valueProperty,
+                                                                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+                                                                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valueProperty,
                                                                                                     <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</pre>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.
  
@@ -318,8 +323,8 @@
 <li class="blockList">
 <h4>aggregate</h4>
 <pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;aggregate(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-                                                                                                    java.lang.String&nbsp;resultPartitionProperty,
-                                                                                                    java.lang.String&nbsp;resultProperty,
+                                                                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+                                                                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
                                                                                                     <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
                                                                                                     <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</pre>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.
@@ -356,10 +361,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>aggregateList</h4>
-<pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;&nbsp;aggregateList(java.lang.String&nbsp;resultPartitionProperty,
-                                                                                                                                                        java.lang.String&nbsp;resultProperty,
-                                                                                                                                                        <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
-                                                                                                                                                        <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</pre>
+<pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;&nbsp;aggregateList(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+                                                                                                                                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+                                                                                                                                              <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+                                                                                                                                              <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</pre>
 <div class="block">Create a Function that aggregates against a single <code>Numeric</code>
  variable contained in an JSON object.
  
@@ -410,9 +415,9 @@
 <li class="blockList">
 <h4>mvAggregate</h4>
 <pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;mvAggregate(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-                                                                                                      java.lang.String&nbsp;resultPartitionKeyProperty,
-                                                                                                      java.lang.String&nbsp;resultProperty,
-                                                                                                      java.util.List&lt;org.apache.commons.math3.util.Pair&lt;java.lang.String,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</pre>
+                                                                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+                                                                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+                                                                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</pre>
 <div class="block">Aggregate against multiple <code>Numeric</code> variables contained in an JSON object.
  <P>
  This is a multi-variable analog of <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-"><code>aggregate()</code></a>
@@ -455,13 +460,15 @@
     });
  </code></pre></div>
 <dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - Partition type</dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>window</code> - the window to compute aggregations over</dd>
 <dd><code>resultPartitionKeyProperty</code> - name of the partition key property in the result</dd>
 <dd><code>resultProperty</code> - name of the aggregation results property in the result</dd>
 <dd><code>aggregateSpecs</code> - see <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-"><code>mkAggregationSpec()</code></a></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>TStream<JsonObject> with aggregation results</dd>
+<dd>TStream&lt;JsonObject&gt; with aggregation results</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-"><code>mvAggregateList()</code></a>, 
 <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-"><code>mkAggregationSpec()</code></a>, 
@@ -475,8 +482,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>mkAggregationSpec</h4>
-<pre>public static&nbsp;org.apache.commons.math3.util.Pair&lt;java.lang.String,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&nbsp;mkAggregationSpec(java.lang.String&nbsp;variableName,
-                                                                                                               <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</pre>
+<pre>public static&nbsp;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&nbsp;mkAggregationSpec(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
+                                                                                                     <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</pre>
 <div class="block">Create an aggregation specification.
  <P>
  The aggregation specification specifies a variable name and
@@ -499,9 +506,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>mvAggregateList</h4>
-<pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;&nbsp;mvAggregateList(java.lang.String&nbsp;resultPartitionKeyProperty,
-                                                                                                                                                          java.lang.String&nbsp;resultProperty,
-                                                                                                                                                          java.util.List&lt;org.apache.commons.math3.util.Pair&lt;java.lang.String,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</pre>
+<pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;&nbsp;mvAggregateList(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+                                                                                                                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+                                                                                                                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</pre>
 <div class="block">Create a Function that aggregates multiple <code>Numeric</code>
  variables contained in an JSON object.
  <P>
@@ -564,8 +571,8 @@
 <li class="blockList">
 <h4>getMvAggregate</h4>
 <pre>public static&nbsp;com.google.gson.JsonElement&nbsp;getMvAggregate(com.google.gson.JsonObject&nbsp;jo,
-                                                         java.lang.String&nbsp;resultProperty,
-                                                         java.lang.String&nbsp;variableName,
+                                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+                                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
                                                          <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</pre>
 <div class="block">Get the value of an aggregate computed by a multi-variable aggregation.
  <P>
@@ -597,7 +604,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the variable's aggregate's value as a JsonElement</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.RuntimeException</code> - if the aggregate isn't present in the result</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</a></code> - if the aggregate isn't present in the result</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#hasMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-"><code>hasAggregate()</code></a>, 
 <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-"><code>mvAggregate()</code></a>, 
@@ -612,8 +619,8 @@
 <li class="blockList">
 <h4>hasMvAggregate</h4>
 <pre>public static&nbsp;boolean&nbsp;hasMvAggregate(com.google.gson.JsonObject&nbsp;jo,
-                                     java.lang.String&nbsp;resultProperty,
-                                     java.lang.String&nbsp;variableName,
+                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
                                      <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</pre>
 <div class="block">Check if an aggregation result from a multi-variable aggregation
  is present.</div>
@@ -655,7 +662,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -700,6 +706,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html
index d888f63..11221f2 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>JsonUnivariateAggregate (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonUnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JsonUnivariateAggregate (Edgent v1.1.0)";
+            parent.document.title="JsonUnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -101,7 +102,7 @@
 <li class="blockList">
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&gt;</dd>
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
@@ -146,7 +147,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#N">N</a></span></code>
 <div class="block">JSON key used for representation of the number
  of tuples that were aggregated.</div>
@@ -168,7 +169,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#name--">name</a></span>()</code>
 <div class="block">Name of the aggregate.</div>
 </td>
@@ -201,7 +202,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>N</h4>
-<pre>static final&nbsp;java.lang.String N</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> N</pre>
 <div class="block">JSON key used for representation of the number
  of tuples that were aggregated. Value is "N".</div>
 <dl>
@@ -224,7 +225,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>name</h4>
-<pre>java.lang.String&nbsp;name()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name()</pre>
 <div class="block">Name of the aggregate.
  The returned value is used as the JSON key containing
  the result of the aggregation.</div>
@@ -259,7 +260,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -304,6 +304,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html
index 6bb4a2f..01ba826 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>JsonUnivariateAggregator (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonUnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JsonUnivariateAggregator (Edgent v1.1.0)";
+            parent.document.title="JsonUnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -238,7 +239,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonAnalytics.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonAnalytics.html
index 23efc62..c32bf13 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonAnalytics.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonAnalytics.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.analytics.math3.json.JsonAnalytics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.json.JsonAnalytics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.json.JsonAnalytics (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.json.JsonAnalytics (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregate.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregate.html
index da408d4..05ef57b 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregate.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregate.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -113,8 +114,8 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-         java.lang.String&nbsp;resultPartitionProperty,
-         java.lang.String&nbsp;valueProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valueProperty,
          <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
 </td>
@@ -122,17 +123,17 @@
 <tr class="rowColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-         java.lang.String&nbsp;resultPartitionProperty,
-         java.lang.String&nbsp;resultProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
          <a href="../../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
          <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(java.lang.String&nbsp;resultPartitionProperty,
-             java.lang.String&nbsp;resultProperty,
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
              <a href="../../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
              <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Create a Function that aggregates against a single <code>Numeric</code>
@@ -142,8 +143,8 @@
 <tr class="rowColor">
 <td class="colFirst"><code>static com.google.gson.JsonElement</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#getMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">getMvAggregate</a></span>(com.google.gson.JsonObject&nbsp;jo,
-              java.lang.String&nbsp;resultProperty,
-              java.lang.String&nbsp;variableName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
               <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</code>
 <div class="block">Get the value of an aggregate computed by a multi-variable aggregation.</div>
 </td>
@@ -151,16 +152,16 @@
 <tr class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#hasMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">hasMvAggregate</a></span>(com.google.gson.JsonObject&nbsp;jo,
-              java.lang.String&nbsp;resultProperty,
-              java.lang.String&nbsp;variableName,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
               <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</code>
 <div class="block">Check if an aggregation result from a multi-variable aggregation
  is present.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static org.apache.commons.math3.util.Pair&lt;java.lang.String,<a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">mkAggregationSpec</a></span>(java.lang.String&nbsp;variableName,
+<td class="colFirst"><code>static org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">mkAggregationSpec</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
                  <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Create an aggregation specification.</div>
 </td>
@@ -211,12 +212,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -246,6 +246,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregator.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregator.html
index 5bc3877..f926243 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregator.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregator.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregator (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregator (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -145,12 +146,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-frame.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-frame.html
index fd0780f..b20b49a 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.analytics.math3.json (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-summary.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-summary.html
index 263fdcb..c7d8207 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.analytics.math3.json (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.analytics.math3.json (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.analytics.math3.json (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -43,7 +44,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Package</li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -143,11 +144,10 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev&nbsp;Package</li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-tree.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-tree.html
index 25affc9..aa55134 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.analytics.math3.json Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.json Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.analytics.math3.json Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.analytics.math3.json Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -43,7 +44,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev</li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/package-tree.html">Prev</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonAnalytics</span></a></li>
 </ul>
@@ -88,7 +89,7 @@
 <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
 <ul>
 <li type="circle">org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonUnivariateAggregator</span></a></li>
-<li type="circle">java.io.Serializable
+<li type="circle">java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
 <ul>
 <li type="circle">org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Supplier</span></a>&lt;T&gt;
 <ul>
@@ -117,11 +118,10 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li>Prev</li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/package-tree.html">Prev</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -147,6 +147,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-use.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-use.html
index ed222f9..df4861a 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/json/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.analytics.math3.json (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.analytics.math3.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.analytics.math3.json (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.analytics.math3.json (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -156,7 +157,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/package-frame.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/package-frame.html
new file mode 100644
index 0000000..3ddf0c4
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/package-frame.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html" target="classFrame">org.apache.edgent.analytics.math3</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3" target="classFrame"><span class="interfaceName">UnivariateAggregate</span></a></li>
+<li><a href="UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3" target="classFrame"><span class="interfaceName">UnivariateAggregator</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Aggregations.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">Aggregations</a></li>
+<li><a href="MvResultMap.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">MvResultMap</a></li>
+<li><a href="ResultMap.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">ResultMap</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/package-summary.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/package-summary.html
new file mode 100644
index 0000000..b62a297
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/package-summary.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.analytics.math3 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.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>Prev&nbsp;Package</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.analytics.math3</h1>
+<div class="docSummary">
+<div class="block">Analytics using Apache Commons Math.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></td>
+<td class="colLast">
+<div class="block">Univariate aggregate for a tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></td>
+<td class="colLast">
+<div class="block">Univariate aggregator for tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></td>
+<td class="colLast">
+<div class="block">Apache Common Math analytics for Collections.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a></td>
+<td class="colLast">
+<div class="block">Aggregation results for multiple aggregated variables.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></td>
+<td class="colLast">
+<div class="block">Aggregation results for a single aggregated variable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.analytics.math3 Description">Package org.apache.edgent.analytics.math3 Description</h2>
+<div class="block">Analytics using Apache Commons Math.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.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>Prev&nbsp;Package</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/package-tree.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/package-tree.html
new file mode 100644
index 0000000..a148177
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/package-tree.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3 Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.analytics.math3 Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/json/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.analytics.math3</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractMap</span></a>&lt;K,V&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;)
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">HashMap</span></a>&lt;K,V&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">MvResultMap</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">ResultMap</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Aggregations</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
+<ul>
+<li type="circle">org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Supplier</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregate</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregator</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/json/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/package-use.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/package-use.html
new file mode 100644
index 0000000..369f169
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/package-use.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.analytics.math3 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.analytics.math3 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.analytics.math3" class="title">Uses of Package<br>org.apache.edgent.analytics.math3</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> used by <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/math3/class-use/MvResultMap.html#org.apache.edgent.analytics.math3">MvResultMap</a>
+<div class="block">Aggregation results for multiple aggregated variables.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/math3/class-use/ResultMap.html#org.apache.edgent.analytics.math3">ResultMap</a>
+<div class="block">Aggregation results for a single aggregated variable.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html#org.apache.edgent.analytics.math3">UnivariateAggregate</a>
+<div class="block">Univariate aggregate for a tuple.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> used by <a href="../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html#org.apache.edgent.analytics.math3.stat">UnivariateAggregate</a>
+<div class="block">Univariate aggregate for a tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html#org.apache.edgent.analytics.math3.stat">UnivariateAggregator</a>
+<div class="block">Univariate aggregator for tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html
index 71f4091..d7932e4 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>JsonStorelessStatistic (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonStorelessStatistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JsonStorelessStatistic (Edgent v1.1.0)";
+            parent.document.title="JsonStorelessStatistic (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.analytics.math3.stat.JsonStorelessStatistic</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">JsonStorelessStatistic</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></pre>
 <div class="block">JSON univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
 </li>
@@ -179,8 +180,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -298,7 +299,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -343,6 +343,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Regression.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Regression.html
index 0f68b8a..a5f98e9 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Regression.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Regression.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>Regression (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Regression (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Regression (Edgent v1.1.0)";
+            parent.document.title="Regression (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -50,7 +51,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Regression.html" target="_top">Frames</a></li>
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>java.lang.Enum&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&gt;</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.analytics.math3.stat.Regression</li>
@@ -114,12 +115,12 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&gt;, <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&gt;, <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public enum <span class="typeNameLabel">Regression</span>
-extends java.lang.Enum&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&gt;
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&gt;
 implements <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></pre>
 <div class="block">Univariate regression aggregates.</div>
 </li>
@@ -176,7 +177,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -192,15 +193,15 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate">
@@ -289,7 +290,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -300,8 +301,8 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the enum constant with the specified name</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
 </dl>
 </li>
 </ul>
@@ -330,12 +331,11 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Regression.html" target="_top">Frames</a></li>
@@ -375,6 +375,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Regression2.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Regression2.html
new file mode 100644
index 0000000..44927c3
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Regression2.html
@@ -0,0 +1,368 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Regression2 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Regression2 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Regression2.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Regression2.html" target="_top">Frames</a></li>
+<li><a href="Regression2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.stat</div>
+<h2 title="Enum Regression2" class="title">Enum Regression2</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.stat.Regression2</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>&gt;, <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public enum <span class="typeNameLabel">Regression2</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>&gt;
+implements <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></pre>
+<div class="block">Univariate regression aggregates.
+
+ Unfortunately the implicitly-Json Regression wasn't named JsonRegresson.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html#SLOPE">SLOPE</a></span></code>
+<div class="block">Calculate the slope of a single variable.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.analytics.math3.UnivariateAggregate">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.analytics.math3.<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></h3>
+<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html#name--">name</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.function.Supplier">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></h3>
+<code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="SLOPE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SLOPE</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a> SLOPE</pre>
+<div class="block">Calculate the slope of a single variable.
+ The slope is calculated using the first
+ order of a ordinary least squares
+ linear regression.
+ The list of values for the single
+ single variable are processed as Y-values
+ that are evenly spaced on the X-axis.
+ <BR>
+ This is useful as a simple determination
+ if the variable is increasing or decreasing.
+ <BR>
+ The slope value is represented as a <code>double</code>
+ with the key <code>SLOPE</code> in the aggregate result.
+ <BR>
+ If the collection to be aggregated contains less than
+ two values then no regression is performed 
+ (an associated UnivariateAggregator.getResult() returns NaN).</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Regression2 c : Regression2.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Regression2.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Regression2.html" target="_top">Frames</a></li>
+<li><a href="Regression2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Statistic.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Statistic.html
index 831506e..416fd2e 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Statistic.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Statistic.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>Statistic (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Statistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Statistic (Edgent v1.1.0)";
+            parent.document.title="Statistic (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -49,8 +50,8 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Statistic.html" target="_top">Frames</a></li>
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>java.lang.Enum&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&gt;</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.analytics.math3.stat.Statistic</li>
@@ -114,12 +115,12 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&gt;, <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&gt;, <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public enum <span class="typeNameLabel">Statistic</span>
-extends java.lang.Enum&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&gt;
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&gt;
 implements <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></pre>
 <div class="block">Statistic implementations.
  
@@ -209,7 +210,7 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -225,15 +226,15 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate">
@@ -348,7 +349,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -359,8 +360,8 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the enum constant with the specified name</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
 </dl>
 </li>
 </ul>
@@ -405,12 +406,11 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Statistic.html" target="_top">Frames</a></li>
@@ -450,6 +450,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Statistic2.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Statistic2.html
new file mode 100644
index 0000000..daad47f
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/Statistic2.html
@@ -0,0 +1,460 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Statistic2 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Statistic2 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Statistic2.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Statistic2.html" target="_top">Frames</a></li>
+<li><a href="Statistic2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.stat</div>
+<h2 title="Enum Statistic2" class="title">Enum Statistic2</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.stat.Statistic2</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&gt;, <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public enum <span class="typeNameLabel">Statistic2</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&gt;
+implements <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></pre>
+<div class="block">Statistic implementations.
+ 
+ Univariate statistic aggregate calculations against a value
+ extracted from a tuple.
+ 
+ Unfortunately the implicitly-Json Statistic wasn't named JsonStatistic.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><code>Aggregations</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#COUNT">COUNT</a></span></code>
+<div class="block">Calculate the number of elements in the collection.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#MAX">MAX</a></span></code>
+<div class="block">Calculate the maximum.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#MEAN">MEAN</a></span></code>
+<div class="block">Calculate the arithmetic mean.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#MIN">MIN</a></span></code>
+<div class="block">Calculate the minimum.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#STDDEV">STDDEV</a></span></code>
+<div class="block">Calculate the standard deviation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#SUM">SUM</a></span></code>
+<div class="block">Calculate the sum.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#get--">get</a></span>()</code>
+<div class="block">Return a new instance of this statistic implementation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.analytics.math3.UnivariateAggregate">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.analytics.math3.<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></h3>
+<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html#name--">name</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="COUNT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COUNT</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> COUNT</pre>
+<div class="block">Calculate the number of elements in the collection.
+ The value is represented as a <code>double</code>
+ with the key <code>COUNT</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="MEAN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MEAN</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> MEAN</pre>
+<div class="block">Calculate the arithmetic mean.
+ The mean value is represented as a <code>double</code>
+ with the key <code>MEAN</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="MIN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MIN</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> MIN</pre>
+<div class="block">Calculate the minimum.
+ The minimum value is represented as a <code>double</code>
+ with the key <code>MIN</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="MAX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MAX</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> MAX</pre>
+<div class="block">Calculate the maximum.
+ The maximum value is represented as a <code>double</code>
+ with the key <code>MAXIMUM</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="SUM">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SUM</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> SUM</pre>
+<div class="block">Calculate the sum.
+ The sum is represented as a <code>double</code>
+ with the key <code>SUM</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="STDDEV">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>STDDEV</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> STDDEV</pre>
+<div class="block">Calculate the standard deviation.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Statistic2 c : Statistic2.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+<a name="get--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>get</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&nbsp;get()</pre>
+<div class="block">Return a new instance of this statistic implementation.
+ N.B. must call clear(n) before using the result.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new instance of this statistic implementation.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Statistic2.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Statistic2.html" target="_top">Frames</a></li>
+<li><a href="Statistic2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/StorelessStatistic.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/StorelessStatistic.html
new file mode 100644
index 0000000..3f00ca9
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/StorelessStatistic.html
@@ -0,0 +1,362 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StorelessStatistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StorelessStatistic (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StorelessStatistic.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="StorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.stat</div>
+<h2 title="Class StorelessStatistic" class="title">Class StorelessStatistic</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.stat.StorelessStatistic</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">StorelessStatistic</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></pre>
+<div class="block">Univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#StorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic2-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">StorelessStatistic</a></span>(<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&nbsp;stat,
+                  org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic&nbsp;statImpl)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#clear-int-">clear</a></span>(int&nbsp;n)</code>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#getAggregate--">getAggregate</a></span>()</code>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#getResult--">getResult</a></span>()</code>
+<div class="block">Get the aggregation result.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#increment-double-">increment</a></span>(double&nbsp;v)</code>
+<div class="block">Add a value to the aggregation.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="StorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic2-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StorelessStatistic</h4>
+<pre>public&nbsp;StorelessStatistic(<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&nbsp;stat,
+                          org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic&nbsp;statImpl)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getAggregate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAggregate</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;getAggregate()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getAggregate--">UnivariateAggregator</a></code></span></div>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getAggregate--">getAggregate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the aggregate</dd>
+</dl>
+</li>
+</ul>
+<a name="clear-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>public&nbsp;void&nbsp;clear(int&nbsp;n)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#clear-int-">UnivariateAggregator</a></code></span></div>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#clear-int-">clear</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>n</code> - Number of tuples to be aggregated.</dd>
+</dl>
+</li>
+</ul>
+<a name="increment-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>increment</h4>
+<pre>public&nbsp;void&nbsp;increment(double&nbsp;v)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#increment-double-">UnivariateAggregator</a></code></span></div>
+<div class="block">Add a value to the aggregation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#increment-double-">increment</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>v</code> - Value to be added.</dd>
+</dl>
+</li>
+</ul>
+<a name="getResult--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getResult</h4>
+<pre>public&nbsp;double&nbsp;getResult()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getResult--">UnivariateAggregator</a></code></span></div>
+<div class="block">Get the aggregation result.  It may be a NaN (empty collection, etc) or Infinite value.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getResult--">getResult</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the result</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StorelessStatistic.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="StorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/JsonStorelessStatistic.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/JsonStorelessStatistic.html
index 70e7b8c..f549466 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/JsonStorelessStatistic.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/JsonStorelessStatistic.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.analytics.math3.stat.JsonStorelessStatistic (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.JsonStorelessStatistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.JsonStorelessStatistic (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.JsonStorelessStatistic (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Regression.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Regression.html
index 0f6d518..55be3e5 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Regression.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Regression.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.analytics.math3.stat.Regression (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.Regression (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.Regression (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.Regression (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -106,7 +107,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Regression.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><span class="typeNameLabel">Regression.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -137,12 +138,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Regression2.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Regression2.html
new file mode 100644
index 0000000..3350630
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Regression2.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.Regression2 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.Regression2 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Regression2.html" target="_top">Frames</a></li>
+<li><a href="Regression2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.stat.Regression2" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.stat.Regression2</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a> in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that return <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</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="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Regression2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Regression2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Regression2.html" target="_top">Frames</a></li>
+<li><a href="Regression2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Statistic.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Statistic.html
index fa5d06e..e19f714 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Statistic.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Statistic.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.analytics.math3.stat.Statistic (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.Statistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.Statistic (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.Statistic (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -88,12 +89,6 @@
 <div class="block">Statistical algorithms using Apache Commons Math.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -112,7 +107,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Statistic.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><span class="typeNameLabel">Statistic.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -138,42 +133,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a> in <a href="../../../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> with parameters of type <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</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 com.google.gson.JsonElement</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonTuples.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/apps/JsonTuples.html#getStatistic-com.google.gson.JsonObject-org.apache.edgent.analytics.math3.stat.Statistic-">getStatistic</a></span>(com.google.gson.JsonObject&nbsp;jo,
-            <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;stat)</code>
-<div class="block">Get a statistic value from a sample.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static com.google.gson.JsonElement</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonTuples.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/apps/JsonTuples.html#getStatistic-com.google.gson.JsonObject-java.lang.String-org.apache.edgent.analytics.math3.stat.Statistic-">getStatistic</a></span>(com.google.gson.JsonObject&nbsp;jo,
-            java.lang.String&nbsp;valueKey,
-            <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;stat)</code>
-<div class="block">Get a statistic value from a sample.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,java.lang.String,com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonTuples.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/apps/JsonTuples.html#statistics-org.apache.edgent.analytics.math3.stat.Statistic...-">statistics</a></span>(<a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>...&nbsp;statistics)</code>
-<div class="block">Create a function that computes the specified statistics on the list of
- samples and returns a new sample containing the result.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 </ul>
 </li>
 </ul>
@@ -191,12 +150,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -226,6 +184,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html
new file mode 100644
index 0000000..4732abc
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.Statistic2 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.Statistic2 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html" target="_top">Frames</a></li>
+<li><a href="Statistic2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.stat.Statistic2" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.stat.Statistic2</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that return <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</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="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Statistic2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Statistic2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> with parameters of type <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#StorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic2-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">StorelessStatistic</a></span>(<a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&nbsp;stat,
+                  org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic&nbsp;statImpl)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html" target="_top">Frames</a></li>
+<li><a href="Statistic2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/StorelessStatistic.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/StorelessStatistic.html
new file mode 100644
index 0000000..0404b55
--- /dev/null
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/class-use/StorelessStatistic.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.StorelessStatistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.StorelessStatistic (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/StorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="StorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.stat.StorelessStatistic" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.stat.StorelessStatistic</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.analytics.math3.stat.StorelessStatistic</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/StorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="StorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-frame.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-frame.html
index cc0b2e8..19d0803 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.analytics.math3.stat (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.stat (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -14,11 +15,14 @@
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
 <li><a href="JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat" target="classFrame">JsonStorelessStatistic</a></li>
+<li><a href="StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat" target="classFrame">StorelessStatistic</a></li>
 </ul>
 <h2 title="Enums">Enums</h2>
 <ul title="Enums">
 <li><a href="Regression.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Regression</a></li>
+<li><a href="Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Regression2</a></li>
 <li><a href="Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Statistic</a></li>
+<li><a href="Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Statistic2</a></li>
 </ul>
 </div>
 </body>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-summary.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-summary.html
index 116143c..2573e05 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.analytics.math3.stat (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.stat (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.analytics.math3.stat (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.analytics.math3.stat (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -92,6 +93,12 @@
 <div class="block">JSON univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></td>
+<td class="colLast">
+<div class="block">Univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -110,11 +117,23 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></td>
+<td class="colLast">
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></td>
 <td class="colLast">
 <div class="block">Statistic implementations.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></td>
+<td class="colLast">
+<div class="block">Statistic implementations.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -143,7 +162,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -173,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-tree.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-tree.html
index 218952e..9b2ea6d 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.analytics.math3.stat Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.stat Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.analytics.math3.stat Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.analytics.math3.stat Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,19 +80,22 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">JsonStorelessStatistic</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">StorelessStatistic</span></a> (implements org.apache.edgent.analytics.math3.<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>)</li>
 </ul>
 </li>
 </ul>
 <h2 title="Enum Hierarchy">Enum Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic2</span></a> (implements org.apache.edgent.analytics.math3.<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>)</li>
 <li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression2</span></a> (implements org.apache.edgent.analytics.math3.<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>)</li>
 <li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>)</li>
 </ul>
 </li>
@@ -117,7 +121,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -147,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-use.html b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-use.html
index 96d12ed..2c436f9 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/math3/stat/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.analytics.math3.stat (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.analytics.math3.stat (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.analytics.math3.stat (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.analytics.math3.stat (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -88,12 +89,6 @@
 <div class="block">Statistical algorithms using Apache Commons Math.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -112,24 +107,17 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/class-use/Regression2.html#org.apache.edgent.analytics.math3.stat">Regression2</a>
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/class-use/Statistic.html#org.apache.edgent.analytics.math3.stat">Statistic</a>
 <div class="block">Statistic implementations.</div>
 </td>
 </tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> used by <a href="../../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/class-use/Statistic.html#org.apache.edgent.samples.apps">Statistic</a>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html#org.apache.edgent.analytics.math3.stat">Statistic2</a>
 <div class="block">Statistic implementations.</div>
 </td>
 </tr>
@@ -156,7 +144,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -186,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/Deadtime.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/Deadtime.html
index d2e160b..8fe9d85 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/Deadtime.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/Deadtime.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Deadtime (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Deadtime (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Deadtime (Edgent v1.1.0)";
+            parent.document.title="Deadtime (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.analytics.sensors.Deadtime&lt;T&gt;</li>
@@ -113,12 +114,12 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Deadtime&lt;T&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</pre>
 <div class="block">Deadtime <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><code>Predicate</code></a>.
  <p>
@@ -159,7 +160,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#Deadtime-long-java.util.concurrent.TimeUnit-">Deadtime</a></span>(long&nbsp;deadtimePeriod,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Create a new Deadtime Predicate</div>
 </td>
 </tr>
@@ -181,7 +182,7 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod</a></span>(long&nbsp;deadtimePeriod,
-         java.util.concurrent.TimeUnit&nbsp;unit)</code>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set the deadtime period</div>
 </td>
 </tr>
@@ -192,7 +193,7 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#toString--">toString</a></span>()</code>
 <div class="block">Returns a String for development/debug support.</div>
 </td>
@@ -202,8 +203,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -238,14 +239,14 @@
 <li class="blockList">
 <h4>Deadtime</h4>
 <pre>public&nbsp;Deadtime(long&nbsp;deadtimePeriod,
-                java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Create a new Deadtime Predicate
  <p>
  The first received tuple is always "accepted".</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>deadtimePeriod</code> - see <a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#setPeriod-long-java.util.concurrent.TimeUnit-"><code>setPeriod()</code></a></dd>
-<dd><code>unit</code> - <code>TimeUnit</code> of <code>deadtimePeriod</code></dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a> of <code>deadtimePeriod</code></dd>
 </dl>
 </li>
 </ul>
@@ -264,14 +265,14 @@
 <li class="blockList">
 <h4>setPeriod</h4>
 <pre>public&nbsp;void&nbsp;setPeriod(long&nbsp;deadtimePeriod,
-                      java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Set the deadtime period
  <p>
  The end of a currently active deadtime period is shortened or extended
  to match the new deadtime period specification.
  </p><p>
  The deadtime period behavior is subject to the accuracy
- of the system's <code>System.currentTimeMillis()</code>.
+ of the system's <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#currentTimeMillis--" title="class or interface in java.lang"><code>System.currentTimeMillis()</code></a>.
  A period of less than 1ms is equivalent to specifying 0.
  </p></div>
 <dl>
@@ -280,7 +281,7 @@
         to return false after returning true.
         Specify a value of 0 for no deadtime period.
         Must be &gt;= 0.</dd>
-<dd><code>unit</code> - <code>TimeUnit</code> of <code>deadtimePeriod</code></dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a> of <code>deadtimePeriod</code></dd>
 </dl>
 </li>
 </ul>
@@ -310,11 +311,11 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <div class="block">Returns a String for development/debug support.  Content subject to change.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -343,7 +344,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -388,6 +388,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/Filters.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/Filters.html
index f0001c1..038c014 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/Filters.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/Filters.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Filters (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Filters (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Filters (Edgent v1.1.0)";
+            parent.document.title="Filters (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.analytics.sensors.Filters</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Filters</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Filters aimed at sensors.</div>
 </li>
 </ul>
@@ -144,7 +145,7 @@
         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
         <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
         long&nbsp;maximumSuppression,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Deadband filter with maximum suppression time.</div>
 </td>
 </tr>
@@ -152,7 +153,7 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadtime-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">deadtime</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         long&nbsp;deadtimePeriod,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Deadtime filter.</div>
 </td>
 </tr>
@@ -161,8 +162,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -188,7 +189,7 @@
                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
                                         <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
                                         long&nbsp;maximumSuppression,
-                                        java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Deadband filter with maximum suppression time.
  
  A filter that discards any tuples that are in the deadband, uninteresting to downstream consumers.
@@ -284,7 +285,7 @@
 <h4>deadtime</h4>
 <pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;deadtime(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                                       long&nbsp;deadtimePeriod,
-                                      java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Deadtime filter.
  
  A filter that discards tuples for a period of time after passing
@@ -304,7 +305,7 @@
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>stream</code> - TStream to add deadtime filter to</dd>
 <dd><code>deadtimePeriod</code> - the deadtime period in <code>unit</code></dd>
-<dd><code>unit</code> - the <code>TimeUnit</code> to apply to <code>deadtimePeriod</code></dd>
+<dd><code>unit</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a> to apply to <code>deadtimePeriod</code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the deadtime filtered stream</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -337,7 +338,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -382,6 +382,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/Range.BoundType.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/Range.BoundType.html
index ebd9c64..2f8b0d0 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/Range.BoundType.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/Range.BoundType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Range.BoundType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Range.BoundType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Range.BoundType (Edgent v1.1.0)";
+            parent.document.title="Range.BoundType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>java.lang.Enum&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&gt;</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.analytics.sensors.Range.BoundType</li>
@@ -114,16 +115,16 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
-<dd><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a> extends java.lang.Comparable&lt;?&gt;&gt;</dd>
+<dd><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public static enum <span class="typeNameLabel">Range.BoundType</span>
-extends java.lang.Enum&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&gt;</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&gt;</pre>
 <div class="block">Exclude or include an endpoint value in the range.</div>
 </li>
 </ul>
@@ -169,7 +170,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -185,15 +186,15 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -263,7 +264,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -274,8 +275,8 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the enum constant with the specified name</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
 </dl>
 </li>
 </ul>
@@ -304,7 +305,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -349,6 +349,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/Range.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/Range.html
index 6ecd5fd..30d67c0 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/Range.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/Range.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Range (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Range (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Range (Edgent v1.1.0)";
+            parent.document.title="Range (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -93,11 +94,11 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.edgent.analytics.sensors</div>
-<h2 title="Class Range" class="title">Class Range&lt;T extends java.lang.Comparable&lt;?&gt;&gt;</h2>
+<h2 title="Class Range" class="title">Class Range&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.analytics.sensors.Range&lt;T&gt;</li>
@@ -109,17 +110,17 @@
 <li class="blockList">
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>T</code> - a <code>Comparable</code> value type</dd>
+<dd><code>T</code> - a <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang"><code>Comparable</code></a> value type</dd>
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</dd>
 </dl>
 <hr>
 <br>
-<pre>public final class <span class="typeNameLabel">Range&lt;T extends java.lang.Comparable&lt;?&gt;&gt;</span>
-extends java.lang.Object
-implements <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;, java.io.Serializable</pre>
+<pre>public final class <span class="typeNameLabel">Range&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">A generic immutable range of values and a way to 
  check a value for containment in the range.
  <p>
@@ -220,13 +221,13 @@
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#contains-T-java.util.Comparator-">contains</a></span>(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&nbsp;v,
-        java.util.Comparator&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&gt;&nbsp;cmp)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&gt;&nbsp;cmp)</code>
 <div class="block">Determine if the Region contains the value.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;o)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#equals-java.lang.Object-">equals</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>
 <div class="block">Returns true if o is a Range having equal endpoints and bound types to this Range.</div>
 </td>
 </tr>
@@ -255,7 +256,7 @@
 </td>
 </tr>
 <tr id="i8" class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#range-T-org.apache.edgent.analytics.sensors.Range.BoundType-T-org.apache.edgent.analytics.sensors.Range.BoundType-">range</a></span>(T&nbsp;lowerEndpoint,
      <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;lbt,
      T&nbsp;upperEndpoint,
@@ -270,13 +271,13 @@
 </td>
 </tr>
 <tr id="i10" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#toString--">toString</a></span>()</code>
 <div class="block">Yields <code>"&lt;lowerBoundType&gt;&lt;lowerEndpoint&gt;..&lt;upperEndpoint&gt;&lt;upperBoundType&gt;"</code>.</div>
 </td>
 </tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#toStringUnsigned--">toStringUnsigned</a></span>()</code>
 <div class="block">Return a String treating the endpoints as an unsigned value.</div>
 </td>
@@ -294,9 +295,9 @@
 </td>
 </tr>
 <tr id="i14" class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#valueOf-java.lang.String-org.apache.edgent.function.Function-">valueOf</a></span>(java.lang.String&nbsp;toStringValue,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,T&gt;&nbsp;fromString)</code>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#valueOf-java.lang.String-org.apache.edgent.function.Function-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringValue,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,T&gt;&nbsp;fromString)</code>
 <div class="block">Create a Range from a String produced by toString().</div>
 </td>
 </tr>
@@ -305,8 +306,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -330,13 +331,18 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>range</h4>
-<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;range(T&nbsp;lowerEndpoint,
-                                                                 <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;lbt,
-                                                                 T&nbsp;upperEndpoint,
-                                                                 <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;ubt)</pre>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;range(T&nbsp;lowerEndpoint,
+                                                       <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;lbt,
+                                                       T&nbsp;upperEndpoint,
+                                                       <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;ubt)</pre>
 <div class="block">Create a new Range&lt;T&gt;
  <p>
- See <a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><code>Ranges</code></a> for a collection of convenience constructors.</div>
+ See <a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><code>Ranges</code></a> for a collection of convenience constructors.
+ <p>
+ While not enforced, for a Range to be useful/sensible,
+ the following must be true: <code>lowerEndpoint &lt;= upperEndpoint</code>.
+ Otherwise the Range will be returned but test() and contains()
+ can never return true.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
 <dd><code>T</code> - a Comparable type</dd>
@@ -356,11 +362,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>equals</h4>
-<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;o)</pre>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
 <div class="block">Returns true if o is a Range having equal endpoints and bound types to this Range.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -373,7 +379,7 @@
 <pre>public&nbsp;int&nbsp;hashCode()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -402,7 +408,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the endpoint</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalStateException</code> - if hasLowerEndpoint()==false</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if hasLowerEndpoint()==false</dd>
 </dl>
 </li>
 </ul>
@@ -431,7 +437,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the endpoint</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalStateException</code> - if hasUpperEndpoint()==false</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if hasUpperEndpoint()==false</dd>
 </dl>
 </li>
 </ul>
@@ -472,7 +478,7 @@
 <li class="blockList">
 <h4>contains</h4>
 <pre>public&nbsp;boolean&nbsp;contains(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&nbsp;v,
-                        java.util.Comparator&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&gt;&nbsp;cmp)</pre>
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&gt;&nbsp;cmp)</pre>
 <div class="block">Determine if the Region contains the value.
  <p>
  <code>contains(v)</code> typically suffices.  This
@@ -481,7 +487,7 @@
  <pre>
  Comparator&lt;Byte&gt; unsignedByteComparator = new Comparator&lt;Byte&gt;() {
      public int compare(Byte b1, Byte b2) {
-         return Integer.compareUnsigned(Byte.toUnsignedInt(b1), Byte.toUnsignedInt(b2));
+         return intCompareUnsigned(byteToUnsignedInt(b1), byteToUnsignedInt(b2));
      }
      public boolean equals(Object o2) { return o2==this; }
      };
@@ -532,7 +538,7 @@
 <div class="block">Predicate.test() implementation. Identical to contains(value).</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/function/Predicate.html#test-T-">test</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a> extends java.lang.Comparable&lt;?&gt;&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/function/Predicate.html#test-T-">test</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>value</code> - Value to be tested.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -546,8 +552,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;valueOf(java.lang.String&nbsp;toStringValue,
-                                                                   <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,T&gt;&nbsp;fromString)</pre>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringValue,
+                                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,T&gt;&nbsp;fromString)</pre>
 <div class="block">Create a Range from a String produced by toString().
  <p>
  See <a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><code>Ranges</code></a> for a collection of valueOf methods
@@ -563,7 +569,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Range</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if unable to parse or convert to 
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert to 
          endpoint in toStringValue to a T.</dd>
 </dl>
 </li>
@@ -574,7 +580,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <div class="block">Yields <code>"&lt;lowerBoundType&gt;&lt;lowerEndpoint&gt;..&lt;upperEndpoint&gt;&lt;upperBoundType&gt;"</code>.
  <p>
  lowerBoundType is either "[" or "(" for BoundType.CLOSED or OPEN respectively.
@@ -600,7 +606,7 @@
  </pre></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -610,13 +616,13 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toStringUnsigned</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toStringUnsigned()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringUnsigned()</pre>
 <div class="block">Return a String treating the endpoints as an unsigned value.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>String with same form as <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#toString--"><code>toString()</code></a></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if the Range is not one of
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the Range is not one of
          Byte, Short, Integer, Long</dd>
 </dl>
 </li>
@@ -646,7 +652,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -691,6 +696,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/Ranges.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/Ranges.html
index e8fa726..8ed6aa0 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/Ranges.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/Ranges.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Ranges (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Ranges (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,13 +13,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Ranges (Edgent v1.1.0)";
+            parent.document.title="Ranges (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.analytics.sensors.Ranges</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public final class <span class="typeNameLabel">Ranges</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Convenience functions and utility operations on <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><code>Range</code></a>.</div>
 </li>
 </ul>
@@ -148,120 +149,126 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#atLeast-T-">atLeast</a></span>(T&nbsp;lowerEndpoint)</code>
 <div class="block">Create a Range [lowerEndpoint..*) (inclusive/CLOSED)</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#atMost-T-">atMost</a></span>(T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range (*..upperEndpoint] (inclusive/CLOSED)</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#closed-T-T-">closed</a></span>(T&nbsp;lowerEndpoint,
       T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range [lowerEndpoint..upperEndpoint] (both inclusive/CLOSED)</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#closedOpen-T-T-">closedOpen</a></span>(T&nbsp;lowerEndpoint,
           T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range [lowerEndpoint..upperEndpoint) (inclusive/CLOSED,exclusive/OPEN)</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#greaterThan-T-">greaterThan</a></span>(T&nbsp;lowerEndpoint)</code>
 <div class="block">Create a Range (lowerEndpoint..*) (exclusive/OPEN)</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#lessThan-T-">lessThan</a></span>(T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range (*..upperEndpoint) (exclusive/OPEN)</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#open-T-T-">open</a></span>(T&nbsp;lowerEndpoint,
     T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range (lowerEndpoint..upperEndpoint) (both exclusive/OPEN)</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#openClosed-T-T-">openClosed</a></span>(T&nbsp;lowerEndpoint,
           T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range (lowerEndpoint..upperEndpoint] (exclusive/OPEN,inclusive/CLOSED)</div>
 </td>
 </tr>
 <tr id="i8" class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#outsideOf-org.apache.edgent.analytics.sensors.Range-">outsideOf</a></span>(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;range)</code>
+<div class="block">Create a Predicate whose <code>test(v)</code> behaves like <code>! range.test(v)</code></div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#singleton-T-">singleton</a></span>(T&nbsp;endpoint)</code>
 <div class="block">Create a Range [endpoint..endpoint] (both inclusive/CLOSED)</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.math.BigDecimal&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigDecimal-java.lang.String-">valueOfBigDecimal</a></span>(java.lang.String&nbsp;str)</code>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigDecimal-java.lang.String-">valueOfBigDecimal</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;BigDecimal&gt;.toString() value.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.math.BigInteger&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigInteger-java.lang.String-">valueOfBigInteger</a></span>(java.lang.String&nbsp;str)</code>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigInteger-java.lang.String-">valueOfBigInteger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;BigInteger&gt;.toString() value.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Byte&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfByte-java.lang.String-">valueOfByte</a></span>(java.lang.String&nbsp;str)</code>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfByte-java.lang.String-">valueOfByte</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Byte&gt;.toString() value.</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Character&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfCharacter-java.lang.String-">valueOfCharacter</a></span>(java.lang.String&nbsp;str)</code>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfCharacter-java.lang.String-">valueOfCharacter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Character&gt;.toString() value.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfDouble-java.lang.String-">valueOfDouble</a></span>(java.lang.String&nbsp;str)</code>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfDouble-java.lang.String-">valueOfDouble</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Double&gt;.toString() value.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Float&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfFloat-java.lang.String-">valueOfFloat</a></span>(java.lang.String&nbsp;str)</code>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfFloat-java.lang.String-">valueOfFloat</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Float&gt;.toString() value.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Integer&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfInteger-java.lang.String-">valueOfInteger</a></span>(java.lang.String&nbsp;str)</code>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfInteger-java.lang.String-">valueOfInteger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Integer&gt;.toString() value.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Long&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfLong-java.lang.String-">valueOfLong</a></span>(java.lang.String&nbsp;str)</code>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfLong-java.lang.String-">valueOfLong</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Long&gt;.toString() value.</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Short&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfShort-java.lang.String-">valueOfShort</a></span>(java.lang.String&nbsp;str)</code>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfShort-java.lang.String-">valueOfShort</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Short&gt;.toString() value.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfString-java.lang.String-">valueOfString</a></span>(java.lang.String&nbsp;str)</code>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfString-java.lang.String-">valueOfString</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;String&gt;.toString() value.</div>
 </td>
 </tr>
@@ -270,8 +277,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -312,8 +319,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>open</h4>
-<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;open(T&nbsp;lowerEndpoint,
-                                                                T&nbsp;upperEndpoint)</pre>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;open(T&nbsp;lowerEndpoint,
+                                                      T&nbsp;upperEndpoint)</pre>
 <div class="block">Create a Range (lowerEndpoint..upperEndpoint) (both exclusive/OPEN)
  <p>
  Same as <code>Range.range(BoundType.OPEN, lowerEndpoint, upperEndpoint, BoundType.OPEN)</code></div>
@@ -336,8 +343,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>closed</h4>
-<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;closed(T&nbsp;lowerEndpoint,
-                                                                  T&nbsp;upperEndpoint)</pre>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;closed(T&nbsp;lowerEndpoint,
+                                                        T&nbsp;upperEndpoint)</pre>
 <div class="block">Create a Range [lowerEndpoint..upperEndpoint] (both inclusive/CLOSED)
  <p>
  Same as <code>Range.range(BoundType.CLOSED, lowerEndpoint, upperEndpoint, BoundType.CLOSED)</code></div>
@@ -360,8 +367,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>openClosed</h4>
-<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;openClosed(T&nbsp;lowerEndpoint,
-                                                                      T&nbsp;upperEndpoint)</pre>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;openClosed(T&nbsp;lowerEndpoint,
+                                                            T&nbsp;upperEndpoint)</pre>
 <div class="block">Create a Range (lowerEndpoint..upperEndpoint] (exclusive/OPEN,inclusive/CLOSED)</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -382,8 +389,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>closedOpen</h4>
-<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;closedOpen(T&nbsp;lowerEndpoint,
-                                                                      T&nbsp;upperEndpoint)</pre>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;closedOpen(T&nbsp;lowerEndpoint,
+                                                            T&nbsp;upperEndpoint)</pre>
 <div class="block">Create a Range [lowerEndpoint..upperEndpoint) (inclusive/CLOSED,exclusive/OPEN)</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -404,7 +411,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>greaterThan</h4>
-<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;greaterThan(T&nbsp;lowerEndpoint)</pre>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;greaterThan(T&nbsp;lowerEndpoint)</pre>
 <div class="block">Create a Range (lowerEndpoint..*) (exclusive/OPEN)</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -424,7 +431,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>atLeast</h4>
-<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;atLeast(T&nbsp;lowerEndpoint)</pre>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;atLeast(T&nbsp;lowerEndpoint)</pre>
 <div class="block">Create a Range [lowerEndpoint..*) (inclusive/CLOSED)</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -444,7 +451,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>lessThan</h4>
-<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;lessThan(T&nbsp;upperEndpoint)</pre>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;lessThan(T&nbsp;upperEndpoint)</pre>
 <div class="block">Create a Range (*..upperEndpoint) (exclusive/OPEN)</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -464,7 +471,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>atMost</h4>
-<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;atMost(T&nbsp;upperEndpoint)</pre>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;atMost(T&nbsp;upperEndpoint)</pre>
 <div class="block">Create a Range (*..upperEndpoint] (inclusive/CLOSED)</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -484,7 +491,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>singleton</h4>
-<pre>public static&nbsp;&lt;T extends java.lang.Comparable&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;singleton(T&nbsp;endpoint)</pre>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;singleton(T&nbsp;endpoint)</pre>
 <div class="block">Create a Range [endpoint..endpoint] (both inclusive/CLOSED)</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -496,13 +503,37 @@
 </dl>
 </li>
 </ul>
+<a name="outsideOf-org.apache.edgent.analytics.sensors.Range-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>outsideOf</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;outsideOf(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;range)</pre>
+<div class="block">Create a Predicate whose <code>test(v)</code> behaves like <code>! range.test(v)</code>
+ <p>
+ This can be useful in a situation such as filtering to include only values
+ that are outside of a range.
+ <pre><code>
+     TStream&lt;?&gt; outsideRange = readings.filter(Ranges.outsideOf(Ranges.open(10,20)));
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Endpoint type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>range</code> - the Range</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Predicate</dd>
+</dl>
+</li>
+</ul>
 <a name="valueOfInteger-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOfInteger</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Integer&gt;&nbsp;valueOfInteger(java.lang.String&nbsp;str)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;valueOfInteger(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 <div class="block">Create a Range from a Range&lt;Integer&gt;.toString() value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -510,7 +541,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Range</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if unable to parse or convert
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
          the endpoint strings to the type</dd>
 </dl>
 </li>
@@ -521,7 +552,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOfShort</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Short&gt;&nbsp;valueOfShort(java.lang.String&nbsp;str)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a>&gt;&nbsp;valueOfShort(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 <div class="block">Create a Range from a Range&lt;Short&gt;.toString() value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -529,7 +560,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Range</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if unable to parse or convert
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
          the endpoint strings to the type</dd>
 </dl>
 </li>
@@ -540,7 +571,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOfByte</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Byte&gt;&nbsp;valueOfByte(java.lang.String&nbsp;str)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a>&gt;&nbsp;valueOfByte(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 <div class="block">Create a Range from a Range&lt;Byte&gt;.toString() value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -548,7 +579,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Range</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if unable to parse or convert
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
          the endpoint strings to the type</dd>
 </dl>
 </li>
@@ -559,7 +590,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOfLong</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Long&gt;&nbsp;valueOfLong(java.lang.String&nbsp;str)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;valueOfLong(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 <div class="block">Create a Range from a Range&lt;Long&gt;.toString() value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -567,7 +598,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Range</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if unable to parse or convert
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
          the endpoint strings to the type</dd>
 </dl>
 </li>
@@ -578,7 +609,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOfFloat</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Float&gt;&nbsp;valueOfFloat(java.lang.String&nbsp;str)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&nbsp;valueOfFloat(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 <div class="block">Create a Range from a Range&lt;Float&gt;.toString() value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -586,7 +617,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Range</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if unable to parse or convert
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
          the endpoint strings to the type</dd>
 </dl>
 </li>
@@ -597,7 +628,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOfDouble</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;&nbsp;valueOfDouble(java.lang.String&nbsp;str)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;valueOfDouble(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 <div class="block">Create a Range from a Range&lt;Double&gt;.toString() value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -605,7 +636,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Range</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if unable to parse or convert
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
          the endpoint strings to the type</dd>
 </dl>
 </li>
@@ -616,7 +647,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOfBigInteger</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.math.BigInteger&gt;&nbsp;valueOfBigInteger(java.lang.String&nbsp;str)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a>&gt;&nbsp;valueOfBigInteger(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 <div class="block">Create a Range from a Range&lt;BigInteger&gt;.toString() value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -624,7 +655,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Range</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if unable to parse or convert
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
          the endpoint strings to the type</dd>
 </dl>
 </li>
@@ -635,7 +666,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOfBigDecimal</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.math.BigDecimal&gt;&nbsp;valueOfBigDecimal(java.lang.String&nbsp;str)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&gt;&nbsp;valueOfBigDecimal(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 <div class="block">Create a Range from a Range&lt;BigDecimal&gt;.toString() value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -643,7 +674,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Range</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if unable to parse or convert
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
          the endpoint strings to the type</dd>
 </dl>
 </li>
@@ -654,7 +685,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOfString</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.String&gt;&nbsp;valueOfString(java.lang.String&nbsp;str)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueOfString(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 <div class="block">Create a Range from a Range&lt;String&gt;.toString() value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -662,7 +693,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Range</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if str includes a String
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if str includes a String
  endpoint value containing "..".</dd>
 </dl>
 </li>
@@ -673,7 +704,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOfCharacter</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Character&gt;&nbsp;valueOfCharacter(java.lang.String&nbsp;str)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>&gt;&nbsp;valueOfCharacter(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
 <div class="block">Create a Range from a Range&lt;Character&gt;.toString() value.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -681,7 +712,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the Range</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if unable to parse or convert
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
          the endpoint strings to the type</dd>
 </dl>
 </li>
@@ -711,7 +742,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -756,6 +786,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Deadtime.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Deadtime.html
index 999439c..3487f7e 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Deadtime.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Deadtime.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.analytics.sensors.Deadtime (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.sensors.Deadtime (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Deadtime (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Deadtime (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Filters.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Filters.html
index ca9c166..6270fcb 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Filters.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Filters.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.analytics.sensors.Filters (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.sensors.Filters (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Filters (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Filters (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Range.BoundType.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Range.BoundType.html
index 2b00880..7887e32 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Range.BoundType.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Range.BoundType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.analytics.sensors.Range.BoundType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.sensors.Range.BoundType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Range.BoundType (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Range.BoundType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -118,7 +119,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Range.BoundType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><span class="typeNameLabel">Range.BoundType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -139,7 +140,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html#range-T-org.apache.edgent.analytics.sensors.Range.BoundType-T-org.apache.edgent.analytics.sensors.Range.BoundType-">range</a></span>(T&nbsp;lowerEndpoint,
      <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;lbt,
      T&nbsp;upperEndpoint,
@@ -167,12 +168,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -202,6 +202,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Range.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Range.html
index 41ac5ee..c17325a 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Range.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Range.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.analytics.sensors.Range (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.sensors.Range (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Range (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Range (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -88,16 +89,6 @@
 <div class="block">Analytics focused on handling sensor data.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.utils.sensor">org.apache.edgent.samples.utils.sensor</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -115,59 +106,59 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#atLeast-T-">atLeast</a></span>(T&nbsp;lowerEndpoint)</code>
 <div class="block">Create a Range [lowerEndpoint..*) (inclusive/CLOSED)</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#atMost-T-">atMost</a></span>(T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range (*..upperEndpoint] (inclusive/CLOSED)</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#closed-T-T-">closed</a></span>(T&nbsp;lowerEndpoint,
       T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range [lowerEndpoint..upperEndpoint] (both inclusive/CLOSED)</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#closedOpen-T-T-">closedOpen</a></span>(T&nbsp;lowerEndpoint,
           T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range [lowerEndpoint..upperEndpoint) (inclusive/CLOSED,exclusive/OPEN)</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#greaterThan-T-">greaterThan</a></span>(T&nbsp;lowerEndpoint)</code>
 <div class="block">Create a Range (lowerEndpoint..*) (exclusive/OPEN)</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#lessThan-T-">lessThan</a></span>(T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range (*..upperEndpoint) (exclusive/OPEN)</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#open-T-T-">open</a></span>(T&nbsp;lowerEndpoint,
     T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range (lowerEndpoint..upperEndpoint) (both exclusive/OPEN)</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#openClosed-T-T-">openClosed</a></span>(T&nbsp;lowerEndpoint,
           T&nbsp;upperEndpoint)</code>
 <div class="block">Create a Range (lowerEndpoint..upperEndpoint] (exclusive/OPEN,inclusive/CLOSED)</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html#range-T-org.apache.edgent.analytics.sensors.Range.BoundType-T-org.apache.edgent.analytics.sensors.Range.BoundType-">range</a></span>(T&nbsp;lowerEndpoint,
      <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;lbt,
      T&nbsp;upperEndpoint,
@@ -176,173 +167,91 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#singleton-T-">singleton</a></span>(T&nbsp;endpoint)</code>
 <div class="block">Create a Range [endpoint..endpoint] (both inclusive/CLOSED)</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html#valueOf-java.lang.String-org.apache.edgent.function.Function-">valueOf</a></span>(java.lang.String&nbsp;toStringValue,
-       <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,T&gt;&nbsp;fromString)</code>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html#valueOf-java.lang.String-org.apache.edgent.function.Function-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringValue,
+       <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,T&gt;&nbsp;fromString)</code>
 <div class="block">Create a Range from a String produced by toString().</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.math.BigDecimal&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigDecimal-java.lang.String-">valueOfBigDecimal</a></span>(java.lang.String&nbsp;str)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigDecimal-java.lang.String-">valueOfBigDecimal</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;BigDecimal&gt;.toString() value.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.math.BigInteger&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigInteger-java.lang.String-">valueOfBigInteger</a></span>(java.lang.String&nbsp;str)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigInteger-java.lang.String-">valueOfBigInteger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;BigInteger&gt;.toString() value.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Byte&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfByte-java.lang.String-">valueOfByte</a></span>(java.lang.String&nbsp;str)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfByte-java.lang.String-">valueOfByte</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Byte&gt;.toString() value.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Character&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfCharacter-java.lang.String-">valueOfCharacter</a></span>(java.lang.String&nbsp;str)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfCharacter-java.lang.String-">valueOfCharacter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Character&gt;.toString() value.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfDouble-java.lang.String-">valueOfDouble</a></span>(java.lang.String&nbsp;str)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfDouble-java.lang.String-">valueOfDouble</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Double&gt;.toString() value.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Float&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfFloat-java.lang.String-">valueOfFloat</a></span>(java.lang.String&nbsp;str)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfFloat-java.lang.String-">valueOfFloat</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Float&gt;.toString() value.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Integer&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfInteger-java.lang.String-">valueOfInteger</a></span>(java.lang.String&nbsp;str)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfInteger-java.lang.String-">valueOfInteger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Integer&gt;.toString() value.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Long&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfLong-java.lang.String-">valueOfLong</a></span>(java.lang.String&nbsp;str)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfLong-java.lang.String-">valueOfLong</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Long&gt;.toString() value.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Short&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfShort-java.lang.String-">valueOfShort</a></span>(java.lang.String&nbsp;str)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfShort-java.lang.String-">valueOfShort</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;Short&gt;.toString() value.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfString-java.lang.String-">valueOfString</a></span>(java.lang.String&nbsp;str)</code>
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfString-java.lang.String-">valueOfString</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
 <div class="block">Create a Range from a Range&lt;String&gt;.toString() value.</div>
 </td>
 </tr>
 </tbody>
 </table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a> in <a href="../../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></h3>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> that return <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> with parameters of type <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Byte&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeByte-java.lang.String-java.lang.String-">getRangeByte</a></span>(java.lang.String&nbsp;sensorId,
-            java.lang.String&nbsp;label)</code>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeDouble-java.lang.String-java.lang.String-">getRangeDouble</a></span>(java.lang.String&nbsp;sensorId,
-              java.lang.String&nbsp;label)</code>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Float&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeFloat-java.lang.String-java.lang.String-">getRangeFloat</a></span>(java.lang.String&nbsp;sensorId,
-             java.lang.String&nbsp;label)</code>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Integer&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeInteger-java.lang.String-java.lang.String-">getRangeInteger</a></span>(java.lang.String&nbsp;sensorId,
-               java.lang.String&nbsp;label)</code>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Short&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeShort-java.lang.String-java.lang.String-">getRangeShort</a></span>(java.lang.String&nbsp;sensorId,
-             java.lang.String&nbsp;label)</code>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.utils.sensor">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a> in <a href="../../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a> that return <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">SimpleSimulatedSensor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#getRange--">getRange</a></span>()</code>
-<div class="block">Get the range setting</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">SimulatedTemperatureSensor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#getTempRange--">getTempRange</a></span>()</code>
-<div class="block">Get the tempRange setting</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a> with parameters of type <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#SimpleSimulatedSensor-double-double-org.apache.edgent.analytics.sensors.Range-">SimpleSimulatedSensor</a></span>(double&nbsp;initialValue,
-                     double&nbsp;deltaFactor,
-                     <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;&nbsp;range)</code>
-<div class="block">Create a sensor.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#SimulatedTemperatureSensor-double-org.apache.edgent.analytics.sensors.Range-double-">SimulatedTemperatureSensor</a></span>(double&nbsp;initialTemp,
-                          <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;&nbsp;tempRange,
-                          double&nbsp;deltaFactor)</code>
-<div class="block">Create a temperature sensor.</div>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#outsideOf-org.apache.edgent.analytics.sensors.Range-">outsideOf</a></span>(<a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;range)</code>
+<div class="block">Create a Predicate whose <code>test(v)</code> behaves like <code>! range.test(v)</code></div>
 </td>
 </tr>
 </tbody>
@@ -365,12 +274,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -400,6 +308,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Ranges.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Ranges.html
index 2640593..a1332f1 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Ranges.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/class-use/Ranges.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.analytics.sensors.Ranges (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.sensors.Ranges (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Ranges (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Ranges (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-frame.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-frame.html
index 81e83af..d7e9928 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.analytics.sensors (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.sensors (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-summary.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-summary.html
index e4423cd..efc83d4 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.analytics.sensors (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.sensors (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.analytics.sensors (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.analytics.sensors (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -99,7 +100,7 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T extends java.lang.Comparable&lt;?&gt;&gt;</td>
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</td>
 <td class="colLast">
 <div class="block">A generic immutable range of values and a way to 
  check a value for containment in the range.</div>
@@ -156,7 +157,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-tree.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-tree.html
index c14a00f..62be58f 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.analytics.sensors Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.sensors Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.analytics.sensors Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.analytics.sensors Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,20 +80,20 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.analytics.sensors.<a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Deadtime</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.edgent.analytics.sensors.<a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Filters</span></a></li>
-<li type="circle">org.apache.edgent.analytics.sensors.<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;, java.io.Serializable)</li>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.edgent.analytics.sensors.<a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Ranges</span></a></li>
 </ul>
 </li>
 </ul>
 <h2 title="Enum Hierarchy">Enum Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.edgent.analytics.sensors.<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range.BoundType</span></a></li>
 </ul>
@@ -119,7 +120,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -149,6 +149,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-use.html b/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-use.html
index 49d2c4a..3eabfcd 100644
--- a/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/analytics/sensors/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.analytics.sensors (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.analytics.sensors (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.analytics.sensors (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.analytics.sensors (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -88,16 +89,6 @@
 <div class="block">Analytics focused on handling sensor data.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.utils.sensor">org.apache.edgent.samples.utils.sensor</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -124,42 +115,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> used by <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/sensors/class-use/Range.html#org.apache.edgent.samples.apps">Range</a>
-<div class="block">A generic immutable range of values and a way to 
- check a value for containment in the range.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.utils.sensor">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> used by <a href="../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/sensors/class-use/Range.html#org.apache.edgent.samples.utils.sensor">Range</a>
-<div class="block">A generic immutable range of values and a way to 
- check a value for containment in the range.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -180,7 +135,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -210,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/iot/IotDevicePubSub.html b/site/javadoc/latest/org/apache/edgent/apps/iot/IotDevicePubSub.html
index d0ca7d3..6b7809c 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/iot/IotDevicePubSub.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/iot/IotDevicePubSub.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:07 EST 2017 -->
-<title>IotDevicePubSub (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotDevicePubSub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotDevicePubSub (Edgent v1.1.0)";
+            parent.document.title="IotDevicePubSub (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.apps.iot.IotDevicePubSub</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">IotDevicePubSub</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Application sharing an <code>IotDevice</code> through publish-subscribe. <BR>
  This application shares an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> across multiple running
  jobs. This allows a single connection to a back-end message hub to be shared
@@ -164,20 +165,20 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#APP_NAME">APP_NAME</a></span></code>
 <div class="block">IotDevicePubSub application name.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#COMMANDS_TOPIC">COMMANDS_TOPIC</a></span></code>
 <div class="block">Device commands are published to "edgent/iot/commands" by
  this application.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#EVENTS_TOPIC">EVENTS_TOPIC</a></span></code>
 <div class="block">Events published to topic "edgent/iot/events" are sent as device events using the
  actual message hub <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a>.</div>
@@ -233,8 +234,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -256,7 +257,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>APP_NAME</h4>
-<pre>public static final&nbsp;java.lang.String APP_NAME</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> APP_NAME</pre>
 <div class="block">IotDevicePubSub application name.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -270,7 +271,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>EVENTS_TOPIC</h4>
-<pre>public static final&nbsp;java.lang.String EVENTS_TOPIC</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> EVENTS_TOPIC</pre>
 <div class="block">Events published to topic "edgent/iot/events" are sent as device events using the
  actual message hub <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a>. <BR>
  it is recommended applications use the <code>IotDevice</code> returned by
@@ -288,7 +289,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>COMMANDS_TOPIC</h4>
-<pre>public static final&nbsp;java.lang.String COMMANDS_TOPIC</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMMANDS_TOPIC</pre>
 <div class="block">Device commands are published to "edgent/iot/commands" by
  this application. <BR>
  it is recommended applications use the <code>IotDevice</code> returned by
@@ -387,7 +388,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -432,6 +432,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/iot/class-use/IotDevicePubSub.html b/site/javadoc/latest/org/apache/edgent/apps/iot/class-use/IotDevicePubSub.html
index ada0487..102819c 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/iot/class-use/IotDevicePubSub.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/iot/class-use/IotDevicePubSub.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.apps.iot.IotDevicePubSub (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.apps.iot.IotDevicePubSub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.apps.iot.IotDevicePubSub (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.apps.iot.IotDevicePubSub (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/iot/package-frame.html b/site/javadoc/latest/org/apache/edgent/apps/iot/package-frame.html
index c569358..28131e1 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/iot/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/iot/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.apps.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/iot/package-summary.html b/site/javadoc/latest/org/apache/edgent/apps/iot/package-summary.html
index 245291e..8f72d59 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/iot/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/iot/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.apps.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.apps.iot (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.apps.iot (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -120,7 +121,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/iot/package-tree.html b/site/javadoc/latest/org/apache/edgent/apps/iot/package-tree.html
index ac61c13..e818654 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/iot/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/iot/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.apps.iot Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.apps.iot Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.apps.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.apps.iot.<a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot"><span class="typeNameLink">IotDevicePubSub</span></a></li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/iot/package-use.html b/site/javadoc/latest/org/apache/edgent/apps/iot/package-use.html
index aaf96e8..224b438 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/iot/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/iot/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.apps.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.apps.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.apps.iot (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.apps.iot (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/runtime/JobMonitorApp.html b/site/javadoc/latest/org/apache/edgent/apps/runtime/JobMonitorApp.html
index 7739f33..e149822 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/runtime/JobMonitorApp.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/runtime/JobMonitorApp.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>JobMonitorApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobMonitorApp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JobMonitorApp (Edgent v1.1.0)";
+            parent.document.title="JobMonitorApp (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.apps.runtime.JobMonitorApp</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">JobMonitorApp</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Job monitoring application.
  <P>
  The application listens on JobRegistry events and resubmits jobs for which 
@@ -150,7 +151,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#APP_NAME">APP_NAME</a></span></code>
 <div class="block">Job monitoring application name.</div>
 </td>
@@ -172,7 +173,7 @@
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">JobMonitorApp</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
              <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-             java.lang.String&nbsp;name)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
  context of the specified provider.</div>
 </td>
@@ -194,7 +195,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#closeJob-java.lang.String-org.apache.edgent.execution.services.ControlService-">closeJob</a></span>(java.lang.String&nbsp;jobName,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#closeJob-java.lang.String-org.apache.edgent.execution.services.ControlService-">closeJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName,
         <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</code>
 <div class="block">Closes a job using a <code>JobMXBean</code> control registered with the 
  specified <code>ControlService</code>.</div>
@@ -202,7 +203,7 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#declareTopology-java.lang.String-">declareTopology</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#declareTopology-java.lang.String-">declareTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Declares the following topology:</div>
 </td>
 </tr>
@@ -220,7 +221,7 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#submitApplication-java.lang.String-org.apache.edgent.execution.services.ControlService-">submitApplication</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#submitApplication-java.lang.String-org.apache.edgent.execution.services.ControlService-">submitApplication</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                  <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</code>
 <div class="block">Submits an application using an <code>ApplicationServiceMXBean</code> control 
  registered with the specified <code>ControlService</code>.</div>
@@ -231,8 +232,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -254,7 +255,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>APP_NAME</h4>
-<pre>public static final&nbsp;java.lang.String APP_NAME</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> APP_NAME</pre>
 <div class="block">Job monitoring application name.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -278,7 +279,7 @@
 <h4>JobMonitorApp</h4>
 <pre>public&nbsp;JobMonitorApp(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
                      <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-                     java.lang.String&nbsp;name)</pre>
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
  context of the specified provider.</div>
 <dl>
@@ -288,7 +289,7 @@
       services and submits the application</dd>
 <dd><code>name</code> - the application name</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if the submitter does not provide 
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the submitter does not provide 
       access to the required services</dd>
 </dl>
 </li>
@@ -308,15 +309,15 @@
 <li class="blockList">
 <h4>submit</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;submit()
-           throws java.lang.InterruptedException,
-                  java.util.concurrent.ExecutionException</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></pre>
 <div class="block">Submits the application topology.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the job.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.InterruptedException</code> - if the operation was interrupted</dd>
-<dd><code>java.util.concurrent.ExecutionException</code> - on task execution exception</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the operation was interrupted</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - on task execution exception</dd>
 </dl>
 </li>
 </ul>
@@ -326,7 +327,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>submitApplication</h4>
-<pre>public static&nbsp;void&nbsp;submitApplication(java.lang.String&nbsp;applicationName,
+<pre>public static&nbsp;void&nbsp;submitApplication(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                                      <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</pre>
 <div class="block">Submits an application using an <code>ApplicationServiceMXBean</code> control 
  registered with the specified <code>ControlService</code>.</div>
@@ -343,7 +344,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>closeJob</h4>
-<pre>public static&nbsp;void&nbsp;closeJob(java.lang.String&nbsp;jobName,
+<pre>public static&nbsp;void&nbsp;closeJob(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName,
                             <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</pre>
 <div class="block">Closes a job using a <code>JobMXBean</code> control registered with the 
  specified <code>ControlService</code>.</div>
@@ -360,7 +361,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>declareTopology</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;declareTopology(java.lang.String&nbsp;name)</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;declareTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Declares the following topology:
  <pre>
  JobEvents source --&gt; Filter (health == unhealthy) --&gt; Restart application
@@ -415,7 +416,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -460,6 +460,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/runtime/class-use/JobMonitorApp.html b/site/javadoc/latest/org/apache/edgent/apps/runtime/class-use/JobMonitorApp.html
index 6606a98..4f22fe8 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/runtime/class-use/JobMonitorApp.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/runtime/class-use/JobMonitorApp.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.apps.runtime.JobMonitorApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.apps.runtime.JobMonitorApp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.apps.runtime.JobMonitorApp (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.apps.runtime.JobMonitorApp (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/runtime/package-frame.html b/site/javadoc/latest/org/apache/edgent/apps/runtime/package-frame.html
index 3f745b4..9e47233 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/runtime/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/runtime/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.apps.runtime (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.runtime (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/runtime/package-summary.html b/site/javadoc/latest/org/apache/edgent/apps/runtime/package-summary.html
index b4342f1..85552f3 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/runtime/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/runtime/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.apps.runtime (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.runtime (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.apps.runtime (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.apps.runtime (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -122,7 +123,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -152,6 +152,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/runtime/package-tree.html b/site/javadoc/latest/org/apache/edgent/apps/runtime/package-tree.html
index fdac9b2..19155c5 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/runtime/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/runtime/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.apps.runtime Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.runtime Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.apps.runtime Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.apps.runtime Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.apps.runtime.<a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime"><span class="typeNameLink">JobMonitorApp</span></a></li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/apps/runtime/package-use.html b/site/javadoc/latest/org/apache/edgent/apps/runtime/package-use.html
index 14e2ec4..3d3f47b 100644
--- a/site/javadoc/latest/org/apache/edgent/apps/runtime/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/apps/runtime/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.apps.runtime (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.apps.runtime (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.apps.runtime (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.apps.runtime (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/command/CommandStreams.html b/site/javadoc/latest/org/apache/edgent/connectors/command/CommandStreams.html
index 229a2ca..bf24696 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/command/CommandStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/command/CommandStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>CommandStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CommandStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CommandStreams (Edgent v1.1.0)";
+            parent.document.title="CommandStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.command.CommandStreams</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">CommandStreams</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Connector for creating a TStream from a Command's / OS Process's output
  and sinking a TStream to a Command's / OS Process's input.
  <P>
@@ -134,51 +135,51 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.List&lt;java.lang.String&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandReaderList-java.lang.ProcessBuilder-">commandReaderList</a></span>(java.lang.ProcessBuilder&nbsp;cmd)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandReaderList-java.lang.ProcessBuilder-">commandReaderList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Create a <code>Supplier&lt;List&lt;String&gt;&gt;</code> to ingest a command's output.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandWriter-java.lang.ProcessBuilder-">commandWriter</a></span>(java.lang.ProcessBuilder&nbsp;cmd)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandWriter-java.lang.ProcessBuilder-">commandWriter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Create a <code>Consumer&lt;String&gt;</code> to write UTF8 string data to a command's input.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#endlessCommandReader-java.lang.ProcessBuilder-">endlessCommandReader</a></span>(java.lang.ProcessBuilder&nbsp;cmd)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#endlessCommandReader-java.lang.ProcessBuilder-">endlessCommandReader</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Create an endless <code>Supplier&lt;String&gt;</code> for ingesting a long running command's output.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#generate-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-">generate</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-        java.lang.ProcessBuilder&nbsp;cmd)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Create an endless <code>TStream&lt;String&gt;</code> from a long running command's output.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;java.lang.String&gt;&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#periodicSource-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-long-java.util.concurrent.TimeUnit-">periodicSource</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-              java.lang.ProcessBuilder&nbsp;cmd,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd,
               long&nbsp;period,
-              java.util.concurrent.TimeUnit&nbsp;units)</code>
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;units)</code>
 <div class="block">Create a <code>TStream&lt;String&gt;</code> from a periodically run command's output.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-">sink</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-    java.lang.ProcessBuilder&nbsp;cmd)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-">sink</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Sink a <code>TStream&lt;String&gt;</code> to a command's input.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>static java.util.List&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#tokenize-java.lang.String-">tokenize</a></span>(java.lang.String&nbsp;cmdString)</code>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#tokenize-java.lang.String-">tokenize</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cmdString)</code>
 <div class="block">Tokenize the specified <code>cmdString</code> in the exact same manner as
- done by <code>Runtime.exec(String)</code>.</div>
+ done by <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runtime.html?is-external=true#exec-java.lang.String-" title="class or interface in java.lang"><code>Runtime.exec(String)</code></a>.</div>
 </td>
 </tr>
 </table>
@@ -186,8 +187,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -209,11 +210,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>tokenize</h4>
-<pre>public static&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;tokenize(java.lang.String&nbsp;cmdString)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;tokenize(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cmdString)</pre>
 <div class="block">Tokenize the specified <code>cmdString</code> in the exact same manner as
- done by <code>Runtime.exec(String)</code>.
+ done by <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runtime.html?is-external=true#exec-java.lang.String-" title="class or interface in java.lang"><code>Runtime.exec(String)</code></a>.
  <P>
- This function provides a convenience for creating a <code>ProcessBuilder</code>
+ This function provides a convenience for creating a <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a>
  for use by the other CommandStreams methods. 
  </P>
  <P>
@@ -236,15 +237,15 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>generate</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;generate(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                                                 java.lang.ProcessBuilder&nbsp;cmd)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;generate(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</pre>
 <div class="block">Create an endless <code>TStream&lt;String&gt;</code> from a long running command's output.
  <P>
  The supplied <code>cmd</code> is used to start the command.
  A tuple is created for each UTF8 line read from the command's
- <code>output</code>.
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getInputStream--" title="class or interface in java.lang"><code>output</code></a>.
  The tuples contain output from stderr if cmd is configured to 
- <code>redirect stderr to stdout</code>.
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true#redirectErrorStream-boolean-" title="class or interface in java.lang"><code>redirect stderr to stdout</code></a>.
  The command is restarted if a read from the command's output stream
  returns EOF or an error. 
  </P>
@@ -263,7 +264,7 @@
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>topology</code> - the topology to add the source stream to</dd>
-<dd><code>cmd</code> - the <code>ProcessBuilder</code> to start the command</dd>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the source <code>TStream&lt;String&gt;</code></dd>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -278,18 +279,18 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>periodicSource</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;java.lang.String&gt;&gt;&nbsp;periodicSource(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                                                                       java.lang.ProcessBuilder&nbsp;cmd,
-                                                                       long&nbsp;period,
-                                                                       java.util.concurrent.TimeUnit&nbsp;units)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;periodicSource(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd,
+                                                   long&nbsp;period,
+                                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;units)</pre>
 <div class="block">Create a <code>TStream&lt;String&gt;</code> from a periodically run command's output.
  <P>
  The supplied <code>cmd</code> is used to start the command
  at the specified <code>period</code>.
- The command's UTF8 <code>output</code> is read until EOF
+ The command's UTF8 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getInputStream--" title="class or interface in java.lang"><code>output</code></a> is read until EOF
  and a <code>List&lt;String&gt;</code> tuple is created containing the collected output.
  The tuples contain output from stderr if the cmd is configured to 
- <code>redirect stderr to stdout</code>.  
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true#redirectErrorStream-boolean-" title="class or interface in java.lang"><code>redirect stderr to stdout</code></a>.  
  </P>
  <P>
  This is a convenience function equivalent to
@@ -307,7 +308,7 @@
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>topology</code> - the topology to add the source stream to</dd>
-<dd><code>cmd</code> - the <code>ProcessBuilder</code> to start the command</dd>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
 <dd><code>period</code> - the period to run the command and collect its output</dd>
 <dd><code>units</code> - TimeUnit for <code>period</code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -324,12 +325,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>sink</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;&nbsp;sink(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-                                           java.lang.ProcessBuilder&nbsp;cmd)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;sink(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</pre>
 <div class="block">Sink a <code>TStream&lt;String&gt;</code> to a command's input.
  <P>
  The supplied <code>cmd</code> is used to start the command.
- Each tuple is written as UTF8 and flushed to the command's <code>input</code>.
+ Each tuple is written as UTF8 and flushed to the command's <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getOutputStream--" title="class or interface in java.lang"><code>input</code></a>.
  The command is restarted if a write encounters an error. 
  </P>
  <P>
@@ -352,7 +353,7 @@
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>stream</code> - the stream to sink</dd>
-<dd><code>cmd</code> - the <code>ProcessBuilder</code> to start the command</dd>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><code>TSink</code></a></dd>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -367,7 +368,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>endlessCommandReader</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;endlessCommandReader(java.lang.ProcessBuilder&nbsp;cmd)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;endlessCommandReader(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</pre>
 <div class="block">Create an endless <code>Supplier&lt;String&gt;</code> for ingesting a long running command's output.
  <P>
  This method is particularly helpful in creating a sensor or source connector
@@ -395,15 +396,15 @@
  <P>
  The supplied <code>cmd</code> is used to start the command.
  A call to <a href="../../../../../org/apache/edgent/function/Supplier.html#get--"><code>Supplier.get()</code></a> reads the next UTF8 line from the command's
- <code>output</code>.
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getInputStream--" title="class or interface in java.lang"><code>output</code></a>.
  The returned strings contain output from stderr if the cmd is configured to 
- <code>redirect stderr to stdput</code>.  
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true#redirectErrorStream-boolean-" title="class or interface in java.lang"><code>redirect stderr to stdput</code></a>.  
  The command is restarted if a read from the command's output stream
  returns EOF or an error.
  </P></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>cmd</code> - the <code>ProcessBuilder</code> to start the command</dd>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the <code>Supplier&lt;String&gt;</code></dd>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -418,7 +419,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>commandReaderList</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.List&lt;java.lang.String&gt;&gt;&nbsp;commandReaderList(java.lang.ProcessBuilder&nbsp;cmd)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;commandReaderList(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</pre>
 <div class="block">Create a <code>Supplier&lt;List&lt;String&gt;&gt;</code> to ingest a command's output.
  <P>
  This method is particularly helpful in creating a sensor or source connector
@@ -446,14 +447,14 @@
  <P>
  The supplied <code>cmd</code> is used to start the command.
  A call to <a href="../../../../../org/apache/edgent/function/Supplier.html#get--"><code>Supplier.get()</code></a> reads the command's UTF8
- <code>input stream</code> until an EOF or error
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getInputStream--" title="class or interface in java.lang"><code>input stream</code></a> until an EOF or error
  and returns a <code>List&lt;String&gt;</code> of the collected input.
  The tuples contain output from stderr if the cmd is configured to 
- <code>redirect stderr to stdout</code>.
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true#redirectErrorStream-boolean-" title="class or interface in java.lang"><code>redirect stderr to stdout</code></a>.
  </P></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>cmd</code> - the <code>ProcessBuilder</code> to start the command</dd>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the <code>Supplier&lt;List&lt;String&gt;&gt;</code> for the command</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -468,7 +469,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>commandWriter</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;java.lang.String&gt;&nbsp;commandWriter(java.lang.ProcessBuilder&nbsp;cmd)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;commandWriter(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</pre>
 <div class="block">Create a <code>Consumer&lt;String&gt;</code> to write UTF8 string data to a command's input.
  <P>
  This method is particularly helpful in creating a sink connector
@@ -495,9 +496,9 @@
  }
  </code></pre>
  <P>
- The supplied <code>cmd</code> is used to start the command.
+ The supplied <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>cmd</code></a> is used to start the command.
  Each call to <a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-"><code>accept(String)</code></a> writes a 
- UTF8 string to the command's <code>input</code>.
+ UTF8 string to the command's <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getOutputStream--" title="class or interface in java.lang"><code>input</code></a>.
  Each write is followed by a flush.
  The command is restarted if a write encounters an error. 
  </P>
@@ -509,7 +510,7 @@
  </P></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>cmd</code> - the <code>ProcessBuilder</code> to start the command</dd>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the <code>Consumer&lt;String&gt;</code> for the command</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -543,7 +544,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -588,6 +588,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/command/class-use/CommandStreams.html b/site/javadoc/latest/org/apache/edgent/connectors/command/class-use/CommandStreams.html
index 08ac77e..eebdcc7 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/command/class-use/CommandStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/command/class-use/CommandStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.command.CommandStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.command.CommandStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.command.CommandStreams (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.command.CommandStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/command/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/command/package-frame.html
index bda59fd..e7abf94 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/command/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/command/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.command (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.command (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/command/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/command/package-summary.html
index 86f1137..703083c 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/command/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/command/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.command (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.command (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.command (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.command (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -121,7 +122,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -151,6 +151,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/command/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/command/package-tree.html
index e8e34f8..2334bcb 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/command/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/command/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.command Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.command Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.command Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.command Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.command.<a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command"><span class="typeNameLink">CommandStreams</span></a></li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/command/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/command/package-use.html
index e78d9e1..2089c1b 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/command/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/command/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.command (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.command (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.command (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.command (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/csv/Csv.html b/site/javadoc/latest/org/apache/edgent/connectors/csv/Csv.html
index b672b04..240de35 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/csv/Csv.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/csv/Csv.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Csv (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Csv (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Csv (Edgent v1.1.0)";
+            parent.document.title="Csv (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.csv.Csv</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Csv</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Utilities for working with CSV strings.
  <P>
  Basically, per IETF RFC-4180:
@@ -156,22 +157,22 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static java.util.List&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-">parseCsv</a></span>(java.lang.String&nbsp;csv)</code>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-">parseCsv</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;csv)</code>
 <div class="block">Parse a CSV string into its fields using comma for the field separator.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static java.util.List&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-char-">parseCsv</a></span>(java.lang.String&nbsp;csv,
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-char-">parseCsv</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;csv,
         char&nbsp;separator)</code>
 <div class="block">Parse a CSV string into its fields using the specified field separator.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static com.google.gson.JsonObject</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#toJson-java.util.List-java.lang.String...-">toJson</a></span>(java.util.List&lt;java.lang.String&gt;&nbsp;fields,
-      java.lang.String...&nbsp;fieldNames)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#toJson-java.util.List-java.lang.String...-">toJson</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fields,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;fieldNames)</code>
 <div class="block">Create a <code>JsonObject</code> containing the specified <code>fieldNames</code>
  properties each with its corresponding value from <code>fields</code>.</div>
 </td>
@@ -181,8 +182,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -204,7 +205,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>parseCsv</h4>
-<pre>public static&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;parseCsv(java.lang.String&nbsp;csv)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;parseCsv(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;csv)</pre>
 <div class="block">Parse a CSV string into its fields using comma for the field separator.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -212,7 +213,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the fields</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if the csv is malformed</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the csv is malformed</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-char-"><code>parseCsv(String, char)</code></a></dd>
 </dl>
@@ -224,8 +225,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>parseCsv</h4>
-<pre>public static&nbsp;java.util.List&lt;java.lang.String&gt;&nbsp;parseCsv(java.lang.String&nbsp;csv,
-                                                        char&nbsp;separator)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;parseCsv(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;csv,
+                                    char&nbsp;separator)</pre>
 <div class="block">Parse a CSV string into its fields using the specified field separator.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -234,7 +235,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the fields</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if the csv is malformed</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the csv is malformed</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-"><code>parseCsv(String)</code></a></dd>
 </dl>
@@ -246,8 +247,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toJson</h4>
-<pre>public static&nbsp;com.google.gson.JsonObject&nbsp;toJson(java.util.List&lt;java.lang.String&gt;&nbsp;fields,
-                                                java.lang.String...&nbsp;fieldNames)</pre>
+<pre>public static&nbsp;com.google.gson.JsonObject&nbsp;toJson(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fields,
+                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;fieldNames)</pre>
 <div class="block">Create a <code>JsonObject</code> containing the specified <code>fieldNames</code>
  properties each with its corresponding value from <code>fields</code>.
  <P>
@@ -265,7 +266,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the JsonObject</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if the number of fields and the number
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the number of fields and the number
  of fieldNames don't match</dd>
 </dl>
 </li>
@@ -295,7 +296,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -340,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/csv/class-use/Csv.html b/site/javadoc/latest/org/apache/edgent/connectors/csv/class-use/Csv.html
index be98203..d47344b 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/csv/class-use/Csv.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/csv/class-use/Csv.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.csv.Csv (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.csv.Csv (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.csv.Csv (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.csv.Csv (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/csv/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/csv/package-frame.html
index 45b8d72..f19ef8d 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/csv/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/csv/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.csv (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.csv (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/csv/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/csv/package-summary.html
index aa75200..f8a8f24 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/csv/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/csv/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.csv (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.csv (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.csv (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.csv (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -120,7 +121,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/csv/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/csv/package-tree.html
index 251e3f7..a6ed742 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/csv/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/csv/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.csv Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.csv Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.csv Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.csv Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.csv.<a href="../../../../../org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv"><span class="typeNameLink">Csv</span></a></li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/csv/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/csv/package-use.html
index bc04d65..ab3e356 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/csv/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/csv/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.csv (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.csv (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.csv (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.csv (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html b/site/javadoc/latest/org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html
index 3ba0693..58475ac 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>CompressedFileWriterPolicy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CompressedFileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CompressedFileWriterPolicy (Edgent v1.1.0)";
+            parent.document.title="CompressedFileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">org.apache.edgent.connectors.file.FileWriterPolicy</a>&lt;T&gt;</li>
@@ -197,19 +198,19 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#compressFile-java.nio.file.Path-java.nio.file.Path-">compressFile</a></span>(java.nio.file.Path&nbsp;src,
-            java.nio.file.Path&nbsp;dst)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#compressFile-java.nio.file.Path-java.nio.file.Path-">compressFile</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;src,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;dst)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>protected java.nio.file.Path</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">hookGenerateFinalFilePath</a></span>(java.nio.file.Path&nbsp;path)</code>
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">hookGenerateFinalFilePath</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)</code>
 <div class="block">Generate the final file path for the active file.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#hookRenameFile-java.nio.file.Path-java.nio.file.Path-">hookRenameFile</a></span>(java.nio.file.Path&nbsp;activePath,
-              java.nio.file.Path&nbsp;finalPath)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#hookRenameFile-java.nio.file.Path-java.nio.file.Path-">hookRenameFile</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;activePath,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;finalPath)</code>
 <div class="block">"Rename" the active file to the final path.</div>
 </td>
 </tr>
@@ -225,8 +226,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -276,7 +277,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>hookGenerateFinalFilePath</h4>
-<pre>protected&nbsp;java.nio.file.Path&nbsp;hookGenerateFinalFilePath(java.nio.file.Path&nbsp;path)</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;hookGenerateFinalFilePath(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">FileWriterPolicy</a></code></span></div>
 <div class="block">Generate the final file path for the active file.
  <p>
@@ -316,9 +317,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>hookRenameFile</h4>
-<pre>protected&nbsp;void&nbsp;hookRenameFile(java.nio.file.Path&nbsp;activePath,
-                              java.nio.file.Path&nbsp;finalPath)
-                       throws java.io.IOException</pre>
+<pre>protected&nbsp;void&nbsp;hookRenameFile(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;activePath,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;finalPath)
+                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookRenameFile-java.nio.file.Path-java.nio.file.Path-">FileWriterPolicy</a></code></span></div>
 <div class="block">"Rename" the active file to the final path.
  <p>
@@ -334,7 +335,7 @@
 <dd><code>activePath</code> - path of the active file</dd>
 <dd><code>finalPath</code> - path to the final destination</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code> - on failure</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - on failure</dd>
 </dl>
 </li>
 </ul>
@@ -344,12 +345,12 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>compressFile</h4>
-<pre>protected&nbsp;void&nbsp;compressFile(java.nio.file.Path&nbsp;src,
-                            java.nio.file.Path&nbsp;dst)
-                     throws java.io.IOException</pre>
+<pre>protected&nbsp;void&nbsp;compressFile(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;src,
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;dst)
+                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -378,7 +379,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -423,6 +423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/FileStreams.html b/site/javadoc/latest/org/apache/edgent/connectors/file/FileStreams.html
index 2640500..e584ba8 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/FileStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/FileStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>FileStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FileStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FileStreams (Edgent v1.1.0)";
+            parent.document.title="FileStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.file.FileStreams</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">FileStreams</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block"><code>FileStreams</code> is a connector for integrating with file system objects.
  <p>
  File stream operations include:
@@ -138,52 +139,52 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;directory)</code>
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory)</code>
 <div class="block">Declare a stream containing the absolute pathname of 
  newly created file names from watching <code>directory</code>.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-java.util.Comparator-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;directory,
-                java.util.Comparator&lt;java.io.File&gt;&nbsp;comparator)</code>
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&gt;&nbsp;comparator)</code>
 <div class="block">Declare a stream containing the absolute pathname of 
  newly created file names from watching <code>directory</code>.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;pathnames)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames)</code>
 <div class="block">Declare a stream containing the lines read from the files
  whose pathnames correspond to each tuple on the <code>pathnames</code>
  stream.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;pathnames,
-              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,java.lang.String&gt;&nbsp;preFn,
-              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.lang.String,java.lang.Exception,java.lang.String&gt;&nbsp;postFn)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</code>
 <div class="block">Declare a stream containing the lines read from the files
  whose pathnames correspond to each tuple on the <code>pathnames</code>
  stream.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;contents,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;basePathname)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname)</code>
 <div class="block">Write the contents of a stream to files.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;contents,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;basePathname,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;java.lang.String&gt;&gt;&nbsp;policy)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</code>
 <div class="block">Write the contents of a stream to files subject to the control
  of a file writer policy.</div>
 </td>
@@ -193,8 +194,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -216,8 +217,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>directoryWatcher</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;directoryWatcher(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-                                                         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;directory)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directoryWatcher(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                                               <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory)</pre>
 <div class="block">Declare a stream containing the absolute pathname of 
  newly created file names from watching <code>directory</code>.
  <p>
@@ -238,9 +239,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>directoryWatcher</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;directoryWatcher(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-                                                         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;directory,
-                                                         java.util.Comparator&lt;java.io.File&gt;&nbsp;comparator)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directoryWatcher(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                                               <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory,
+                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&gt;&nbsp;comparator)</pre>
 <div class="block">Declare a stream containing the absolute pathname of 
  newly created file names from watching <code>directory</code>.
  <p>
@@ -254,8 +255,8 @@
  TStream&lt;String&gt; pathnames = FileStreams.directoryWatcher(t, () -&gt; dir, null);
  </code></pre>
  <p>
- The order of the files in the stream is dictated by a <code>Comparator</code>.
- The default comparator orders files by <code>File.lastModified()</code> values.
+ The order of the files in the stream is dictated by a <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util"><code>Comparator</code></a>.
+ The default comparator orders files by <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true#lastModified--" title="class or interface in java.io"><code>File.lastModified()</code></a> values.
  There are no guarantees on the processing order of files that
  have the same lastModified value.
  Note, lastModified values are subject to filesystem timestamp
@@ -267,7 +268,7 @@
  valid when it receives the tuple or during its processing of the tuple.
  <p>
  The behavior on MacOS may be unsavory, even as recent as Java8, as
- MacOs Java lacks a native implementation of <code>WatchService</code>.
+ MacOs Java lacks a native implementation of <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/WatchService.html?is-external=true" title="class or interface in java.nio.file"><code>WatchService</code></a>.
  The result can be a delay in detecting newly created files (e.g., 10sec)
  as well not detecting rapid deletion and recreation of a file.</div>
 <dl>
@@ -288,7 +289,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>textFileReader</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;textFileReader(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;pathnames)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;textFileReader(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames)</pre>
 <div class="block">Declare a stream containing the lines read from the files
  whose pathnames correspond to each tuple on the <code>pathnames</code>
  stream.
@@ -337,9 +338,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>textFileReader</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;textFileReader(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;pathnames,
-                                                       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,java.lang.String&gt;&nbsp;preFn,
-                                                       <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.lang.String,java.lang.Exception,java.lang.String&gt;&nbsp;postFn)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;textFileReader(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+                                             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+                                             <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</pre>
 <div class="block">Declare a stream containing the lines read from the files
  whose pathnames correspond to each tuple on the <code>pathnames</code>
  stream.
@@ -396,8 +397,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>textFileWriter</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;&nbsp;textFileWriter(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;contents,
-                                                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;basePathname)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;textFileWriter(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+                                           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname)</pre>
 <div class="block">Write the contents of a stream to files.
  <p>
  The default <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterPolicy</code></a> is used.
@@ -428,9 +429,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>textFileWriter</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;&nbsp;textFileWriter(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;contents,
-                                                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;basePathname,
-                                                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;java.lang.String&gt;&gt;&nbsp;policy)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;textFileWriter(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+                                           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+                                           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</pre>
 <div class="block">Write the contents of a stream to files subject to the control
  of a file writer policy.
  <p>
@@ -488,7 +489,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -533,6 +533,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterCycleConfig.html b/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterCycleConfig.html
index a4fede0..9328f6c 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterCycleConfig.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterCycleConfig.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>FileWriterCycleConfig (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FileWriterCycleConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FileWriterCycleConfig (Edgent v1.1.0)";
+            parent.document.title="FileWriterCycleConfig (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.file.FileWriterCycleConfig&lt;T&gt;</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">FileWriterCycleConfig&lt;T&gt;</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">FileWriter active file cycle configuration control.
  <p>
  Cycling the active file closes it, gets it to its final pathname,
@@ -213,7 +214,7 @@
 </td>
 </tr>
 <tr id="i10" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -221,8 +222,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -421,10 +422,10 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -453,7 +454,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -498,6 +498,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterFlushConfig.html b/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterFlushConfig.html
index cd17250..b79b6b5 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterFlushConfig.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterFlushConfig.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>FileWriterFlushConfig (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FileWriterFlushConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FileWriterFlushConfig (Edgent v1.1.0)";
+            parent.document.title="FileWriterFlushConfig (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.file.FileWriterFlushConfig&lt;T&gt;</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">FileWriterFlushConfig&lt;T&gt;</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">FileWriter active file flush configuration control.
  <p>
  Flushing of the active file can be any combination of:
@@ -202,7 +203,7 @@
 </td>
 </tr>
 <tr id="i9" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -210,8 +211,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -395,10 +396,10 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -427,7 +428,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -472,6 +472,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterPolicy.html b/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterPolicy.html
index ef53af3..46d8ac7 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterPolicy.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterPolicy.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>FileWriterPolicy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FileWriterPolicy (Edgent v1.1.0)";
+            parent.document.title="FileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.file.FileWriterPolicy&lt;T&gt;</li>
@@ -122,7 +123,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">FileWriterPolicy&lt;T&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;T&gt;</pre>
 <div class="block">A full featured <code>IFileWriterPolicy</code> implementation.
  <p>
@@ -202,11 +203,15 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#close--">close</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#close--">close</a></span>()</code>
+<div class="block">Release any resources utilized by this policy.</div>
+</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.nio.file.Path</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#closeActiveFile-java.nio.file.Path-">closeActiveFile</a></span>(java.nio.file.Path&nbsp;path)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#closeActiveFile-java.nio.file.Path-">closeActiveFile</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)</code>
+<div class="block">Close the active file <code>path</code>.</div>
+</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></td>
@@ -221,8 +226,10 @@
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.nio.file.Path</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getNextActiveFilePath--">getNextActiveFilePath</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getNextActiveFilePath--">getNextActiveFilePath</a></span>()</code>
+<div class="block">Return the path for the next active file to write to.</div>
+</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></code></td>
@@ -231,54 +238,64 @@
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>protected java.nio.file.Path</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">hookGenerateFinalFilePath</a></span>(java.nio.file.Path&nbsp;path)</code>
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">hookGenerateFinalFilePath</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)</code>
 <div class="block">Generate the final file path for the active file.</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>protected java.nio.file.Path</code></td>
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateNextActiveFilePath--">hookGenerateNextActiveFilePath</a></span>()</code>
 <div class="block">Generate the path for the next active file.</div>
 </td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookRenameFile-java.nio.file.Path-java.nio.file.Path-">hookRenameFile</a></span>(java.nio.file.Path&nbsp;activePath,
-              java.nio.file.Path&nbsp;finalPath)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookRenameFile-java.nio.file.Path-java.nio.file.Path-">hookRenameFile</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;activePath,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;finalPath)</code>
 <div class="block">"Rename" the active file to the final path.</div>
 </td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#initialize-java.lang.String-java.io.Flushable-java.io.Closeable-">initialize</a></span>(java.lang.String&nbsp;basePathname,
-          java.io.Flushable&nbsp;flushable,
-          java.io.Closeable&nbsp;closeable)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#initialize-java.lang.String-java.io.Flushable-java.io.Closeable-">initialize</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;basePathname,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</a>&nbsp;flushable,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>&nbsp;closeable)</code>
+<div class="block">Initialize the policy with the base pathname of files to generate
+ and objects that can be
+ called to perform timer based flush or close (cycle) of the active file.</div>
+</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#shouldCycle--">shouldCycle</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#shouldCycle--">shouldCycle</a></span>()</code>
+<div class="block">Answers the question "should the active file be cycled?".</div>
+</td>
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#shouldFlush--">shouldFlush</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#shouldFlush--">shouldFlush</a></span>()</code>
+<div class="block">Answers the question "should the active file be flushed?".</div>
+</td>
 </tr>
 <tr id="i12" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#wrote-T-long-">wrote</a></span>(<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&nbsp;tuple,
-     long&nbsp;nbytes)</code>&nbsp;</td>
+     long&nbsp;nbytes)</code>
+<div class="block">Inform the policy of every tuple written to the active file.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -364,6 +381,8 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Release any resources utilized by this policy.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>close</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
@@ -418,12 +437,31 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>public&nbsp;void&nbsp;initialize(java.lang.String&nbsp;basePathname,
-                       java.io.Flushable&nbsp;flushable,
-                       java.io.Closeable&nbsp;closeable)</pre>
+<pre>public&nbsp;void&nbsp;initialize(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;basePathname,
+                       <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</a>&nbsp;flushable,
+                       <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>&nbsp;closeable)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Initialize the policy with the base pathname of files to generate
+ and objects that can be
+ called to perform timer based flush or close (cycle) of the active file.
+ <p>
+ Cycling involves finalizing the active file (getting it to its
+ final destination / pathname) and applying any retention policy.
+ <p>
+ The supplied <code>closeable</code> must close the active file's output stream
+ and then call <code>IFileWriterPolicy.closeActiveFile(Path)</code>.
+ <p>
+ For non-timer based strategies, the file writer generally triggers
+ flush and cycle processing
+ following a tuple write as informed by <code>IFileWriterPolicy.shouldCycle()</code> and
+ <code>IFileWriterPolicy.shouldFlush()</code>.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>initialize</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>basePathname</code> - the directory and base leafname for final files</dd>
+<dd><code>flushable</code> - function to perform the flush</dd>
+<dd><code>closeable</code> - function to perform the close</dd>
 </dl>
 </li>
 </ul>
@@ -437,9 +475,22 @@
 <h4>wrote</h4>
 <pre>public&nbsp;void&nbsp;wrote(<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&nbsp;tuple,
                   long&nbsp;nbytes)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Inform the policy of every tuple written to the active file.
+ <p>
+ The policy can use this to update its state so that it
+ can answer the questions <code>IFileWriterPolicy.shouldFlush()</code>
+ and <code>IFileWriterPolicy.shouldCycle()</code> for count, size, or
+ tuple attribute based policies.
+ <p>
+ The policy can also use this to update its state
+ for implementing time based flush and cycle policies.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>wrote</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - the tuple written</dd>
+<dd><code>nbytes</code> - the number of bytes written</dd>
 </dl>
 </li>
 </ul>
@@ -450,9 +501,15 @@
 <li class="blockList">
 <h4>shouldFlush</h4>
 <pre>public&nbsp;boolean&nbsp;shouldFlush()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Answers the question "should the active file be flushed?".
+ <p>
+ The state is reset to false after this returns.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>shouldFlush</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the active file should be flushed</dd>
 </dl>
 </li>
 </ul>
@@ -463,9 +520,15 @@
 <li class="blockList">
 <h4>shouldCycle</h4>
 <pre>public&nbsp;boolean&nbsp;shouldCycle()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Answers the question "should the active file be cycled?".
+ <p>
+ The state is reset to false after this returns.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>shouldCycle</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the active file should be cycled</dd>
 </dl>
 </li>
 </ul>
@@ -475,10 +538,21 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextActiveFilePath</h4>
-<pre>public&nbsp;java.nio.file.Path&nbsp;getNextActiveFilePath()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;getNextActiveFilePath()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Return the path for the next active file to write to.
+ <p>
+ If there was a current active file, <code>IFileWriterPolicy.closeActiveFile(Path)</code>
+ must be called prior to this.
+ <p>
+ The leafname must be a hidden file (<code>java.io.File.isHidden()==true</code>
+ to be compatible with a directory watcher
+ <a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-"><code>FileStreams.directoryWatcher(org.apache.edgent.topology.TopologyElement, org.apache.edgent.function.Supplier)</code></a></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>getNextActiveFilePath</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>path for the active file</dd>
 </dl>
 </li>
 </ul>
@@ -488,13 +562,26 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>closeActiveFile</h4>
-<pre>public&nbsp;java.nio.file.Path&nbsp;closeActiveFile(java.nio.file.Path&nbsp;path)
-                                   throws java.io.IOException</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;closeActiveFile(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)
+                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Close the active file <code>path</code>.
+ <p>
+ Generate the final path for the active file and  
+ rename/move/copy it as necessary to be at that final path.
+ <p>
+ Apply the retention policy.
+ <p>
+ The active file's writer iostream must be closed prior to calling this.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>closeActiveFile</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>path</code> - the active file (from <code>IFileWriterPolicy.getNextActiveFilePath()</code>).</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the final path</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - on failure</dd>
 </dl>
 </li>
 </ul>
@@ -504,7 +591,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>hookGenerateFinalFilePath</h4>
-<pre>protected&nbsp;java.nio.file.Path&nbsp;hookGenerateFinalFilePath(java.nio.file.Path&nbsp;path)</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;hookGenerateFinalFilePath(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)</pre>
 <div class="block">Generate the final file path for the active file.
  <p>
  The default implementation yields:
@@ -541,7 +628,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>hookGenerateNextActiveFilePath</h4>
-<pre>protected&nbsp;java.nio.file.Path&nbsp;hookGenerateNextActiveFilePath()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;hookGenerateNextActiveFilePath()</pre>
 <div class="block">Generate the path for the next active file.
  <p>
  The default implementation yields <code>parent/.baseLeafname</code>
@@ -563,9 +650,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>hookRenameFile</h4>
-<pre>protected&nbsp;void&nbsp;hookRenameFile(java.nio.file.Path&nbsp;activePath,
-                              java.nio.file.Path&nbsp;finalPath)
-                       throws java.io.IOException</pre>
+<pre>protected&nbsp;void&nbsp;hookRenameFile(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;activePath,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;finalPath)
+                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">"Rename" the active file to the final path.
  <p>
  The default implementation uses <code>java.io.File.renameTo()</code>
@@ -578,7 +665,7 @@
 <dd><code>activePath</code> - path of the active file</dd>
 <dd><code>finalPath</code> - path to the final destination</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code> - on failure</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - on failure</dd>
 </dl>
 </li>
 </ul>
@@ -588,10 +675,10 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -620,7 +707,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -665,6 +751,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterRetentionConfig.html b/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterRetentionConfig.html
index 47edcdf..cde718b 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterRetentionConfig.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/FileWriterRetentionConfig.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>FileWriterRetentionConfig (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FileWriterRetentionConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FileWriterRetentionConfig (Edgent v1.1.0)";
+            parent.document.title="FileWriterRetentionConfig (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.file.FileWriterRetentionConfig</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">FileWriterRetentionConfig</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">FileWriter finalized (non-active) file retention configuration control.
  <p>
  File removal can be any combination of:
@@ -198,7 +199,7 @@
 </td>
 </tr>
 <tr id="i9" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -206,8 +207,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -376,10 +377,10 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -408,7 +409,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -453,6 +453,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/CompressedFileWriterPolicy.html b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/CompressedFileWriterPolicy.html
index 3479b22..224e45d 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/CompressedFileWriterPolicy.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/CompressedFileWriterPolicy.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.file.CompressedFileWriterPolicy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.CompressedFileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.file.CompressedFileWriterPolicy (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.CompressedFileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileStreams.html b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileStreams.html
index 64741bb..434755d 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.file.FileStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.FileStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileStreams (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterCycleConfig.html b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterCycleConfig.html
index 84f5bbc..a049b19 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterCycleConfig.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterCycleConfig.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.file.FileWriterCycleConfig (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.FileWriterCycleConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterCycleConfig (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterCycleConfig (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -183,12 +184,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -218,6 +218,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterFlushConfig.html b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterFlushConfig.html
index 3f87864..b59f068 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterFlushConfig.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterFlushConfig.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.file.FileWriterFlushConfig (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.FileWriterFlushConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterFlushConfig (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterFlushConfig (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -182,12 +183,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -217,6 +217,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterPolicy.html b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterPolicy.html
index 13c3570..af787be 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterPolicy.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterPolicy.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.file.FileWriterPolicy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.FileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterPolicy (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -130,12 +131,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterRetentionConfig.html b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterRetentionConfig.html
index 9ca615f..d9d02bb 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterRetentionConfig.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/class-use/FileWriterRetentionConfig.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.file.FileWriterRetentionConfig (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.FileWriterRetentionConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterRetentionConfig (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterRetentionConfig (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -178,12 +179,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -213,6 +213,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/file/package-frame.html
index 6be6a1f..eea67d6 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.file (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.file (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/file/package-summary.html
index 4b98ef9..c5b791f 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.file (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.file (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.file (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.file (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -153,7 +154,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -183,6 +183,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/file/package-tree.html
index 70a56bd..0eb0f0b 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.file Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.file Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.file Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.file Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.file.<a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileStreams</span></a></li>
 <li type="circle">org.apache.edgent.connectors.file.<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterCycleConfig</span></a>&lt;T&gt;</li>
@@ -112,7 +113,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/file/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/file/package-use.html
index ea3008c..0ff4984 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/file/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/file/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.file (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.file (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.file (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.file (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -143,7 +144,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -173,6 +173,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/http/HttpClients.html b/site/javadoc/latest/org/apache/edgent/connectors/http/HttpClients.html
index 382ac3a..8d17f45 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/http/HttpClients.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/http/HttpClients.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>HttpClients (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HttpClients (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HttpClients (Edgent v1.1.0)";
+            parent.document.title="HttpClients (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.http.HttpClients</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">HttpClients</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Creation of HTTP Clients.
  
  This methods are called at runtime to create
@@ -163,15 +164,15 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static org.apache.http.impl.client.CloseableHttpClient</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-java.lang.String-java.lang.String-">basic</a></span>(java.lang.String&nbsp;user,
-     java.lang.String&nbsp;password)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-java.lang.String-java.lang.String-">basic</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;password)</code>
 <div class="block">Create a basic authentication HTTP client with a fixed user and password.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static org.apache.http.impl.client.CloseableHttpClient</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">basic</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;user,
-     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;password)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">basic</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;user,
+     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;password)</code>
 <div class="block">Method to create a basic authentication HTTP client.</div>
 </td>
 </tr>
@@ -186,8 +187,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -242,8 +243,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>basic</h4>
-<pre>public static&nbsp;org.apache.http.impl.client.CloseableHttpClient&nbsp;basic(java.lang.String&nbsp;user,
-                                                                    java.lang.String&nbsp;password)</pre>
+<pre>public static&nbsp;org.apache.http.impl.client.CloseableHttpClient&nbsp;basic(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+                                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;password)</pre>
 <div class="block">Create a basic authentication HTTP client with a fixed user and password.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -262,8 +263,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>basic</h4>
-<pre>public static&nbsp;org.apache.http.impl.client.CloseableHttpClient&nbsp;basic(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;user,
-                                                                    <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;password)</pre>
+<pre>public static&nbsp;org.apache.http.impl.client.CloseableHttpClient&nbsp;basic(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;user,
+                                                                    <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;password)</pre>
 <div class="block">Method to create a basic authentication HTTP client.
  The functions <code>user</code> and <code>password</code> are called
  when this method is invoked to obtain the user and password
@@ -304,7 +305,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -349,6 +349,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/http/HttpResponders.html b/site/javadoc/latest/org/apache/edgent/connectors/http/HttpResponders.html
index 3a1c75f..53a6b30 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/http/HttpResponders.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/http/HttpResponders.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>HttpResponders (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HttpResponders (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HttpResponders (Edgent v1.1.0)";
+            parent.document.title="HttpResponders (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.http.HttpResponders</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">HttpResponders</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Functions to process HTTP requests.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -153,7 +154,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html#inputOn-java.lang.Integer...-">inputOn</a></span>(java.lang.Integer...&nbsp;codes)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html#inputOn-java.lang.Integer...-">inputOn</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>...&nbsp;codes)</code>
 <div class="block">Return the input tuple on specified codes.</div>
 </td>
 </tr>
@@ -174,8 +175,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -233,7 +234,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>inputOn</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,T&gt;&nbsp;inputOn(java.lang.Integer...&nbsp;codes)</pre>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,T&gt;&nbsp;inputOn(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>...&nbsp;codes)</pre>
 <div class="block">Return the input tuple on specified codes.
  Function that returns null (no output) if the HTTP response
  is not one of <code>codes</code>, otherwise it returns the input tuple.
@@ -298,7 +299,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -343,6 +343,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/http/HttpStreams.html b/site/javadoc/latest/org/apache/edgent/connectors/http/HttpStreams.html
index 83c6f5d..2a3f879 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/http/HttpStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/http/HttpStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>HttpStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HttpStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HttpStreams (Edgent v1.1.0)";
+            parent.document.title="HttpStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.http.HttpStreams</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">HttpStreams</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">HTTP streams.</div>
 </li>
 </ul>
@@ -151,7 +152,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">deleteJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</code>
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
 <div class="block">Make an HTTP DELETE request with JsonObject.</div>
 </td>
 </tr>
@@ -159,7 +160,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">getJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
 <div class="block">Make an HTTP GET request with JsonObject.</div>
 </td>
 </tr>
@@ -167,7 +168,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP POST request with JsonObject.</div>
 </td>
@@ -176,7 +177,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP PUT request with JsonObject.</div>
 </td>
@@ -185,8 +186,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request for each tuple on a stream.</div>
 </td>
@@ -195,8 +196,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request with body for each tuple.<br></div>
@@ -207,8 +208,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -249,7 +250,7 @@
 <h4>getJson</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;getJson(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
                                                           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                                                          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</pre>
+                                                          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</pre>
 <div class="block">Make an HTTP GET request with JsonObject. <br>
  
  Method specifically works with JsonObjects. For each JsonObject in the stream, 
@@ -299,7 +300,7 @@
 <h4>deleteJson</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;deleteJson(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
                                                              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                                                             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</pre>
+                                                             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</pre>
 <div class="block">Make an HTTP DELETE request with JsonObject. <br>
  
  Method specifically works with JsonObjects. For each JsonObject in the
@@ -348,7 +349,7 @@
 <h4>postJson</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;postJson(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
                                                            <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                                                           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+                                                           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                                                            <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</pre>
 <div class="block">Make an HTTP POST request with JsonObject. <br>
  
@@ -398,7 +399,7 @@
 <h4>putJson</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;putJson(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
                                                           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                                                          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+                                                          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                                                           <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</pre>
 <div class="block">Make an HTTP PUT request with JsonObject. <br>
  
@@ -448,8 +449,8 @@
 <h4>requests</h4>
 <pre>public static&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;requests(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                                         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                                        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-                                        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+                                        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                                        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                                         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</pre>
 <div class="block">Make an HTTP request for each tuple on a stream.
  <UL>
@@ -503,8 +504,8 @@
 <h4>requestsWithBody</h4>
 <pre>public static&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;requestsWithBody(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                                                 <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                                                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
                                                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</pre>
 <div class="block">Make an HTTP request with body for each tuple.<br></div>
@@ -553,7 +554,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -598,6 +598,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpClients.html b/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpClients.html
index 64bd1b1..fbfa15d 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpClients.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpClients.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.http.HttpClients (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.http.HttpClients (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.http.HttpClients (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.http.HttpClients (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpResponders.html b/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpResponders.html
index 3277c8a..ea1d51e 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpResponders.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpResponders.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.http.HttpResponders (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.http.HttpResponders (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.http.HttpResponders (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.http.HttpResponders (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpStreams.html b/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpStreams.html
index e01bfc3..4611895 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/http/class-use/HttpStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.http.HttpStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.http.HttpStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.http.HttpStreams (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.http.HttpStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/http/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/http/package-frame.html
index e8fec15..e7f5094 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/http/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/http/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.http (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.http (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/http/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/http/package-summary.html
index 85329c5..e51a4af 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/http/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/http/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.http (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.http (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.http (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.http (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -132,7 +133,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/http/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/http/package-tree.html
index 6027227..7e3cd7e 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/http/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/http/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.http Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.http Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.http Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.http Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.http.<a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpClients</span></a></li>
 <li type="circle">org.apache.edgent.connectors.http.<a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpResponders</span></a></li>
@@ -106,7 +107,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -136,6 +136,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/http/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/http/package-use.html
index bbc0a67..b7dbd14 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/http/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/http/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.http (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.http (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.http (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.http (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/Commands.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/Commands.html
index c242db1..17b8d05 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/Commands.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/Commands.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Commands (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Commands (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Commands (Edgent v1.1.0)";
+            parent.document.title="Commands (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -120,7 +121,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/Commands.html#CONTROL_SERVICE">CONTROL_SERVICE</a></span></code>
 <div class="block">Command identifier used for the control service.</div>
 </td>
@@ -146,18 +147,17 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CONTROL_SERVICE</h4>
-<pre>static final&nbsp;java.lang.String CONTROL_SERVICE</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONTROL_SERVICE</pre>
 <div class="block">Command identifier used for the control service.
  <BR>
  The command payload is used to invoke operations
  against control MBeans using an instance of
- <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol"><code>JsonControlService</code></a>.
+ <code>org.apache.edgent.runtime.jsoncontrol.JsonControlService</code>.
  <BR>
  Value is "edgentControl".</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>, 
-<a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot"><code>IotProvider</code></a>, 
+<dd><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>See {@code org.apache.edgent.providers.iot.IotProvider}</code></a>, 
 <a href="../../../../../constant-values.html#org.apache.edgent.connectors.iot.Commands.CONTROL_SERVICE">Constant Field Values</a></dd>
 </dl>
 </li>
@@ -187,7 +187,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -232,6 +231,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/Events.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/Events.html
index 72aaec2..14382dc 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/Events.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/Events.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Events (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Events (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Events (Edgent v1.1.0)";
+            parent.document.title="Events (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -120,7 +121,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/Events.html#IOT_START">IOT_START</a></span></code>
 <div class="block">An IotProvider has started.</div>
 </td>
@@ -146,7 +147,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>IOT_START</h4>
-<pre>static final&nbsp;java.lang.String IOT_START</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> IOT_START</pre>
 <div class="block">An IotProvider has started.
  Event data is an empty JSON object</div>
 <dl>
@@ -180,7 +181,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -225,6 +225,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/HeartBeat.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/HeartBeat.html
index 418d809..60f7cf6 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/HeartBeat.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/HeartBeat.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>HeartBeat (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HeartBeat (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HeartBeat (Edgent v1.1.0)";
+            parent.document.title="HeartBeat (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.iot.HeartBeat</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">HeartBeat</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">An IoT device heartbeat event generator.</div>
 </li>
 </ul>
@@ -134,8 +135,8 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html#addHeartBeat-org.apache.edgent.connectors.iot.IotDevice-long-java.util.concurrent.TimeUnit-java.lang.String-">addHeartBeat</a></span>(<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;iotDevice,
             long&nbsp;period,
-            java.util.concurrent.TimeUnit&nbsp;unit,
-            java.lang.String&nbsp;eventId)</code>
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
 <div class="block">Add IoT device heart beat processing to a topology.</div>
 </td>
 </tr>
@@ -144,8 +145,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -169,8 +170,8 @@
 <h4>addHeartBeat</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;addHeartBeat(<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;iotDevice,
                                                                long&nbsp;period,
-                                                               java.util.concurrent.TimeUnit&nbsp;unit,
-                                                               java.lang.String&nbsp;eventId)</pre>
+                                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+                                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</pre>
 <div class="block">Add IoT device heart beat processing to a topology.
  <P>
  An IoTDevice event containing heart beat information 
@@ -192,7 +193,7 @@
  heart beat's properties:
  <ul>
  <li>"when" : (string) ISO8601 UTC date/time. e.g. "2016-07-12T17:57:08Z"</li>
- <li>"time" : (number) <code>System.currentTimeMillis()</code></li>
+ <li>"time" : (number) <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#currentTimeMillis--" title="class or interface in java.lang"><code>System.currentTimeMillis()</code></a></li>
  </ul></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -230,7 +231,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -275,6 +275,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/IotDevice.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/IotDevice.html
index 559c040..8ba6d2c 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/IotDevice.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/IotDevice.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>IotDevice (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotDevice (Edgent v1.1.0)";
+            parent.document.title="IotDevice (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -153,37 +154,37 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE">CMD_DEVICE</a></span></code>
 <div class="block">Device identifier key.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT">CMD_FORMAT</a></span></code>
 <div class="block">Command format key.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID">CMD_ID</a></span></code>
 <div class="block">Command identifier key.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD">CMD_PAYLOAD</a></span></code>
 <div class="block">Command payload key.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS">CMD_TS</a></span></code>
 <div class="block">Command timestamp (in milliseconds) key.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX">RESERVED_ID_PREFIX</a></span></code>
 <div class="block">Device event and command identifiers starting with "edgent" are reserved for use by Edgent.</div>
 </td>
@@ -205,35 +206,35 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands</a></span>(java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
       int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">getDeviceId</a></span>()</code>
 <div class="block">Get the device's unique opaque device identifier.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--">getDeviceType</a></span>()</code>
 <div class="block">Get the device's opaque device type identifier.</div>
 </td>
@@ -266,7 +267,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>RESERVED_ID_PREFIX</h4>
-<pre>static final&nbsp;java.lang.String RESERVED_ID_PREFIX</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> RESERVED_ID_PREFIX</pre>
 <div class="block">Device event and command identifiers starting with "edgent" are reserved for use by Edgent.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -280,7 +281,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>CMD_ID</h4>
-<pre>static final&nbsp;java.lang.String CMD_ID</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CMD_ID</pre>
 <div class="block">Command identifier key.
  Key is "command".</div>
 <dl>
@@ -296,7 +297,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>CMD_TS</h4>
-<pre>static final&nbsp;java.lang.String CMD_TS</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CMD_TS</pre>
 <div class="block">Command timestamp (in milliseconds) key.
  Key is "tsms".</div>
 <dl>
@@ -312,7 +313,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>CMD_FORMAT</h4>
-<pre>static final&nbsp;java.lang.String CMD_FORMAT</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CMD_FORMAT</pre>
 <div class="block">Command format key.
  Key is "format".</div>
 <dl>
@@ -328,7 +329,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>CMD_PAYLOAD</h4>
-<pre>static final&nbsp;java.lang.String CMD_PAYLOAD</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CMD_PAYLOAD</pre>
 <div class="block">Command payload key.
  If the command format is <code>json</code> then
  the key's value will be a <code>JsonObject</code>,
@@ -347,7 +348,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CMD_DEVICE</h4>
-<pre>static final&nbsp;java.lang.String CMD_DEVICE</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CMD_DEVICE</pre>
 <div class="block">Device identifier key.
  Key is "device".
  The value is the result of <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--"><code>getDeviceId()</code></a>.</div>
@@ -372,7 +373,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getDeviceType</h4>
-<pre>java.lang.String&nbsp;getDeviceType()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceType()</pre>
 <div class="block">Get the device's opaque device type identifier.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -386,7 +387,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getDeviceId</h4>
-<pre>java.lang.String&nbsp;getDeviceId()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceId()</pre>
 <div class="block">Get the device's unique opaque device identifier.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -401,9 +402,9 @@
 <li class="blockList">
 <h4>events</h4>
 <pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                                          <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</pre>
+                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
 <div class="block">Publish a stream's tuples as device events.
  <p>
  Each tuple is published as a device event with the supplied functions
@@ -427,7 +428,7 @@
 <li class="blockList">
 <h4>events</h4>
 <pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                         java.lang.String&nbsp;eventId,
+                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                                          int&nbsp;qos)</pre>
 <div class="block">Publish a stream's tuples as device events.
  <p>
@@ -449,7 +450,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>commands</h4>
-<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(java.lang.String...&nbsp;commands)</pre>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
 <div class="block">Create a stream of device commands as JSON objects.
  Each command sent to the device matching <code>commands</code> will result in a tuple
  on the stream. The JSON object has these keys:
@@ -499,7 +500,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -544,6 +544,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/IotGateway.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/IotGateway.html
index e86b742..b2c0556 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/IotGateway.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/IotGateway.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>IotGateway (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotGateway (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotGateway (Edgent v1.1.0)";
+            parent.document.title="IotGateway (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -172,59 +173,59 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(java.util.Set&lt;java.lang.String&gt;&nbsp;deviceIds,
-                 java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIds,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(java.lang.String&nbsp;deviceId,
-                 java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(java.lang.String&nbsp;deviceTypeId,
-               java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;deviceId,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(java.lang.String&nbsp;deviceId,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               java.lang.String&nbsp;eventId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;deviceIdAttrs)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
 <div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(java.lang.String&nbsp;deviceId)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</code>
 <div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDeviceId-java.util.Map-">getIotDeviceId</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;deviceIdAttrs)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDeviceId-java.util.Map-">getIotDeviceId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
 <div class="block">Get a <code>deviceId</code> for a device.</div>
 </td>
 </tr>
@@ -263,7 +264,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getIotDevice</h4>
-<pre><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;deviceIdAttrs)</pre>
+<pre><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</pre>
 <div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.
  No external validation of the attribute values is performed.</div>
 <dl>
@@ -281,7 +282,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getIotDeviceId</h4>
-<pre>java.lang.String&nbsp;getIotDeviceId(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;deviceIdAttrs)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getIotDeviceId(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</pre>
 <div class="block">Get a <code>deviceId</code> for a device.
  Logically equivalent to <code>getIotDevice(deviceIdAttrs).getDeviceId()</code>.
  No external validation of the attribute values is performed.</div>
@@ -300,7 +301,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getIotDevice</h4>
-<pre><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(java.lang.String&nbsp;deviceId)</pre>
+<pre><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</pre>
 <div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -316,11 +317,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>eventsForDevice</h4>
-<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;deviceId,
+<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
                                                   <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                  <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+                                                  <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                                                   <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-                                                  <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</pre>
+                                                  <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
 <div class="block">Publish a stream's tuples as device events.
  Each tuple is published as a device event with the supplied functions
  providing the device identifier, event identifier, payload and QoS. 
@@ -346,9 +347,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>eventsForDevice</h4>
-<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(java.lang.String&nbsp;deviceId,
+<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
                                                   <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                  java.lang.String&nbsp;eventId,
+                                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                                                   int&nbsp;qos)</pre>
 <div class="block">Publish a stream's tuples as device events.
  Each tuple is published as a device event with the supplied
@@ -373,8 +374,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>commandsForDevice</h4>
-<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(java.util.Set&lt;java.lang.String&gt;&nbsp;deviceIds,
-                                                      java.lang.String...&nbsp;commands)</pre>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIds,
+                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
 <div class="block">Create a stream of device commands as JSON objects.
  Each command sent to one of the specified <code>deviceIds</code> matching <code>commands</code> will
  result in a tuple on the stream. The JSON object has these keys:
@@ -410,8 +411,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>commandsForDevice</h4>
-<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(java.lang.String&nbsp;deviceId,
-                                                      java.lang.String...&nbsp;commands)</pre>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
+                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
 <div class="block">Create a stream of device commands as JSON objects.
  Each command sent to the specified <code>deviceId</code> matching <code>commands</code> will
  result in a tuple on the stream. The JSON object has these keys:
@@ -445,8 +446,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>commandsForType</h4>
-<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForType(java.lang.String&nbsp;deviceTypeId,
-                                                    java.lang.String...&nbsp;commands)</pre>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForType(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
 <div class="block">Create a stream of device commands as JSON objects.
  Each command sent to connected devices of type <code>deviceTypeId</code> matching <code>commands</code>
  will result in a tuple on the stream. The JSON object has these keys:
@@ -464,7 +465,7 @@
  </UL>
  <P>
  An IoT connector implementation may throw
- <code>UnsupportedOperationException</code>
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang"><code>UnsupportedOperationException</code></a>
  if it does not support this capability.  See the implementation's documentation.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -502,7 +503,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -547,6 +547,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/QoS.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/QoS.html
index 682978f..1683359 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/QoS.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/QoS.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>QoS (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QoS (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="QoS (Edgent v1.1.0)";
+            parent.document.title="QoS (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -126,25 +127,25 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.Integer</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#AT_LEAST_ONCE">AT_LEAST_ONCE</a></span></code>
 <div class="block">The message containing the event arrives at the message hub at least once.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.Integer</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#AT_MOST_ONCE">AT_MOST_ONCE</a></span></code>
 <div class="block">The message containing the event arrives at the message hub either once or not at all.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.Integer</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#EXACTLY_ONCE">EXACTLY_ONCE</a></span></code>
 <div class="block">The message containing the event arrives at the message hub exactly once.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.Integer</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#FIRE_AND_FORGET">FIRE_AND_FORGET</a></span></code>
 <div class="block">Fire and forget the event.</div>
 </td>
@@ -170,7 +171,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>AT_MOST_ONCE</h4>
-<pre>static final&nbsp;java.lang.Integer AT_MOST_ONCE</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a> AT_MOST_ONCE</pre>
 <div class="block">The message containing the event arrives at the message hub either once or not at all.
  <BR>
  Value is <code>0</code>.</div>
@@ -182,7 +183,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>FIRE_AND_FORGET</h4>
-<pre>static final&nbsp;java.lang.Integer FIRE_AND_FORGET</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a> FIRE_AND_FORGET</pre>
 <div class="block">Fire and forget the event. Synonym for <a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#AT_MOST_ONCE"><code>AT_MOST_ONCE</code></a>.
  <BR>
  Value is <code>0</code>.</div>
@@ -194,7 +195,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>AT_LEAST_ONCE</h4>
-<pre>static final&nbsp;java.lang.Integer AT_LEAST_ONCE</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a> AT_LEAST_ONCE</pre>
 <div class="block">The message containing the event arrives at the message hub at least once.
  The message may be seen at the hub multiple times.
  <BR>
@@ -207,7 +208,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>EXACTLY_ONCE</h4>
-<pre>static final&nbsp;java.lang.Integer EXACTLY_ONCE</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a> EXACTLY_ONCE</pre>
 <div class="block">The message containing the event arrives at the message hub exactly once.
  <BR>
  Value is <code>2</code>.</div>
@@ -238,7 +239,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -283,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/Commands.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/Commands.html
index 83c97cf..709a6f2 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/Commands.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/Commands.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.iot.Commands (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.iot.Commands (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.Commands (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.Commands (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/Events.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/Events.html
index 948a515..c63bab3 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/Events.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/Events.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.iot.Events (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.iot.Events (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.Events (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.Events (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/HeartBeat.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/HeartBeat.html
index 94d8ffe..d1e391b 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/HeartBeat.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/HeartBeat.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.iot.HeartBeat (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.iot.HeartBeat (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.iot.HeartBeat (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.iot.HeartBeat (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/IotDevice.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/IotDevice.html
index 09cde5a..4316a50 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/IotDevice.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/IotDevice.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.iot.IotDevice (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.iot.IotDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.IotDevice (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.IotDevice (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -113,16 +114,6 @@
  share an <code>IotDevice</code>.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.iotp">org.apache.edgent.samples.connectors.iotp</a></td>
-<td class="colLast">
-<div class="block">Samples showing device events and commands with IBM Watson IoT Platform.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps.iotp">org.apache.edgent.test.svt.apps.iotp</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -192,13 +183,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;deviceIdAttrs)</code>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
 <div class="block">Get an <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(java.lang.String&nbsp;deviceId)</code>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</code>
 <div class="block">Get an <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
 </td>
 </tr>
@@ -215,8 +206,8 @@
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HeartBeat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iot/HeartBeat.html#addHeartBeat-org.apache.edgent.connectors.iot.IotDevice-long-java.util.concurrent.TimeUnit-java.lang.String-">addHeartBeat</a></span>(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;iotDevice,
             long&nbsp;period,
-            java.util.concurrent.TimeUnit&nbsp;unit,
-            java.lang.String&nbsp;eventId)</code>
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
 <div class="block">Add IoT device heart beat processing to a topology.</div>
 </td>
 </tr>
@@ -257,13 +248,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;deviceIdAttrs)</code>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
 <div class="block">Get an <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(java.lang.String&nbsp;fqDeviceId)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -316,14 +307,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
 <div class="block">Register an application that uses an <code>IotDevice</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder,
                 boolean&nbsp;autoSubmit,
                 com.google.gson.JsonObject&nbsp;config)</code>
@@ -344,20 +335,20 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
            <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
 <div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
 <div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
            <a href="../../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
            <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
@@ -367,65 +358,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.iotp">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a> in <a href="../../../../../../org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</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="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpSensors.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html#displayMessages-org.apache.edgent.connectors.iot.IotDevice-boolean-">displayMessages</a></span>(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device,
-               boolean&nbsp;print)</code>
-<div class="block">Subscribe to IoTP device commands with identifier <code>display</code>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpSensors.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html#heartBeat-org.apache.edgent.connectors.iot.IotDevice-boolean-">heartBeat</a></span>(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device,
-         boolean&nbsp;print)</code>
-<div class="block">Create a heart beat device event with
- identifier <code>heartbeat</code> to
- ensure there is some immediate output and
- the connection to IoTF happens as soon as possible.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpSensors.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html#simulatedSensors-org.apache.edgent.connectors.iot.IotDevice-boolean-">simulatedSensors</a></span>(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device,
-                boolean&nbsp;print)</code>
-<div class="block">Simulate two bursty sensors and send the readings as IoTF device events
- with an identifier of <code>sensors</code>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps.iotp">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a> in <a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a> that return <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractIotpApplication.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#iotDevice--">iotDevice</a></span>()</code>
-<div class="block">Get the application's IotDevice</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 </ul>
 </li>
 </ul>
@@ -443,12 +375,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -478,6 +409,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/IotGateway.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/IotGateway.html
index f63bb43..8b0d7e3 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/IotGateway.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/IotGateway.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.iot.IotGateway (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.iot.IotGateway (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.IotGateway (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.IotGateway (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -130,12 +131,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/QoS.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/QoS.html
index d68cb81..7cf1f19 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/QoS.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/class-use/QoS.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.iot.QoS (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.iot.QoS (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.QoS (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.QoS (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/package-frame.html
index fb86354..1de10ec 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/package-summary.html
index f4ebcb6..4302676 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.iot (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -215,7 +216,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -245,6 +245,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/package-tree.html
index c6d3056..af27e6d 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.iot Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.iot Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot"><span class="typeNameLink">HeartBeat</span></a></li>
 </ul>
@@ -119,7 +120,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -149,6 +149,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iot/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/iot/package-use.html
index 2689ddc..501c59e 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iot/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iot/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.iot (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -113,16 +114,6 @@
  share an <code>IotDevice</code>.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.iotp">org.apache.edgent.samples.connectors.iotp</a></td>
-<td class="colLast">
-<div class="block">Samples showing device events and commands with IBM Watson IoT Platform.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps.iotp">org.apache.edgent.test.svt.apps.iotp</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -216,40 +207,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.iotp">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> used by <a href="../../../../../org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/iot/class-use/IotDevice.html#org.apache.edgent.samples.connectors.iotp">IotDevice</a>
-<div class="block">A generic IoT device IoT hub connector.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps.iotp">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> used by <a href="../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/iot/class-use/IotDevice.html#org.apache.edgent.test.svt.apps.iotp">IotDevice</a>
-<div class="block">A generic IoT device IoT hub connector.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -270,7 +227,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -300,6 +256,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iotp/IotpDevice.html b/site/javadoc/latest/org/apache/edgent/connectors/iotp/IotpDevice.html
index b9493a9..9e68eda 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iotp/IotpDevice.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iotp/IotpDevice.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>IotpDevice (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotpDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotpDevice (Edgent v1.1.0)";
+            parent.document.title="IotpDevice (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.iotp.IotpDevice</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">IotpDevice</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></pre>
 <div class="block">A Device Connector to IBM Watson IoT Platform (WIoTP).
  <BR>
@@ -122,7 +123,7 @@
  scale message hub that provides a device model on top of MQTT.
  <code>IotpDevice</code> implements the generic device model <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a>
  and thus can be used as a connector for
- <a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot"><code>IotProvider</code></a>.
+ <code>org.apache.edgent.providers.iot.IotProvider</code>.
  <BR>
  <em>Note IBM Watson IoT Platform was previously known as
  IBM Internet of Things Foundation.</em>
@@ -151,12 +152,10 @@
  See <a href="https://github.com/ibm-watson-iot/iot-java/tree/master#migration-from-release-015-to-021">WIoTP Migration from release 0.1.5 to 0.2.1</a>
  for details of changes that occurred to device event payloads
  and how to revert the behavior if needed.
- <p></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">Edgent generic device model</a>, 
-<a href="../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp"><code>Sample application</code></a></dd>
-</dl>
+ <p>
+ See <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">Edgent generic device model</a>
+ <p>
+ See <code>org.apache.edgent.samples.connectors.iotp.IotpSensors</code> Sample application</div>
 </li>
 </ul>
 </div>
@@ -176,7 +175,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#QUICKSTART_DEVICE_TYPE">QUICKSTART_DEVICE_TYPE</a></span></code>
 <div class="block">Device type identifier ("iotsamples-edgent") used when using the Quickstart service.</div>
 </td>
@@ -210,13 +209,13 @@
 </tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.io.File-">IotpDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.io.File&nbsp;optionsFile)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</code>
 <div class="block">Create a connector for the IoT device specified by <code>optionsFile</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.util.Properties-">IotpDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.util.Properties&nbsp;options)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</code>
 <div class="block">Create a connector for the IoT device specified by <code>options</code>.</div>
 </td>
 </tr>
@@ -237,35 +236,35 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#commands-java.lang.String...-">commands</a></span>(java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
       int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#getDeviceId--">getDeviceId</a></span>()</code>
 <div class="block">Get the device's unique opaque device identifier.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#getDeviceType--">getDeviceType</a></span>()</code>
 <div class="block">Get the device's opaque device type identifier.</div>
 </td>
@@ -273,7 +272,7 @@
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
           <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</code>
 <div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
 </td>
@@ -281,14 +280,14 @@
 <tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-java.lang.String-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-          java.lang.String&nbsp;eventId)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
 <div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#quickstart-org.apache.edgent.topology.Topology-java.lang.String-">quickstart</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.lang.String&nbsp;deviceId)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</code>
 <div class="block">Create an <code>IotpDevice</code> connector to the Quickstart service.</div>
 </td>
 </tr>
@@ -299,7 +298,7 @@
 </td>
 </tr>
 <tr id="i9" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -307,8 +306,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -330,7 +329,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>QUICKSTART_DEVICE_TYPE</h4>
-<pre>public static final&nbsp;java.lang.String QUICKSTART_DEVICE_TYPE</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUICKSTART_DEVICE_TYPE</pre>
 <div class="block">Device type identifier ("iotsamples-edgent") used when using the Quickstart service.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -354,7 +353,7 @@
 <li class="blockList">
 <h4>IotpDevice</h4>
 <pre>public&nbsp;IotpDevice(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                  java.util.Properties&nbsp;options)</pre>
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</pre>
 <div class="block">Create a connector for the IoT device specified by <code>options</code>.
  <BR>
  These properties must be set in <code>options</code>.
@@ -400,7 +399,7 @@
 <li class="blockList">
 <h4>IotpDevice</h4>
 <pre>public&nbsp;IotpDevice(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                  java.io.File&nbsp;optionsFile)</pre>
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</pre>
 <div class="block">Create a connector for the IoT device specified by <code>optionsFile</code>.
  <BR>
  The format of the file is:
@@ -470,7 +469,7 @@
 <li class="blockList">
 <h4>quickstart</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a>&nbsp;quickstart(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                                    java.lang.String&nbsp;deviceId)</pre>
+                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</pre>
 <div class="block">Create an <code>IotpDevice</code> connector to the Quickstart service.
  Quickstart service requires no-sign up to use to allow evaluation
  but has limitations on functionality, such as only supporting
@@ -482,8 +481,8 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Connector to the Quickstart service.</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="https://quickstart.internetofthings.ibmcloud.com">Quickstart</a>, 
-<a href="../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp"><code>Quickstart sample application</code></a></dd>
+<dd><a href="https://quickstart.internetofthings.ibmcloud.com">Quickstart</a>
+ See {@code org.apache.edgent.samples.connectors.iotp.IotpQuickstart Quickstart} sample application</dd>
 </dl>
 </li>
 </ul>
@@ -494,9 +493,9 @@
 <li class="blockList">
 <h4>events</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                                                 <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</pre>
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
 <div class="block">Publish a stream's tuples as device events.
  <p>
  Each tuple is published as a device event with the supplied functions
@@ -525,7 +524,7 @@
 <li class="blockList">
 <h4>events</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                java.lang.String&nbsp;eventId,
+                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                                                 int&nbsp;qos)</pre>
 <div class="block">Publish a stream's tuples as device events.
  <p>
@@ -552,7 +551,7 @@
 <li class="blockList">
 <h4>httpEvents</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;httpEvents(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+                                                    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                                                     <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</pre>
 <div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.
  <p>
@@ -577,7 +576,7 @@
 <li class="blockList">
 <h4>httpEvents</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;httpEvents(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                    java.lang.String&nbsp;eventId)</pre>
+                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</pre>
 <div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.
  <p>
  Each tuple is published as a device event with the fixed event identifier.
@@ -597,7 +596,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>commands</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(java.lang.String...&nbsp;commands)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
 <div class="block">Create a stream of device commands as JSON objects.
  Each command sent to the device matching <code>commands</code> will result in a tuple
  on the stream. The JSON object has these keys:
@@ -647,7 +646,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getDeviceType</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getDeviceType()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceType()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--">IotDevice</a></code></span></div>
 <div class="block">Get the device's opaque device type identifier.</div>
 <dl>
@@ -664,7 +663,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getDeviceId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getDeviceId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceId()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">IotDevice</a></code></span></div>
 <div class="block">Get the device's unique opaque device identifier.</div>
 <dl>
@@ -681,10 +680,10 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -713,7 +712,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -758,6 +756,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iotp/IotpGateway.html b/site/javadoc/latest/org/apache/edgent/connectors/iotp/IotpGateway.html
index 1ab45ce..52ce4a7 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iotp/IotpGateway.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iotp/IotpGateway.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>IotpGateway (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotpGateway (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotpGateway (Edgent v1.1.0)";
+            parent.document.title="IotpGateway (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.iotp.IotpGateway</li>
@@ -114,12 +115,16 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">IotpGateway</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></pre>
 <div class="block">An IoT Gateway Device Connector to IBM Watson IoT Platform (WIoTP).
  <p>
  <b>This class is incubating and is subject to change.</b>
  <p>
+ This connector is a thin wrapper over the WIoTP <code>GatewayClient</code> Java API.
+ The constructor <code>Properties</code> and <code>optionsFile</code> contents are those
+ demanded by <code>GatewayClient</code>.
+ <p>
  See <a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp"><code>IotpDevice</code></a> for common WIoTP documentation references.
  <p>
  <code>IotpGateway</code> establishes its own WIoTP <code>GatewayCallback</code>
@@ -155,13 +160,13 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_ID">ATTR_DEVICE_ID</a></span></code>
 <div class="block">WIoTP Device Id identifier key.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_TYPE">ATTR_DEVICE_TYPE</a></span></code>
 <div class="block">WIoTP Device Type identifier key.</div>
 </td>
@@ -189,7 +194,7 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-java.io.File-">IotpGateway</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-           java.io.File&nbsp;optionsFile)</code>
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</code>
 <div class="block">Create a connector for the IoT gateway device specified by <code>optionsFile</code>.</div>
 </td>
 </tr>
@@ -201,7 +206,7 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-java.util.Properties-">IotpGateway</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-           java.util.Properties&nbsp;options)</code>
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</code>
 <div class="block">Create a connector for the IoT gateway device specified by <code>options</code>.</div>
 </td>
 </tr>
@@ -222,94 +227,94 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commands-java.lang.String...-">commands</a></span>(java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(java.util.Set&lt;java.lang.String&gt;&nbsp;fqDeviceIds,
-                 java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceIds,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(java.lang.String&nbsp;fqDeviceId,
-                 java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(java.lang.String&nbsp;deviceTypeId,
-               java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
       int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;fqDeviceId,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(java.lang.String&nbsp;fqDeviceId,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               java.lang.String&nbsp;eventId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i8" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getDeviceId--">getDeviceId</a></span>()</code>
 <div class="block">Get the device's unique opaque device identifier.</div>
 </td>
 </tr>
 <tr id="i9" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getDeviceType--">getDeviceType</a></span>()</code>
 <div class="block">Get the device's opaque device type identifier.</div>
 </td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;deviceIdAttrs)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
 <div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
 </td>
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(java.lang.String&nbsp;fqDeviceId)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId)</code>
 <div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
 </td>
 </tr>
 <tr id="i12" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDeviceId-java.util.Map-">getIotDeviceId</a></span>(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;deviceIdAttrs)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDeviceId-java.util.Map-">getIotDeviceId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
 <div class="block">Get a <code>deviceId</code> for a device.</div>
 </td>
 </tr>
@@ -326,7 +331,7 @@
 </td>
 </tr>
 <tr id="i15" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -334,8 +339,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -357,7 +362,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>ATTR_DEVICE_TYPE</h4>
-<pre>public static final&nbsp;java.lang.String ATTR_DEVICE_TYPE</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_DEVICE_TYPE</pre>
 <div class="block">WIoTP Device Type identifier key.
  Key is "deviceType".</div>
 <dl>
@@ -373,7 +378,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ATTR_DEVICE_ID</h4>
-<pre>public static final&nbsp;java.lang.String ATTR_DEVICE_ID</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_DEVICE_ID</pre>
 <div class="block">WIoTP Device Id identifier key.
  Key is "deviceId".</div>
 <dl>
@@ -398,7 +403,7 @@
 <li class="blockList">
 <h4>IotpGateway</h4>
 <pre>public&nbsp;IotpGateway(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                   java.util.Properties&nbsp;options)</pre>
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</pre>
 <div class="block">Create a connector for the IoT gateway device specified by <code>options</code>.
  <BR>
  These properties must be set in <code>options</code>.
@@ -444,7 +449,7 @@
 <li class="blockList">
 <h4>IotpGateway</h4>
 <pre>public&nbsp;IotpGateway(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                   java.io.File&nbsp;optionsFile)</pre>
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</pre>
 <div class="block">Create a connector for the IoT gateway device specified by <code>optionsFile</code>.
  <BR>
  The format of the file is:
@@ -513,7 +518,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getDeviceType</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getDeviceType()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceType()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--">IotDevice</a></code></span></div>
 <div class="block">Get the device's opaque device type identifier.</div>
 <dl>
@@ -530,7 +535,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getDeviceId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getDeviceId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceId()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">IotDevice</a></code></span></div>
 <div class="block">Get the device's unique opaque device identifier.</div>
 <dl>
@@ -548,9 +553,9 @@
 <li class="blockList">
 <h4>events</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                                                 <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</pre>
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">IotDevice</a></code></span></div>
 <div class="block">Publish a stream's tuples as device events.
  <p>
@@ -577,7 +582,7 @@
 <li class="blockList">
 <h4>events</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                java.lang.String&nbsp;eventId,
+                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                                                 int&nbsp;qos)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">IotDevice</a></code></span></div>
 <div class="block">Publish a stream's tuples as device events.
@@ -602,7 +607,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>commands</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(java.lang.String...&nbsp;commands)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">IotDevice</a></code></span></div>
 <div class="block">Create a stream of device commands as JSON objects.
  Each command sent to the device matching <code>commands</code> will result in a tuple
@@ -653,7 +658,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getIotDeviceId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getIotDeviceId(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;deviceIdAttrs)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getIotDeviceId(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</pre>
 <div class="block">Get a <code>deviceId</code> for a device.
  Logically equivalent to <code>getIotDevice(deviceIdAttrs).getDeviceId()</code>.
  No external validation of the attribute values is performed.
@@ -678,7 +683,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getIotDevice</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;deviceIdAttrs)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</pre>
 <div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.
  No external validation of the attribute values is performed.
  <p>
@@ -700,7 +705,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getIotDevice</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(java.lang.String&nbsp;fqDeviceId)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.lang.String-">IotGateway</a></code></span></div>
 <div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
 <dl>
@@ -719,11 +724,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>eventsForDevice</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;fqDeviceId,
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
                                                          <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+                                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                                                          <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-                                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</pre>
+                                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">IotGateway</a></code></span></div>
 <div class="block">Publish a stream's tuples as device events.
  Each tuple is published as a device event with the supplied functions
@@ -752,9 +757,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>eventsForDevice</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(java.lang.String&nbsp;fqDeviceId,
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
                                                          <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                         java.lang.String&nbsp;eventId,
+                                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                                                          int&nbsp;qos)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">IotGateway</a></code></span></div>
 <div class="block">Publish a stream's tuples as device events.
@@ -782,8 +787,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>commandsForDevice</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(java.util.Set&lt;java.lang.String&gt;&nbsp;fqDeviceIds,
-                                                             java.lang.String...&nbsp;commands)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceIds,
+                                                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">IotGateway</a></code></span></div>
 <div class="block">Create a stream of device commands as JSON objects.
  Each command sent to one of the specified <code>deviceIds</code> matching <code>commands</code> will
@@ -822,8 +827,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>commandsForDevice</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(java.lang.String&nbsp;fqDeviceId,
-                                                             java.lang.String...&nbsp;commands)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
+                                                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">IotGateway</a></code></span></div>
 <div class="block">Create a stream of device commands as JSON objects.
  Each command sent to the specified <code>deviceId</code> matching <code>commands</code> will
@@ -860,8 +865,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>commandsForType</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForType(java.lang.String&nbsp;deviceTypeId,
-                                                           java.lang.String...&nbsp;commands)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForType(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+                                                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForType-java.lang.String-java.lang.String...-">IotGateway</a></code></span></div>
 <div class="block">Create a stream of device commands as JSON objects.
  Each command sent to connected devices of type <code>deviceTypeId</code> matching <code>commands</code>
@@ -880,7 +885,7 @@
  </UL>
  <P>
  An IoT connector implementation may throw
- <code>UnsupportedOperationException</code>
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang"><code>UnsupportedOperationException</code></a>
  if it does not support this capability.  See the implementation's documentation.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -917,10 +922,10 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -949,7 +954,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -994,6 +998,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iotp/class-use/IotpDevice.html b/site/javadoc/latest/org/apache/edgent/connectors/iotp/class-use/IotpDevice.html
index de8396a..a059e3d 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iotp/class-use/IotpDevice.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iotp/class-use/IotpDevice.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.iotp.IotpDevice (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.iotp.IotpDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.iotp.IotpDevice (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.iotp.IotpDevice (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -107,7 +108,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></code></td>
 <td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#quickstart-org.apache.edgent.topology.Topology-java.lang.String-">quickstart</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.lang.String&nbsp;deviceId)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</code>
 <div class="block">Create an <code>IotpDevice</code> connector to the Quickstart service.</div>
 </td>
 </tr>
@@ -131,12 +132,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iotp/class-use/IotpGateway.html b/site/javadoc/latest/org/apache/edgent/connectors/iotp/class-use/IotpGateway.html
index 63cb80f..9a1d495 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iotp/class-use/IotpGateway.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iotp/class-use/IotpGateway.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.iotp.IotpGateway (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.iotp.IotpGateway (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.iotp.IotpGateway (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.iotp.IotpGateway (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-frame.html
index a2e733d..8e58d1c 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iotp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-summary.html
index 899b296..78e94a6 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iotp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.iotp (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.iotp (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -128,7 +129,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-tree.html
index 8b54dfc..b64ebd5 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.iotp Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iotp Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.iotp Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.iotp Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.iotp.<a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpDevice</span></a> (implements org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>)</li>
 <li type="circle">org.apache.edgent.connectors.iotp.<a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpGateway</span></a> (implements org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a>)</li>
@@ -105,7 +106,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -135,6 +135,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-use.html
index 6b8ea11..2b2e2dc 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/iotp/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.iotp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.iotp (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.iotp (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -128,7 +129,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/CheckedFunction.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/CheckedFunction.html
index b2a82df..8abcc9f 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/CheckedFunction.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/CheckedFunction.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>CheckedFunction (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CheckedFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CheckedFunction (Edgent v1.1.0)";
+            parent.document.title="CheckedFunction (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -110,7 +111,7 @@
 </dl>
 <hr>
 <br>
-<pre>@FunctionalInterface
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
 public interface <span class="typeNameLabel">CheckedFunction&lt;T,R&gt;</span></pre>
 <div class="block">Function to apply a funtion to an input value and return a result.</div>
 </li>
@@ -161,7 +162,7 @@
 <li class="blockList">
 <h4>apply</h4>
 <pre><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="type parameter in CheckedFunction">R</a>&nbsp;apply(<a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="type parameter in CheckedFunction">T</a>&nbsp;t)
- throws java.lang.Exception</pre>
+ throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Apply a function to <code>t</code> and return the result.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -169,7 +170,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the function result.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - if there are processing errors.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if there are processing errors.</dd>
 </dl>
 </li>
 </ul>
@@ -198,7 +199,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -243,6 +243,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/CheckedSupplier.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/CheckedSupplier.html
index 6f6d329..ad8a6f3 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/CheckedSupplier.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/CheckedSupplier.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>CheckedSupplier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CheckedSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CheckedSupplier (Edgent v1.1.0)";
+            parent.document.title="CheckedSupplier (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -109,7 +110,7 @@
 </dl>
 <hr>
 <br>
-<pre>@FunctionalInterface
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
 public interface <span class="typeNameLabel">CheckedSupplier&lt;T&gt;</span></pre>
 <div class="block">Function that supplies a result and may throw an Exception.</div>
 </li>
@@ -158,13 +159,13 @@
 <li class="blockList">
 <h4>get</h4>
 <pre><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="type parameter in CheckedSupplier">T</a>&nbsp;get()
-throws java.lang.Exception</pre>
+throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Get a result.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the result</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - if there are errors</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if there are errors</dd>
 </dl>
 </li>
 </ul>
@@ -193,7 +194,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -238,6 +238,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/JdbcStreams.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/JdbcStreams.html
index 4826c63..31d0e86 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/JdbcStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/JdbcStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>JdbcStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JdbcStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JdbcStreams (Edgent v1.1.0)";
+            parent.document.title="JdbcStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.jdbc.JdbcStreams</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">JdbcStreams</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block"><code>JdbcStreams</code> is a streams connector to a database via the
  JDBC API <code>java.sql</code> package.
  <p>
@@ -123,8 +124,8 @@
  <ul>
  <li>constructing a streams connector to a database by providing it with:
      <ul>
-     <li>a JDBC <code>DataSource</code></li>
-     <li>a function that creates a JDBC <code>Connection</code> 
+     <li>a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a></li>
+     <li>a function that creates a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql"><code>Connection</code></a> 
          from the <code>DataSource</code></li>
      </ul>
      </li>
@@ -133,13 +134,13 @@
      <ul>
      <li>specify an SQL statement String or define a <a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><code>StatementSupplier</code></a>.
          A <code>StatementSupplier</code> 
-         creates a JDBC <code>PreparedStatement</code> for an SQL statement
+         creates a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a> for an SQL statement
          (e.g., a query, insert, update, etc operation).</li>
      <li>define a <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><code>ParameterSetter</code></a>.  A <code>ParameterSetter</code>
          sets the parameter values in a generic <code>PreparedStatement</code>.</li>
      <li>define a <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><code>ResultsHandler</code></a> as required.
          A <code>ResultsHandler</code> processes a JDBC
-         <code>ResultSet</code> created by executing a SQL statement,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql"><code>ResultSet</code></a> created by executing a SQL statement,
          optionally creating one or more tuples from the results
          and adding them to a stream.</li>
      </ul>
@@ -228,9 +229,9 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#JdbcStreams-org.apache.edgent.topology.Topology-org.apache.edgent.connectors.jdbc.CheckedSupplier-org.apache.edgent.connectors.jdbc.CheckedFunction-">JdbcStreams</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;javax.sql.DataSource&gt;&nbsp;dataSourceFn,
-           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;javax.sql.DataSource,java.sql.Connection&gt;&nbsp;connFn)</code>
-<div class="block">Create a connector that uses a JDBC <code>DataSource</code> object to get
+           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>&gt;&nbsp;dataSourceFn,
+           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&gt;&nbsp;connFn)</code>
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
  a database connection.</div>
 </td>
 </tr>
@@ -270,7 +271,7 @@
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
 </td>
@@ -278,7 +279,7 @@
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement and
@@ -290,8 +291,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -314,9 +315,9 @@
 <li class="blockList">
 <h4>JdbcStreams</h4>
 <pre>public&nbsp;JdbcStreams(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                   <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;javax.sql.DataSource&gt;&nbsp;dataSourceFn,
-                   <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;javax.sql.DataSource,java.sql.Connection&gt;&nbsp;connFn)</pre>
-<div class="block">Create a connector that uses a JDBC <code>DataSource</code> object to get
+                   <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>&gt;&nbsp;dataSourceFn,
+                   <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&gt;&nbsp;connFn)</pre>
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
  a database connection.
  <p>
  In some environments it's common for JDBC DataSource objects to
@@ -347,9 +348,9 @@
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>topology</code> - topology that this connector is for</dd>
-<dd><code>dataSourceFn</code> - function that yields the <code>DataSource</code>
+<dd><code>dataSourceFn</code> - function that yields the <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a>
               for the database.</dd>
-<dd><code>connFn</code> - function that yields a <code>Connection</code> from a <code>DataSource</code>.</dd>
+<dd><code>connFn</code> - function that yields a <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql"><code>Connection</code></a> from a <code>DataSource</code>.</dd>
 </dl>
 </li>
 </ul>
@@ -368,7 +369,7 @@
 <li class="blockList">
 <h4>executeStatement</h4>
 <pre>public&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;executeStatement(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                                         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                                         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                                          <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
                                          <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</pre>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement and
@@ -445,7 +446,7 @@
 <li class="blockList">
 <h4>executeStatement</h4>
 <pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;&nbsp;executeStatement(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                                      <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</pre>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement.
  <p>
@@ -524,7 +525,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -569,6 +569,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/ParameterSetter.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/ParameterSetter.html
index 17325be..07d3512 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/ParameterSetter.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/ParameterSetter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>ParameterSetter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ParameterSetter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ParameterSetter (Edgent v1.1.0)";
+            parent.document.title="ParameterSetter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -109,9 +110,9 @@
 </dl>
 <hr>
 <br>
-<pre>@FunctionalInterface
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
 public interface <span class="typeNameLabel">ParameterSetter&lt;T&gt;</span></pre>
-<div class="block">Function that sets parameters in a JDBC SQL <code>PreparedStatement</code>.</div>
+<div class="block">Function that sets parameters in a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
 </li>
 </ul>
 </div>
@@ -133,7 +134,7 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html#setParameters-T-java.sql.PreparedStatement-">setParameters</a></span>(<a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="type parameter in ParameterSetter">T</a>&nbsp;t,
-             java.sql.PreparedStatement&nbsp;stmt)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</a>&nbsp;stmt)</code>
 <div class="block">Set 0 or more parameters in a JDBC PreparedStatement.</div>
 </td>
 </tr>
@@ -161,8 +162,8 @@
 <li class="blockList">
 <h4>setParameters</h4>
 <pre>void&nbsp;setParameters(<a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="type parameter in ParameterSetter">T</a>&nbsp;t,
-                   java.sql.PreparedStatement&nbsp;stmt)
-            throws java.sql.SQLException</pre>
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</a>&nbsp;stmt)
+            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></pre>
 <div class="block">Set 0 or more parameters in a JDBC PreparedStatement. 
  <p>
  Sample use for a PreparedStatement of:
@@ -176,7 +177,7 @@
 <dd><code>t</code> - stream tuple of type T</dd>
 <dd><code>stmt</code> - PreparedStatement</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.sql.SQLException</code> - on failure</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></code> - on failure</dd>
 </dl>
 </li>
 </ul>
@@ -205,7 +206,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -250,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/ResultsHandler.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/ResultsHandler.html
index adc1978..b890a8e 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/ResultsHandler.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/ResultsHandler.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>ResultsHandler (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ResultsHandler (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ResultsHandler (Edgent v1.1.0)";
+            parent.document.title="ResultsHandler (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -110,7 +111,7 @@
 </dl>
 <hr>
 <br>
-<pre>@FunctionalInterface
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
 public interface <span class="typeNameLabel">ResultsHandler&lt;T,R&gt;</span></pre>
 <div class="block">Handle the results of executing an SQL statement.
  <p>
@@ -155,8 +156,8 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html#handleResults-T-java.sql.ResultSet-java.lang.Exception-org.apache.edgent.function.Consumer-">handleResults</a></span>(<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">T</a>&nbsp;tuple,
-             java.sql.ResultSet&nbsp;resultSet,
-             java.lang.Exception&nbsp;exc,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql">ResultSet</a>&nbsp;resultSet,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;exc,
              <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">R</a>&gt;&nbsp;consumer)</code>
 <div class="block">Process the <code>ResultSet</code> and add 0 or more tuples to <code>consumer</code>.</div>
 </td>
@@ -185,10 +186,10 @@
 <li class="blockList">
 <h4>handleResults</h4>
 <pre>void&nbsp;handleResults(<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">T</a>&nbsp;tuple,
-                   java.sql.ResultSet&nbsp;resultSet,
-                   java.lang.Exception&nbsp;exc,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql">ResultSet</a>&nbsp;resultSet,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;exc,
                    <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">R</a>&gt;&nbsp;consumer)
-            throws java.sql.SQLException</pre>
+            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></pre>
 <div class="block">Process the <code>ResultSet</code> and add 0 or more tuples to <code>consumer</code>.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -199,7 +200,7 @@
         Typically a SQLException.</dd>
 <dd><code>consumer</code> - a Consumer to a result stream.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.sql.SQLException</code> - if there are problems handling the result</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></code> - if there are problems handling the result</dd>
 </dl>
 </li>
 </ul>
@@ -228,7 +229,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -273,6 +273,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/StatementSupplier.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/StatementSupplier.html
index 5e28e17..cfd607c 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/StatementSupplier.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/StatementSupplier.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>StatementSupplier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StatementSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StatementSupplier (Edgent v1.1.0)";
+            parent.document.title="StatementSupplier (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -105,9 +106,9 @@
 </dl>
 <hr>
 <br>
-<pre>@FunctionalInterface
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
 public interface <span class="typeNameLabel">StatementSupplier</span></pre>
-<div class="block">Function that supplies a JDBC SQL <code>PreparedStatement</code>.</div>
+<div class="block">Function that supplies a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
 </li>
 </ul>
 </div>
@@ -127,8 +128,8 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.sql.PreparedStatement</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html#get-java.sql.Connection-">get</a></span>(java.sql.Connection&nbsp;cn)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html#get-java.sql.Connection-">get</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&nbsp;cn)</code>
 <div class="block">Create a JDBC SQL PreparedStatement containing 0 or more parameters.</div>
 </td>
 </tr>
@@ -153,8 +154,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>get</h4>
-<pre>java.sql.PreparedStatement&nbsp;get(java.sql.Connection&nbsp;cn)
-                        throws java.sql.SQLException</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</a>&nbsp;get(<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&nbsp;cn)
+               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></pre>
 <div class="block">Create a JDBC SQL PreparedStatement containing 0 or more parameters.
  <p>
  Sample use:
@@ -169,7 +170,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the PreparedStatement</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.sql.SQLException</code> - on failure</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></code> - on failure</dd>
 </dl>
 </li>
 </ul>
@@ -198,7 +199,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -243,6 +243,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/CheckedFunction.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/CheckedFunction.html
index e112fd4..ce70379 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/CheckedFunction.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/CheckedFunction.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.jdbc.CheckedFunction (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.jdbc.CheckedFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.CheckedFunction (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.CheckedFunction (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -105,9 +106,9 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#JdbcStreams-org.apache.edgent.topology.Topology-org.apache.edgent.connectors.jdbc.CheckedSupplier-org.apache.edgent.connectors.jdbc.CheckedFunction-">JdbcStreams</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;javax.sql.DataSource&gt;&nbsp;dataSourceFn,
-           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;javax.sql.DataSource,java.sql.Connection&gt;&nbsp;connFn)</code>
-<div class="block">Create a connector that uses a JDBC <code>DataSource</code> object to get
+           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>&gt;&nbsp;dataSourceFn,
+           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&gt;&nbsp;connFn)</code>
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
  a database connection.</div>
 </td>
 </tr>
@@ -131,12 +132,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/CheckedSupplier.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/CheckedSupplier.html
index ccebcde..e26b9da 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/CheckedSupplier.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/CheckedSupplier.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.jdbc.CheckedSupplier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.jdbc.CheckedSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.CheckedSupplier (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.CheckedSupplier (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -105,9 +106,9 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#JdbcStreams-org.apache.edgent.topology.Topology-org.apache.edgent.connectors.jdbc.CheckedSupplier-org.apache.edgent.connectors.jdbc.CheckedFunction-">JdbcStreams</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;javax.sql.DataSource&gt;&nbsp;dataSourceFn,
-           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;javax.sql.DataSource,java.sql.Connection&gt;&nbsp;connFn)</code>
-<div class="block">Create a connector that uses a JDBC <code>DataSource</code> object to get
+           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>&gt;&nbsp;dataSourceFn,
+           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&gt;&nbsp;connFn)</code>
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
  a database connection.</div>
 </td>
 </tr>
@@ -131,12 +132,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/JdbcStreams.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/JdbcStreams.html
index d53f545..9b5f10a 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/JdbcStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/JdbcStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.jdbc.JdbcStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.jdbc.JdbcStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.jdbc.JdbcStreams (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.jdbc.JdbcStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/ParameterSetter.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/ParameterSetter.html
index fecea43..2860810 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/ParameterSetter.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/ParameterSetter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.jdbc.ParameterSetter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.jdbc.ParameterSetter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.ParameterSetter (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.ParameterSetter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -125,7 +126,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                 <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
 </td>
@@ -133,7 +134,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                 <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
                 <a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement and
@@ -160,12 +161,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/ResultsHandler.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/ResultsHandler.html
index a643133..3e2aee8 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/ResultsHandler.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/ResultsHandler.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.jdbc.ResultsHandler (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.jdbc.ResultsHandler (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.ResultsHandler (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.ResultsHandler (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -117,7 +118,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                 <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
                 <a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement and
@@ -144,12 +145,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -179,6 +179,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/StatementSupplier.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/StatementSupplier.html
index 1b1f942..c5e1c16 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/StatementSupplier.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/class-use/StatementSupplier.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.jdbc.StatementSupplier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.jdbc.StatementSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.StatementSupplier (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.StatementSupplier (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -142,12 +143,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -177,6 +177,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-frame.html
index db39118..5f1ef8f 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.jdbc (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.jdbc (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-summary.html
index 2080603..6627534 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.jdbc (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.jdbc (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.jdbc (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.jdbc (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -101,7 +102,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;</td>
 <td class="colLast">
-<div class="block">Function that sets parameters in a JDBC SQL <code>PreparedStatement</code>.</div>
+<div class="block">Function that sets parameters in a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -113,7 +114,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a></td>
 <td class="colLast">
-<div class="block">Function that supplies a JDBC SQL <code>PreparedStatement</code>.</div>
+<div class="block">Function that supplies a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
 </td>
 </tr>
 </tbody>
@@ -165,7 +166,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-tree.html
index 8391ae4..f110443 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.jdbc Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.jdbc Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.jdbc Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.jdbc Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.jdbc.<a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">JdbcStreams</span></a></li>
 </ul>
@@ -112,7 +113,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-use.html
index f7674b8..ba420ef 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/jdbc/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.jdbc (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.jdbc (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.jdbc (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.jdbc (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -112,7 +113,7 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/edgent/connectors/jdbc/class-use/ParameterSetter.html#org.apache.edgent.connectors.jdbc">ParameterSetter</a>
-<div class="block">Function that sets parameters in a JDBC SQL <code>PreparedStatement</code>.</div>
+<div class="block">Function that sets parameters in a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -122,7 +123,7 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/edgent/connectors/jdbc/class-use/StatementSupplier.html#org.apache.edgent.connectors.jdbc">StatementSupplier</a>
-<div class="block">Function that supplies a JDBC SQL <code>PreparedStatement</code>.</div>
+<div class="block">Function that supplies a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
 </td>
 </tr>
 </tbody>
@@ -148,7 +149,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -178,6 +178,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html
index 8b9023a..47c4750 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>KafkaConsumer.ByteConsumerRecord (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>KafkaConsumer.ByteConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="KafkaConsumer.ByteConsumerRecord (Edgent v1.1.0)";
+            parent.document.title="KafkaConsumer.ByteConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -150,7 +151,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html
index 3394498..17bddaa 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>KafkaConsumer.ConsumerRecord (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>KafkaConsumer.ConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="KafkaConsumer.ConsumerRecord (Edgent v1.1.0)";
+            parent.document.title="KafkaConsumer.ConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -147,7 +148,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#partition--">partition</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#topic--">topic</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
@@ -175,7 +176,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>topic</h4>
-<pre>java.lang.String&nbsp;topic()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic()</pre>
 </li>
 </ul>
 <a name="partition--">
@@ -247,7 +248,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -292,6 +292,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html
index 6556007..096254b 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>KafkaConsumer.StringConsumerRecord (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>KafkaConsumer.StringConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="KafkaConsumer.StringConsumerRecord (Edgent v1.1.0)";
+            parent.document.title="KafkaConsumer.StringConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -95,7 +96,7 @@
 <li class="blockList">
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a>&lt;java.lang.String,java.lang.String&gt;</dd>
+<dd><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
@@ -104,7 +105,7 @@
 <hr>
 <br>
 <pre>public static interface <span class="typeNameLabel">KafkaConsumer.StringConsumerRecord</span>
-extends <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a>&lt;java.lang.String,java.lang.String&gt;</pre>
+extends <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</pre>
 <div class="block">A Kafka record with String typed key and value members</div>
 </li>
 </ul>
@@ -150,7 +151,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.html
index fb16185..7efae55 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaConsumer.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>KafkaConsumer (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>KafkaConsumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="KafkaConsumer (Edgent v1.1.0)";
+            parent.document.title="KafkaConsumer (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.kafka.KafkaConsumer</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">KafkaConsumer</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block"><code>KafkaConsumer</code> is a connector for creating a stream of tuples
  by subscribing to Apache Kafka messaging system topics.
  <p>
@@ -192,7 +193,7 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#KafkaConsumer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaConsumer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.Map&lt;java.lang.String,java.lang.Object&gt;&gt;&nbsp;config)</code>
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
 <div class="block">Create a consumer connector for subscribing to Kafka topics
  and creating tuples from the received messages.</div>
 </td>
@@ -215,7 +216,7 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribe-org.apache.edgent.function.Function-java.lang.String...-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
-         java.lang.String...&nbsp;topics)</code>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
 <div class="block">Subscribe to the specified topics and yield a stream of tuples
  from the published Kafka records.</div>
 </td>
@@ -223,7 +224,7 @@
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribeBytes-org.apache.edgent.function.Function-java.lang.String...-">subscribeBytes</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
-              java.lang.String...&nbsp;topics)</code>
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
 <div class="block">Subscribe to the specified topics and yield a stream of tuples
  from the published Kafka records.</div>
 </td>
@@ -233,8 +234,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -257,7 +258,7 @@
 <li class="blockList">
 <h4>KafkaConsumer</h4>
 <pre>public&nbsp;KafkaConsumer(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.Map&lt;java.lang.String,java.lang.Object&gt;&gt;&nbsp;config)</pre>
+                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</pre>
 <div class="block">Create a consumer connector for subscribing to Kafka topics
  and creating tuples from the received messages.
  <p>
@@ -293,7 +294,7 @@
 <li class="blockList">
 <h4>subscribeBytes</h4>
 <pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;subscribeBytes(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
-                                     java.lang.String...&nbsp;topics)</pre>
+                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</pre>
 <div class="block">Subscribe to the specified topics and yield a stream of tuples
  from the published Kafka records.
  <p>
@@ -314,7 +315,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>stream of tuples</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - for a duplicate or conflicting subscription</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - for a duplicate or conflicting subscription</dd>
 </dl>
 </li>
 </ul>
@@ -325,7 +326,7 @@
 <li class="blockList">
 <h4>subscribe</h4>
 <pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;subscribe(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
-                                java.lang.String...&nbsp;topics)</pre>
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</pre>
 <div class="block">Subscribe to the specified topics and yield a stream of tuples
  from the published Kafka records.
  <p>
@@ -346,7 +347,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>stream of tuples</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - for a duplicate or conflicting subscription</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - for a duplicate or conflicting subscription</dd>
 </dl>
 </li>
 </ul>
@@ -375,7 +376,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -420,6 +420,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaProducer.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaProducer.html
index 33d6f19..b772022 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaProducer.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/KafkaProducer.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>KafkaProducer (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>KafkaProducer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="KafkaProducer (Edgent v1.1.0)";
+            parent.document.title="KafkaProducer (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.kafka.KafkaProducer</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">KafkaProducer</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block"><code>KafkaProducer</code> is a connector for publishing a stream of tuples
  to Apache Kafka messaging system topics.
  <p>
@@ -155,7 +156,7 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#KafkaProducer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaProducer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.Map&lt;java.lang.String,java.lang.Object&gt;&gt;&nbsp;config)</code>
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
 <div class="block">Create a producer connector for publishing tuples to Kafka topics.s</div>
 </td>
 </tr>
@@ -175,9 +176,9 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-java.lang.String-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-       java.lang.String&nbsp;topic)</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-java.lang.String-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.</div>
 </td>
@@ -185,10 +186,10 @@
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;keyFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;valueFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.</div>
 </td>
@@ -198,8 +199,8 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified topic partitions.</div>
 </td>
@@ -209,8 +210,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -233,7 +234,7 @@
 <li class="blockList">
 <h4>KafkaProducer</h4>
 <pre>public&nbsp;KafkaProducer(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.Map&lt;java.lang.String,java.lang.Object&gt;&gt;&nbsp;config)</pre>
+                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</pre>
 <div class="block">Create a producer connector for publishing tuples to Kafka topics.s
  <p>
  See the Apache Kafka documentation for <code>KafkaProducer</code>
@@ -272,8 +273,8 @@
 <pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;&nbsp;publishBytes(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                                  <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
                                  <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
-                                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-                                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</pre>
+                                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+                                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</pre>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified topic partitions.
  <p>
@@ -308,10 +309,10 @@
 <li class="blockList">
 <h4>publish</h4>
 <pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;keyFn,
-                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;valueFn,
-                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</pre>
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</pre>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.
  <p>
@@ -345,8 +346,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>publish</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-                                       java.lang.String&nbsp;topic)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic)</pre>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.
  <p>
@@ -390,7 +391,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -435,6 +435,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ByteConsumerRecord.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ByteConsumerRecord.html
index 7a4e130..ee457ca 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ByteConsumerRecord.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ByteConsumerRecord.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ByteConsumerRecord (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ByteConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ByteConsumerRecord (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ByteConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -85,7 +86,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
 </tbody>
@@ -107,7 +108,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribeBytes-org.apache.edgent.function.Function-java.lang.String...-">subscribeBytes</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
-              java.lang.String...&nbsp;topics)</code>
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
 <div class="block">Subscribe to the specified topics and yield a stream of tuples
  from the published Kafka records.</div>
 </td>
@@ -132,12 +133,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -167,6 +167,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ConsumerRecord.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ConsumerRecord.html
index 4ee2f2d..66282f3 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ConsumerRecord.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ConsumerRecord.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ConsumerRecord (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ConsumerRecord (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -85,7 +86,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
 </tbody>
@@ -136,12 +137,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -171,6 +171,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.StringConsumerRecord.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.StringConsumerRecord.html
index 04cdf66..e861cd7 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.StringConsumerRecord.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.StringConsumerRecord.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.StringConsumerRecord (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.StringConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.StringConsumerRecord (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.StringConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -85,7 +86,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
 </tbody>
@@ -107,7 +108,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribe-org.apache.edgent.function.Function-java.lang.String...-">subscribe</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
-         java.lang.String...&nbsp;topics)</code>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
 <div class="block">Subscribe to the specified topics and yield a stream of tuples
  from the published Kafka records.</div>
 </td>
@@ -132,12 +133,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -167,6 +167,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.html
index 3af8b0f..c4ead3b 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.kafka.KafkaConsumer (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.kafka.KafkaConsumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.kafka.KafkaConsumer (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.kafka.KafkaConsumer (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaProducer.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaProducer.html
index c1684f9..bf1509f 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaProducer.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/class-use/KafkaProducer.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.kafka.KafkaProducer (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.kafka.KafkaProducer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.kafka.KafkaProducer (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.kafka.KafkaProducer (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-frame.html
index 26562ac..036501d 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.kafka (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.kafka (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-summary.html
index 3455a93..107a5bc 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.kafka (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.kafka (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.kafka (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.kafka (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -72,7 +73,7 @@
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.kafka</h1>
 <div class="docSummary">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </div>
 <p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
@@ -137,7 +138,7 @@
 <!--   -->
 </a>
 <h2 title="Package org.apache.edgent.connectors.kafka Description">Package org.apache.edgent.connectors.kafka Description</h2>
-<div class="block">Apache Kafka enterprise messing hub stream connector.
+<div class="block">Apache Kafka enterprise messaging hub stream connector.
  <p>
  The connector uses and includes components from the Kafka 0.8.2.2 release.
  It has been successfully tested against kafka_2.11-0.10.1.0 and kafka_2.11-0.9.0.0 server as well.
@@ -165,7 +166,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-tree.html
index 859c142..247ca9a 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.kafka Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.kafka Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.kafka Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.kafka Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.kafka.<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer</span></a></li>
 <li type="circle">org.apache.edgent.connectors.kafka.<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaProducer</span></a></li>
@@ -114,7 +115,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -144,6 +144,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-use.html
index d929bbe..058a38c 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/kafka/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.kafka (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.kafka (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.kafka (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.kafka (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -85,7 +86,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
 </tbody>
@@ -138,7 +139,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -168,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/MqttConfig.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/MqttConfig.html
index 3ee8de6..4830483 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/MqttConfig.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/MqttConfig.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>MqttConfig (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MqttConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MqttConfig (Edgent v1.1.0)";
+            parent.document.title="MqttConfig (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.mqtt.MqttConfig</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MqttConfig</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">MQTT broker connector configuration.</div>
 </li>
 </ul>
@@ -135,8 +136,8 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#MqttConfig-java.lang.String-java.lang.String-">MqttConfig</a></span>(java.lang.String&nbsp;serverURL,
-          java.lang.String&nbsp;clientId)</code>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#MqttConfig-java.lang.String-java.lang.String-">MqttConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverURL,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</code>
 <div class="block">Create a new configuration.</div>
 </td>
 </tr>
@@ -157,8 +158,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#fromProperties-java.util.Properties-">fromProperties</a></span>(java.util.Properties&nbsp;properties)</code>
-<div class="block">Create a new configuration from <code>Properties</code>.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#fromProperties-java.util.Properties-">fromProperties</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</code>
+<div class="block">Create a new configuration from <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><code>Properties</code></a>.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -168,7 +169,7 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getClientId--">getClientId</a></span>()</code>
 <div class="block">Get the connection Client Id.</div>
 </td>
@@ -192,7 +193,7 @@
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getKeyStore--">getKeyStore</a></span>()</code>
 <div class="block">Get the SSL trust store path.</div>
 </td>
@@ -216,7 +217,7 @@
 </td>
 </tr>
 <tr id="i10" class="altColor">
-<td class="colFirst"><code>java.lang.String[]</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getServerURLs--">getServerURLs</a></span>()</code>
 <div class="block">Get the MQTT Server URLs</div>
 </td>
@@ -228,7 +229,7 @@
 </td>
 </tr>
 <tr id="i12" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getTrustStore--">getTrustStore</a></span>()</code>
 <div class="block">Get the SSL trust store path.</div>
 </td>
@@ -240,13 +241,13 @@
 </td>
 </tr>
 <tr id="i14" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getUserName--">getUserName</a></span>()</code>
 <div class="block">Get the username to use for authentication with the server.</div>
 </td>
 </tr>
 <tr id="i15" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillDestination--">getWillDestination</a></span>()</code>
 <div class="block">Get a Last Will and Testament message's destination topic.</div>
 </td>
@@ -276,7 +277,7 @@
 </td>
 </tr>
 <tr id="i20" class="altColor">
-<td class="colFirst"><code>java.lang.Object</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#options--">options</a></span>()</code>
 <div class="block">INTERNAL USE ONLY.</div>
 </td>
@@ -295,7 +296,7 @@
 </tr>
 <tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setClientId-java.lang.String-">setClientId</a></span>(java.lang.String&nbsp;clientId)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setClientId-java.lang.String-">setClientId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</code>
 <div class="block">Connection Client Id.</div>
 </td>
 </tr>
@@ -319,7 +320,7 @@
 </tr>
 <tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setKeyStore-java.lang.String-">setKeyStore</a></span>(java.lang.String&nbsp;path)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setKeyStore-java.lang.String-">setKeyStore</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
 <div class="block">Set the SSL key store path.</div>
 </td>
 </tr>
@@ -343,7 +344,7 @@
 </tr>
 <tr id="i31" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setServerURLs-java.lang.String:A-">setServerURLs</a></span>(java.lang.String[]&nbsp;serverUrls)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setServerURLs-java.lang.String:A-">setServerURLs</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;serverUrls)</code>
 <div class="block">MQTT Server URLs</div>
 </td>
 </tr>
@@ -355,7 +356,7 @@
 </tr>
 <tr id="i33" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setTrustStore-java.lang.String-">setTrustStore</a></span>(java.lang.String&nbsp;path)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setTrustStore-java.lang.String-">setTrustStore</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
 <div class="block">Set the SSL trust store path.</div>
 </td>
 </tr>
@@ -367,13 +368,13 @@
 </tr>
 <tr id="i35" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setUserName-java.lang.String-">setUserName</a></span>(java.lang.String&nbsp;userName)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setUserName-java.lang.String-">setUserName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName)</code>
 <div class="block">Set the username to use for authentication with the server.</div>
 </td>
 </tr>
 <tr id="i36" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setWill-java.lang.String-byte:A-int-boolean-">setWill</a></span>(java.lang.String&nbsp;topic,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setWill-java.lang.String-byte:A-int-boolean-">setWill</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
        byte[]&nbsp;payload,
        int&nbsp;qos,
        boolean&nbsp;retained)</code>
@@ -385,8 +386,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -418,8 +419,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MqttConfig</h4>
-<pre>public&nbsp;MqttConfig(java.lang.String&nbsp;serverURL,
-                  java.lang.String&nbsp;clientId)</pre>
+<pre>public&nbsp;MqttConfig(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverURL,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</pre>
 <div class="block">Create a new configuration.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -442,8 +443,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>fromProperties</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;fromProperties(java.util.Properties&nbsp;properties)</pre>
-<div class="block">Create a new configuration from <code>Properties</code>.
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;fromProperties(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</pre>
+<div class="block">Create a new configuration from <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><code>Properties</code></a>.
  <p>
  There is a property corresponding to each <code>MqttConfig.set&lt;name&gt;()</code>
  method.  Unless otherwise stated, the property's value is a string
@@ -498,7 +499,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the configuration</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - for illegal values</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - for illegal values</dd>
 </dl>
 </li>
 </ul>
@@ -508,7 +509,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getClientId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getClientId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClientId()</pre>
 <div class="block">Get the connection Client Id.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -606,7 +607,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerURLs</h4>
-<pre>public&nbsp;java.lang.String[]&nbsp;getServerURLs()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getServerURLs()</pre>
 <div class="block">Get the MQTT Server URLs</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -620,7 +621,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getWillDestination</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getWillDestination()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getWillDestination()</pre>
 <div class="block">Get a Last Will and Testament message's destination topic.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -704,7 +705,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getUserName</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getUserName()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getUserName()</pre>
 <div class="block">Get the username to use for authentication with the server.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -718,7 +719,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setClientId</h4>
-<pre>public&nbsp;void&nbsp;setClientId(java.lang.String&nbsp;clientId)</pre>
+<pre>public&nbsp;void&nbsp;setClientId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</pre>
 <div class="block">Connection Client Id.
  <p>
  Optional. default null: a clientId is auto-generated.</div>
@@ -854,7 +855,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setServerURLs</h4>
-<pre>public&nbsp;void&nbsp;setServerURLs(java.lang.String[]&nbsp;serverUrls)</pre>
+<pre>public&nbsp;void&nbsp;setServerURLs(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;serverUrls)</pre>
 <div class="block">MQTT Server URLs
  <p>
  Required. Must be an array of one or more MQTT server URLs.
@@ -871,7 +872,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setWill</h4>
-<pre>public&nbsp;void&nbsp;setWill(java.lang.String&nbsp;topic,
+<pre>public&nbsp;void&nbsp;setWill(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
                     byte[]&nbsp;payload,
                     int&nbsp;qos,
                     boolean&nbsp;retained)</pre>
@@ -908,7 +909,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setUserName</h4>
-<pre>public&nbsp;void&nbsp;setUserName(java.lang.String&nbsp;userName)</pre>
+<pre>public&nbsp;void&nbsp;setUserName(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName)</pre>
 <div class="block">Set the username to use for authentication with the server.
  Optional. default: null.</div>
 <dl>
@@ -923,7 +924,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setTrustStore</h4>
-<pre>public&nbsp;void&nbsp;setTrustStore(java.lang.String&nbsp;path)</pre>
+<pre>public&nbsp;void&nbsp;setTrustStore(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</pre>
 <div class="block">Set the SSL trust store path.
  <p>
  Only used with "ssl:" serverURL.
@@ -943,7 +944,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getTrustStore</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getTrustStore()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTrustStore()</pre>
 <div class="block">Get the SSL trust store path.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -987,7 +988,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setKeyStore</h4>
-<pre>public&nbsp;void&nbsp;setKeyStore(java.lang.String&nbsp;path)</pre>
+<pre>public&nbsp;void&nbsp;setKeyStore(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</pre>
 <div class="block">Set the SSL key store path.
  <p>
  Only used with "ssl:" serverURL when the server is configured for
@@ -1007,7 +1008,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getKeyStore</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getKeyStore()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getKeyStore()</pre>
 <div class="block">Get the SSL trust store path.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1051,7 +1052,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>options</h4>
-<pre>public&nbsp;java.lang.Object&nbsp;options()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;options()</pre>
 <div class="block">INTERNAL USE ONLY.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1084,7 +1085,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -1129,6 +1129,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/MqttStreams.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/MqttStreams.html
index d999be4..41a1eb9 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/MqttStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/MqttStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>MqttStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MqttStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MqttStreams (Edgent v1.1.0)";
+            parent.document.title="MqttStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.mqtt.MqttStreams</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MqttStreams</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block"><code>MqttStreams</code> is a connector to a MQTT messaging broker
  for publishing and subscribing to topics.
  <p>
@@ -191,8 +192,8 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#MqttStreams-org.apache.edgent.topology.Topology-java.lang.String-java.lang.String-">MqttStreams</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-           java.lang.String&nbsp;url,
-           java.lang.String&nbsp;clientId)</code>
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;url,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</code>
 <div class="block">Create a connector to the specified server.</div>
 </td>
 </tr>
@@ -218,9 +219,9 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-       java.lang.String&nbsp;topic,
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
        int&nbsp;qos,
        boolean&nbsp;retain)</code>
 <div class="block">Publish a <code>TStream&lt;String&gt;</code> stream's tuples as MQTT messages.</div>
@@ -229,25 +230,25 @@
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;qos,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Boolean&gt;&nbsp;retain)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
 <div class="block">Publish a stream's tuples as MQTT messages.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-">subscribe</a></span>(java.lang.String&nbsp;topicFilter,
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-">subscribe</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
          int&nbsp;qos)</code>
 <div class="block">Subscribe to the MQTT topic(s) and create a <code>TStream&lt;String&gt;</code>.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-org.apache.edgent.function.BiFunction-">subscribe</a></span>(java.lang.String&nbsp;topicFilter,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-org.apache.edgent.function.BiFunction-">subscribe</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
          int&nbsp;qos,
-         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.lang.String,byte[],T&gt;&nbsp;message2Tuple)</code>
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[],T&gt;&nbsp;message2Tuple)</code>
 <div class="block">Subscribe to the MQTT topic(s) and create a stream of tuples of type <code>T</code>.</div>
 </td>
 </tr>
@@ -262,8 +263,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -286,8 +287,8 @@
 <li class="blockList">
 <h4>MqttStreams</h4>
 <pre>public&nbsp;MqttStreams(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                   java.lang.String&nbsp;url,
-                   java.lang.String&nbsp;clientId)</pre>
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;url,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</pre>
 <div class="block">Create a connector to the specified server.
  <p>
  A convenience function.
@@ -335,10 +336,10 @@
 <li class="blockList">
 <h4>publish</h4>
 <pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topic,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
                             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
-                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;qos,
-                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Boolean&gt;&nbsp;retain)</pre>
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</pre>
 <div class="block">Publish a stream's tuples as MQTT messages. 
  <p>Each tuple is published as an MQTT message with
  the supplied functions providing the message topic, payload
@@ -363,10 +364,10 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>publish</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-                                       java.lang.String&nbsp;topic,
-                                       int&nbsp;qos,
-                                       boolean&nbsp;retain)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                             int&nbsp;qos,
+                             boolean&nbsp;retain)</pre>
 <div class="block">Publish a <code>TStream&lt;String&gt;</code> stream's tuples as MQTT messages.
  <p>
  A convenience function.
@@ -388,9 +389,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>subscribe</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;subscribe(java.lang.String&nbsp;topicFilter,
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;subscribe(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
                                 int&nbsp;qos,
-                                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.lang.String,byte[],T&gt;&nbsp;message2Tuple)</pre>
+                                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[],T&gt;&nbsp;message2Tuple)</pre>
 <div class="block">Subscribe to the MQTT topic(s) and create a stream of tuples of type <code>T</code>.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -411,8 +412,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>subscribe</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;subscribe(java.lang.String&nbsp;topicFilter,
-                                               int&nbsp;qos)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;subscribe(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
+                                     int&nbsp;qos)</pre>
 <div class="block">Subscribe to the MQTT topic(s) and create a <code>TStream&lt;String&gt;</code>.
  <p>
  A convenience function.
@@ -470,7 +471,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -515,6 +515,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/class-use/MqttConfig.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/class-use/MqttConfig.html
index bd49803..97c3578 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/class-use/MqttConfig.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/class-use/MqttConfig.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.mqtt.MqttConfig (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.mqtt.MqttConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.mqtt.MqttConfig (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.mqtt.MqttConfig (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -112,8 +113,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MqttConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#fromProperties-java.util.Properties-">fromProperties</a></span>(java.util.Properties&nbsp;properties)</code>
-<div class="block">Create a new configuration from <code>Properties</code>.</div>
+<td class="colLast"><span class="typeNameLabel">MqttConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#fromProperties-java.util.Properties-">fromProperties</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</code>
+<div class="block">Create a new configuration from <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><code>Properties</code></a>.</div>
 </td>
 </tr>
 </tbody>
@@ -160,7 +161,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.connectors.mqtt.MqttConfig-">MqttDevice</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.util.Properties&nbsp;properties,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties,
           <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;mqttConfig)</code>
 <div class="block">Create an MqttDevice connector.</div>
 </td>
@@ -185,12 +186,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -220,6 +220,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/class-use/MqttStreams.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/class-use/MqttStreams.html
index bc96551..33ca665 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/class-use/MqttStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/class-use/MqttStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.mqtt.MqttStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.mqtt.MqttStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.mqtt.MqttStreams (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.mqtt.MqttStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/MqttDevice.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/MqttDevice.html
index 24b6dda..3ecc4ff 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/MqttDevice.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/MqttDevice.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>MqttDevice (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MqttDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MqttDevice (Edgent v1.1.0)";
+            parent.document.title="MqttDevice (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.mqtt.iot.MqttDevice</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MqttDevice</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></pre>
 <div class="block">An MQTT based Edgent <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> connector.
  <p>
@@ -122,9 +123,16 @@
  the <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><code>MqttStreams</code></a> connector.
  <p>
  The connector doesn't presume a particular pattern for 
- Device MQTT "event" topic and "command" topics though default
+ Device MQTT "event" and "command" topics though default
  patterns are provided.
  <p>
+ The MQTT message content for device events and device commands must be JSON.
+ The contents of the JSON are under the control of the collaborating MQTT clients.
+ Typically a device to defines its event and command schemas
+ and the other clients to adapt accordingly.
+ See <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-"><code>commands(String...)</code></a> and <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-"><code>events()</code></a>
+ for a description of how MQTT messages are converted to and from stream tuples.
+ <p>
  Connector configuration Properties fall into two categories:
  <ul>
  <li>MQTT Device abstraction properties</li>
@@ -210,13 +218,13 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-">MqttDevice</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.util.Properties&nbsp;properties)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</code>
 <div class="block">Create an MqttDevice connector.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.connectors.mqtt.MqttConfig-">MqttDevice</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.util.Properties&nbsp;properties,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties,
           <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;mqttConfig)</code>
 <div class="block">Create an MqttDevice connector.</div>
 </td>
@@ -238,47 +246,47 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-">commands</a></span>(java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commandTopic-java.lang.String-">commandTopic</a></span>(java.lang.String&nbsp;command)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commandTopic-java.lang.String-">commandTopic</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;command)</code>
 <div class="block">Get the MQTT topic for a command.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+      <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
       int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#eventTopic-java.lang.String-">eventTopic</a></span>(java.lang.String&nbsp;eventId)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#eventTopic-java.lang.String-">eventTopic</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
 <div class="block">Get the MQTT topic for an device event.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#getDeviceId--">getDeviceId</a></span>()</code>
 <div class="block">Get the device's unique opaque device identifier.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#getDeviceType--">getDeviceType</a></span>()</code>
 <div class="block">Get the device's opaque device type identifier.</div>
 </td>
@@ -300,8 +308,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -324,7 +332,7 @@
 <li class="blockList">
 <h4>MqttDevice</h4>
 <pre>public&nbsp;MqttDevice(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                  java.util.Properties&nbsp;properties)</pre>
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</pre>
 <div class="block">Create an MqttDevice connector.
  <p>
  All configuration information comes from <code>properties</code>.</div>
@@ -342,7 +350,7 @@
 <li class="blockList">
 <h4>MqttDevice</h4>
 <pre>public&nbsp;MqttDevice(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                  java.util.Properties&nbsp;properties,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties,
                   <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;mqttConfig)</pre>
 <div class="block">Create an MqttDevice connector.
  <p>
@@ -371,7 +379,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>eventTopic</h4>
-<pre>public&nbsp;java.lang.String&nbsp;eventTopic(java.lang.String&nbsp;eventId)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventTopic(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</pre>
 <div class="block">Get the MQTT topic for an device event.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -388,7 +396,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>commandTopic</h4>
-<pre>public&nbsp;java.lang.String&nbsp;commandTopic(java.lang.String&nbsp;command)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;commandTopic(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;command)</pre>
 <div class="block">Get the MQTT topic for a command.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -420,15 +428,20 @@
 <li class="blockList">
 <h4>events</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+                                                <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                                                 <a href="../../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-                                                <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">IotDevice</a></code></span></div>
+                                                <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
 <div class="block">Publish a stream's tuples as device events.
  <p>
  Each tuple is published as a device event with the supplied functions
  providing the event identifier, payload and QoS. The event identifier and
- QoS can be generated based upon the tuple.</div>
+ QoS can be generated based upon the tuple.
+ 
+ <p>The event is published to the configured MQTT <code>mqttDevice.event.topic.pattern</code>,
+ as described in the above class documentation, substituting the value returned
+ by the <code>eventId</code> function for "{EVENTID}" in the pattern.
+ The MQTT message's payload is the JSON representation
+ of the JsonObject stream tuple.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
@@ -449,13 +462,18 @@
 <li class="blockList">
 <h4>events</h4>
 <pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-                                                java.lang.String&nbsp;eventId,
+                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                                                 int&nbsp;qos)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">IotDevice</a></code></span></div>
 <div class="block">Publish a stream's tuples as device events.
  <p>
  Each tuple is published as a device event with fixed event identifier and
- QoS.</div>
+ QoS.
+ 
+ <p>The event is published to the configured MQTT <code>mqttDevice.event.topic.pattern</code>,
+ as described in the above class documentation, substituting the <code>eventId</code> for 
+ "{EVENTID}" in the pattern.
+ The MQTT message's payload is the JSON representation
+ of the JsonObject stream tuple.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
@@ -474,8 +492,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>commands</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(java.lang.String...&nbsp;commands)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">IotDevice</a></code></span></div>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
 <div class="block">Create a stream of device commands as JSON objects.
  Each command sent to the device matching <code>commands</code> will result in a tuple
  on the stream. The JSON object has these keys:
@@ -490,7 +507,14 @@
  <LI>Otherwise <code>payload</code> is String</LI>
  </UL>
  </LI>
- </UL></div>
+ </UL>
+ 
+ <p>
+ Subscribes to the configured MQTT <code>mqttDevice.command.topic.pattern</code>
+ as described in the above class documentation.
+ The received MQTT message's payload is required to be JSON.  
+ The message's JSON payload is converted to a JsonObject and
+ set as the <code>payload</code> key's value in the stream tuple JsonObject.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
@@ -525,7 +549,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getDeviceType</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getDeviceType()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceType()</pre>
 <div class="block">Get the device's opaque device type identifier.
  <p> 
  This connector does not support the notion of a device-type
@@ -544,7 +568,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getDeviceId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getDeviceId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceId()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">IotDevice</a></code></span></div>
 <div class="block">Get the device's unique opaque device identifier.</div>
 <dl>
@@ -580,7 +604,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -625,6 +648,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/class-use/MqttDevice.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/class-use/MqttDevice.html
index 2a5bcc5..1dd1510 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/class-use/MqttDevice.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/class-use/MqttDevice.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.mqtt.iot.MqttDevice (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.mqtt.iot.MqttDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.mqtt.iot.MqttDevice (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.mqtt.iot.MqttDevice (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -72,51 +73,7 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.edgent.connectors.mqtt.iot.MqttDevice" class="title">Uses of Class<br>org.apache.edgent.connectors.mqtt.iot.MqttDevice</h2>
 </div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.mqtt">org.apache.edgent.samples.apps.mqtt</a></td>
-<td class="colLast">
-<div class="block">Base support for Edgent MQTT based application samples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.apps.mqtt">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a> in <a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a> that return <a href="../../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractMqttApplication.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#mqttDevice--">mqttDevice</a></span>()</code>
-<div class="block">Get the application's MqttDevice</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.mqtt.iot.MqttDevice</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -130,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -165,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-frame.html
index dec6930..63d2b42 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.mqtt.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-summary.html
index 5c4066b..6ee9122 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.mqtt.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.mqtt.iot (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.mqtt.iot (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -120,7 +121,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-tree.html
index e06e7bc..87bbbd5 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.mqtt.iot Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.mqtt.iot Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.mqtt.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.mqtt.iot.<a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot"><span class="typeNameLink">MqttDevice</span></a> (implements org.apache.edgent.connectors.iot.<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>)</li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-use.html
index 54b2032..cdd624b 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/iot/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.mqtt.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.mqtt.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.mqtt.iot (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.mqtt.iot (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -72,44 +73,7 @@
 <div class="header">
 <h1 title="Uses of Package org.apache.edgent.connectors.mqtt.iot" class="title">Uses of Package<br>org.apache.edgent.connectors.mqtt.iot</h1>
 </div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.mqtt">org.apache.edgent.samples.apps.mqtt</a></td>
-<td class="colLast">
-<div class="block">Base support for Edgent MQTT based application samples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.mqtt">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> used by <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/class-use/MqttDevice.html#org.apache.edgent.samples.apps.mqtt">MqttDevice</a>
-<div class="block">An MQTT based Edgent <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> connector.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
+<div class="contentContainer">No usage of org.apache.edgent.connectors.mqtt.iot</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -128,7 +92,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -158,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-frame.html
index 054add3..41ee072 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.mqtt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-summary.html
index 4fa6b3b..f25c06a 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.mqtt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.mqtt (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.mqtt (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -132,7 +133,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-tree.html
index 3a45ead..6ad6a1f 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.mqtt Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.mqtt Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.mqtt Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.mqtt.<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttConfig</span></a></li>
 <li type="circle">org.apache.edgent.connectors.mqtt.<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttStreams</span></a></li>
@@ -105,7 +106,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -135,6 +135,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-use.html
index c9dc136..a2b414f 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/mqtt/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.mqtt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.mqtt (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.mqtt (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.mqtt (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -151,7 +152,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -181,6 +181,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/PublishSubscribe.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/PublishSubscribe.html
index 63ea5fe..50d574a 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/PublishSubscribe.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/PublishSubscribe.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>PublishSubscribe (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PublishSubscribe (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PublishSubscribe (Edgent v1.1.0)";
+            parent.document.title="PublishSubscribe (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.pubsub.PublishSubscribe</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">PublishSubscribe</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Publish subscribe model.
  <BR>
  A stream can be <a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-"><code>published </code></a> to a topic
@@ -160,7 +161,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#RESERVED_TOPIC_PREFIX">RESERVED_TOPIC_PREFIX</a></span></code>
 <div class="block">Topics that start with "edgent/" are reserved for use by Edgent.</div>
 </td>
@@ -200,16 +201,16 @@
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       java.lang.String&nbsp;topic,
-       java.lang.Class&lt;? super T&gt;&nbsp;streamType)</code>
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
 <div class="block">Publish this stream to a topic.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-         java.lang.String&nbsp;topic,
-         java.lang.Class&lt;T&gt;&nbsp;streamType)</code>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType)</code>
 <div class="block">Subscribe to a published topic.</div>
 </td>
 </tr>
@@ -218,8 +219,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -241,7 +242,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RESERVED_TOPIC_PREFIX</h4>
-<pre>public static final&nbsp;java.lang.String RESERVED_TOPIC_PREFIX</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> RESERVED_TOPIC_PREFIX</pre>
 <div class="block">Topics that start with "edgent/" are reserved for use by Edgent.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -281,8 +282,8 @@
 <li class="blockList">
 <h4>publish</h4>
 <pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                                   java.lang.String&nbsp;topic,
-                                   java.lang.Class&lt;? super T&gt;&nbsp;streamType)</pre>
+                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</pre>
 <div class="block">Publish this stream to a topic.
  This is a model that allows jobs to subscribe to 
  streams published by other jobs.</div>
@@ -307,8 +308,8 @@
 <li class="blockList">
 <h4>subscribe</h4>
 <pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;subscribe(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-                                       java.lang.String&nbsp;topic,
-                                       java.lang.Class&lt;T&gt;&nbsp;streamType)</pre>
+                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType)</pre>
 <div class="block">Subscribe to a published topic.
  This is a model that allows jobs to subscribe to 
  streams published by other jobs.</div>
@@ -351,7 +352,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -396,6 +396,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/class-use/PublishSubscribe.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/class-use/PublishSubscribe.html
index 24909e5..e5311f2 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/class-use/PublishSubscribe.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/class-use/PublishSubscribe.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.pubsub.PublishSubscribe (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.pubsub.PublishSubscribe (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.pubsub.PublishSubscribe (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.pubsub.PublishSubscribe (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/Publish.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/Publish.html
index 7cb39f8..83fd787 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/Publish.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/Publish.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Publish (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Publish (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Publish (Edgent v1.1.0)";
+            parent.document.title="Publish (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,java.lang.Void&gt;</li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Sink</a>&lt;T&gt;</li>
@@ -123,7 +124,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,java.lang.Void&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -153,8 +154,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html#Publish-java.lang.String-java.lang.Class-">Publish</a></span>(java.lang.String&nbsp;topic,
-       java.lang.Class&lt;? super <a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>&gt;&nbsp;streamType)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html#Publish-java.lang.String-java.lang.Class-">Publish</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super <a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>&gt;&nbsp;streamType)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -173,7 +174,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,java.lang.Void&gt;&nbsp;context)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;context)</code>
 <div class="block">Initialize the oplet.</div>
 </td>
 </tr>
@@ -196,8 +197,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -219,8 +220,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Publish</h4>
-<pre>public&nbsp;Publish(java.lang.String&nbsp;topic,
-               java.lang.Class&lt;? super <a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>&gt;&nbsp;streamType)</pre>
+<pre>public&nbsp;Publish(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super <a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>&gt;&nbsp;streamType)</pre>
 </li>
 </ul>
 </li>
@@ -237,14 +238,14 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,java.lang.Void&gt;&nbsp;context)</pre>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;context)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
 <div class="block">Initialize the oplet.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,java.lang.Void&gt;</code></dd>
+<dd><code><a href="../../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,java.lang.Void&gt;</code></dd>
+<dd><code><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>context</code> - the OpletContext</dd>
 </dl>
@@ -275,7 +276,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -320,6 +320,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/class-use/Publish.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/class-use/Publish.html
index 8bd8044..ccca75f 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/class-use/Publish.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/class-use/Publish.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.pubsub.oplets.Publish (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.pubsub.oplets.Publish (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.pubsub.oplets.Publish (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.pubsub.oplets.Publish (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-frame.html
index ed7dc56..ef961e1 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.pubsub.oplets (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-summary.html
index 71fb1c7..5aac3d3 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.pubsub.oplets (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.pubsub.oplets (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.pubsub.oplets (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -120,7 +121,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-tree.html
index 6921b93..939bfd3 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.pubsub.oplets Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.pubsub.oplets Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.pubsub.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
 <ul>
@@ -112,7 +113,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-use.html
index 2662ee5..b04c3d4 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/oplets/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.pubsub.oplets (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.pubsub.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.pubsub.oplets (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.pubsub.oplets (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-frame.html
index c2291f9..653f561 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.pubsub (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-summary.html
index 9ef1350..6df9b37 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.pubsub (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.pubsub (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.pubsub (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -120,7 +121,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-tree.html
index aaf0ab2..ec87a1d 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.pubsub Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.pubsub Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.pubsub Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.pubsub.<a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub"><span class="typeNameLink">PublishSubscribe</span></a></li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-use.html
index 03ad559..88e73f6 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.pubsub (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.pubsub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.pubsub (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.pubsub (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html
index 9c2a630..b550fc3 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>ProviderPubSub (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ProviderPubSub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProviderPubSub (Edgent v1.1.0)";
+            parent.document.title="ProviderPubSub (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.pubsub.service.ProviderPubSub</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ProviderPubSub</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></pre>
 <div class="block">Publish subscribe service allowing exchange of streams between jobs in a provider.</div>
 </li>
@@ -154,22 +155,22 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(java.lang.String&nbsp;topic,
-             java.lang.Class&lt;T&gt;&nbsp;streamType,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
              <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</code>
 <div class="block">Add a subscriber to a published topic.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(java.lang.String&nbsp;topic,
-                     java.lang.Class&lt;? super T&gt;&nbsp;streamType)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
 <div class="block">Get the destination for a publisher.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(java.lang.String&nbsp;topic,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
                 <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</code>&nbsp;</td>
 </tr>
 </table>
@@ -177,8 +178,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -217,8 +218,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>addSubscriber</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;void&nbsp;addSubscriber(java.lang.String&nbsp;topic,
-                              java.lang.Class&lt;T&gt;&nbsp;streamType,
+<pre>public&nbsp;&lt;T&gt;&nbsp;void&nbsp;addSubscriber(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
                               <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">PublishSubscribeService</a></code></span></div>
 <div class="block">Add a subscriber to a published topic.</div>
@@ -240,8 +241,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getPublishDestination</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;getPublishDestination(java.lang.String&nbsp;topic,
-                                             java.lang.Class&lt;? super T&gt;&nbsp;streamType)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;getPublishDestination(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#getPublishDestination-java.lang.String-java.lang.Class-">PublishSubscribeService</a></code></span></div>
 <div class="block">Get the destination for a publisher.
  A publisher calls <code>destination.accept(tuple)</code> to publish
@@ -265,7 +266,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>removeSubscriber</h4>
-<pre>public&nbsp;void&nbsp;removeSubscriber(java.lang.String&nbsp;topic,
+<pre>public&nbsp;void&nbsp;removeSubscriber(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
                              <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -298,7 +299,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -343,6 +343,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html
index 89a326b..b2bb4bc 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>PublishSubscribeService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PublishSubscribeService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PublishSubscribeService (Edgent v1.1.0)";
+            parent.document.title="PublishSubscribeService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -146,22 +147,22 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(java.lang.String&nbsp;topic,
-             java.lang.Class&lt;T&gt;&nbsp;streamType,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
              <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</code>
 <div class="block">Add a subscriber to a published topic.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(java.lang.String&nbsp;topic,
-                     java.lang.Class&lt;? super T&gt;&nbsp;streamType)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
 <div class="block">Get the destination for a publisher.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(java.lang.String&nbsp;topic,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
                 <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</code>&nbsp;</td>
 </tr>
 </table>
@@ -185,8 +186,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>addSubscriber</h4>
-<pre>&lt;T&gt;&nbsp;void&nbsp;addSubscriber(java.lang.String&nbsp;topic,
-                       java.lang.Class&lt;T&gt;&nbsp;streamType,
+<pre>&lt;T&gt;&nbsp;void&nbsp;addSubscriber(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
                        <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</pre>
 <div class="block">Add a subscriber to a published topic.</div>
 <dl>
@@ -205,7 +206,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>removeSubscriber</h4>
-<pre>void&nbsp;removeSubscriber(java.lang.String&nbsp;topic,
+<pre>void&nbsp;removeSubscriber(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
                       <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</pre>
 </li>
 </ul>
@@ -215,8 +216,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getPublishDestination</h4>
-<pre>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;getPublishDestination(java.lang.String&nbsp;topic,
-                                      java.lang.Class&lt;? super T&gt;&nbsp;streamType)</pre>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;getPublishDestination(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</pre>
 <div class="block">Get the destination for a publisher.
  A publisher calls <code>destination.accept(tuple)</code> to publish
  <code>tuple</code> to the topic.</div>
@@ -256,7 +257,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -301,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/class-use/ProviderPubSub.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/class-use/ProviderPubSub.html
index 88fb6f6..713f22e 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/class-use/ProviderPubSub.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/class-use/ProviderPubSub.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.pubsub.service.ProviderPubSub (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.pubsub.service.ProviderPubSub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.pubsub.service.ProviderPubSub (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.pubsub.service.ProviderPubSub (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/class-use/PublishSubscribeService.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/class-use/PublishSubscribeService.html
index 3f8eef8..21f06e9 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/class-use/PublishSubscribeService.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/class-use/PublishSubscribeService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.pubsub.service.PublishSubscribeService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.pubsub.service.PublishSubscribeService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.pubsub.service.PublishSubscribeService (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.pubsub.service.PublishSubscribeService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -130,12 +131,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-frame.html
index 99f5c03..e3efb59 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.pubsub.service (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.service (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-summary.html
index ba2518a..c3d99b7 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.pubsub.service (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.service (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.pubsub.service (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.pubsub.service (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -137,7 +138,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -167,6 +167,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-tree.html
index fdb8a19..d33b108 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.pubsub.service Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.service Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.pubsub.service Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.pubsub.service Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.pubsub.service.<a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">ProviderPubSub</span></a> (implements org.apache.edgent.connectors.pubsub.service.<a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a>)</li>
 </ul>
@@ -108,7 +109,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -138,6 +138,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-use.html
index 19ace37..447df89 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/pubsub/service/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.pubsub.service (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.pubsub.service (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.pubsub.service (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.pubsub.service (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -128,7 +129,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/serial/SerialDevice.html b/site/javadoc/latest/org/apache/edgent/connectors/serial/SerialDevice.html
index 3208c69..4ce9c48 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/serial/SerialDevice.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/serial/SerialDevice.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>SerialDevice (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SerialDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SerialDevice (Edgent v1.1.0)";
+            parent.document.title="SerialDevice (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -253,7 +254,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -298,6 +298,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/serial/SerialPort.html b/site/javadoc/latest/org/apache/edgent/connectors/serial/SerialPort.html
index f6f7a6a..c205287 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/serial/SerialPort.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/serial/SerialPort.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>SerialPort (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SerialPort (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SerialPort (Edgent v1.1.0)";
+            parent.document.title="SerialPort (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -125,13 +126,13 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.io.InputStream</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html#getInput--">getInput</a></span>()</code>
 <div class="block">Get the input stream for this serial port.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.io.OutputStream</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html#getOutput--">getOutput</a></span>()</code>
 <div class="block">Get the output stream for this serial port.</div>
 </td>
@@ -157,7 +158,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getInput</h4>
-<pre>java.io.InputStream&nbsp;getInput()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;getInput()</pre>
 <div class="block">Get the input stream for this serial port.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -171,7 +172,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOutput</h4>
-<pre>java.io.OutputStream&nbsp;getOutput()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;getOutput()</pre>
 <div class="block">Get the output stream for this serial port.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -204,7 +205,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -249,6 +249,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/serial/class-use/SerialDevice.html b/site/javadoc/latest/org/apache/edgent/connectors/serial/class-use/SerialDevice.html
index 123cb80..eebfc55 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/serial/class-use/SerialDevice.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/serial/class-use/SerialDevice.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.serial.SerialDevice (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.serial.SerialDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.serial.SerialDevice (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.serial.SerialDevice (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -72,93 +73,7 @@
 <div class="header">
 <h2 title="Uses of Interface org.apache.edgent.connectors.serial.SerialDevice" class="title">Uses of Interface<br>org.apache.edgent.connectors.serial.SerialDevice</h2>
 </div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.elm327">org.apache.edgent.samples.connectors.elm327</a></td>
-<td class="colLast">
-<div class="block">OBD-II protocol sample using ELM327.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.obd2">org.apache.edgent.samples.connectors.obd2</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.elm327">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a> in <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</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 void</code></td>
-<td class="colLast"><span class="typeNameLabel">Elm327Cmds.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#initializeProtocol-org.apache.edgent.connectors.serial.SerialDevice-org.apache.edgent.samples.connectors.elm327.Elm327Cmds-">initializeProtocol</a></span>(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device,
-                  <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>&nbsp;protocol)</code>
-<div class="block">Initialize the ELM327 to a specific protocol.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonArray&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Elm327Streams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html#poll-org.apache.edgent.connectors.serial.SerialDevice-long-java.util.concurrent.TimeUnit-org.apache.edgent.samples.connectors.elm327.Cmd...-">poll</a></span>(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device,
-    long&nbsp;period,
-    java.util.concurrent.TimeUnit&nbsp;unit,
-    <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>...&nbsp;cmds)</code>
-<div class="block">Periodically execute a number of ELM327 commands.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.obd2">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a> in <a href="../../../../../../org/apache/edgent/samples/connectors/obd2/package-summary.html">org.apache.edgent.samples.connectors.obd2</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/samples/connectors/obd2/package-summary.html">org.apache.edgent.samples.connectors.obd2</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</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="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Obd2Streams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#increasingTemps-org.apache.edgent.connectors.serial.SerialDevice-">increasingTemps</a></span>(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device)</code>
-<div class="block">Get a stream of temperature readings which
- are increasing over the last minute.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Obd2Streams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#tach-org.apache.edgent.connectors.serial.SerialDevice-">tach</a></span>(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device)</code>
-<div class="block">Get a stream containing vehicle speed (km/h)
- and engine revs (rpm).</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.serial.SerialDevice</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -172,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -207,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/serial/class-use/SerialPort.html b/site/javadoc/latest/org/apache/edgent/connectors/serial/class-use/SerialPort.html
index f80fe5f..fbc6f06 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/serial/class-use/SerialPort.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/serial/class-use/SerialPort.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.serial.SerialPort (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.serial.SerialPort (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.serial.SerialPort (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.serial.SerialPort (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -137,12 +138,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -172,6 +172,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/serial/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/serial/package-frame.html
index 5d8b8bb..cfbface 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/serial/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/serial/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.serial (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.serial (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/serial/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/serial/package-summary.html
index c9fca0c..a82d1af 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/serial/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/serial/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.serial (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.serial (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.serial (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.serial (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -126,7 +127,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/serial/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/serial/package-tree.html
index 2ccf4be..a5613f0 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/serial/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/serial/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.serial Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.serial Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.serial Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.serial Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -105,7 +106,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -135,6 +135,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/serial/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/serial/package-use.html
index 6416c58..1e55d0c 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/serial/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/serial/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.serial (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.serial (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.serial (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.serial (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -88,16 +89,6 @@
 <div class="block">Serial port connector API.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.elm327">org.apache.edgent.samples.connectors.elm327</a></td>
-<td class="colLast">
-<div class="block">OBD-II protocol sample using ELM327.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.obd2">org.apache.edgent.samples.connectors.obd2</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -118,40 +109,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.elm327">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a> used by <a href="../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/serial/class-use/SerialDevice.html#org.apache.edgent.samples.connectors.elm327">SerialDevice</a>
-<div class="block">Access to a device (or devices) connected by a serial port.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.obd2">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a> used by <a href="../../../../../org/apache/edgent/samples/connectors/obd2/package-summary.html">org.apache.edgent.samples.connectors.obd2</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/serial/class-use/SerialDevice.html#org.apache.edgent.samples.connectors.obd2">SerialDevice</a>
-<div class="block">Access to a device (or devices) connected by a serial port.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -172,7 +129,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -202,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/WebSocketClient.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/WebSocketClient.html
index 59687e0..496a5f2 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/WebSocketClient.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/WebSocketClient.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>WebSocketClient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>WebSocketClient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="WebSocketClient (Edgent v1.1.0)";
+            parent.document.title="WebSocketClient (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -196,7 +197,7 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#receiveString--">receiveString</a></span>()</code>
 <div class="block">Create a stream of String tuples from received WebSocket text messages.</div>
 </td>
@@ -214,8 +215,8 @@
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream)</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
 <div class="block">Send a stream's String tuples in a WebSocket text message.</div>
 </td>
 </tr>
@@ -263,7 +264,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>sendString</h4>
-<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;&nbsp;sendString(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream)</pre>
+<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;sendString(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</pre>
 <div class="block">Send a stream's String tuples in a WebSocket text message.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -309,7 +310,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>receiveString</h4>
-<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;receiveString()</pre>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;receiveString()</pre>
 <div class="block">Create a stream of String tuples from received WebSocket text messages.
  <p>
  Note, the WebSocket protocol differentiates between text/String and
@@ -362,7 +363,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -407,6 +407,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/class-use/WebSocketClient.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/class-use/WebSocketClient.html
index a0b8e01..d363ffe 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/class-use/WebSocketClient.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/class-use/WebSocketClient.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.connectors.wsclient.WebSocketClient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.wsclient.WebSocketClient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.connectors.wsclient.WebSocketClient (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.wsclient.WebSocketClient (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -85,7 +86,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 </tbody>
@@ -130,12 +131,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html
index e1934ec..440cf53 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:07 EST 2017 -->
-<title>Jsr356WebSocketClient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Jsr356WebSocketClient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Jsr356WebSocketClient (Edgent v1.1.0)";
+            parent.document.title="Jsr356WebSocketClient (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Jsr356WebSocketClient</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></pre>
 <div class="block">A connector for sending and receiving messages to a WebSocket Server.
  <p>
@@ -150,7 +151,7 @@
  A receiver only receives the messages of the type that it requests.
  <p>
  The connector is written against the JSR356 <code>javax.websockets</code> API.
- <code>javax.websockets</code> uses the <code>ServiceLoader</code> to load
+ <code>javax.websockets</code> uses the <a href="http://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html?is-external=true" title="class or interface in java.util"><code>ServiceLoader</code></a> to load
  an implementation of <code>javax.websocket.ContainerProvider</code>.
  <p>
  The supplied <code>connectors/javax.websocket-client</code> provides one
@@ -176,13 +177,13 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-">Jsr356WebSocketClient</a></span>(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                     java.util.Properties&nbsp;config)</code>
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config)</code>
 <div class="block">Create a new Web Socket Client connector.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.function.Supplier-">Jsr356WebSocketClient</a></span>(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                     java.util.Properties&nbsp;config,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config,
                      <a href="../../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;javax.websocket.WebSocketContainer&gt;&nbsp;containerFn)</code>
 <div class="block">Create a new Web Socket Client connector.</div>
 </td>
@@ -215,7 +216,7 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#receiveString--">receiveString</a></span>()</code>
 <div class="block">Create a stream of String tuples from received WebSocket text messages.</div>
 </td>
@@ -233,8 +234,8 @@
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream)</code>
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
 <div class="block">Send a stream's String tuples in a WebSocket text message.</div>
 </td>
 </tr>
@@ -249,8 +250,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -273,7 +274,7 @@
 <li class="blockList">
 <h4>Jsr356WebSocketClient</h4>
 <pre>public&nbsp;Jsr356WebSocketClient(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                             java.util.Properties&nbsp;config)</pre>
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config)</pre>
 <div class="block">Create a new Web Socket Client connector.
  <p>
  Configuration parameters:
@@ -311,7 +312,7 @@
 <li class="blockList">
 <h4>Jsr356WebSocketClient</h4>
 <pre>public&nbsp;Jsr356WebSocketClient(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                             java.util.Properties&nbsp;config,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config,
                              <a href="../../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;javax.websocket.WebSocketContainer&gt;&nbsp;containerFn)</pre>
 <div class="block">Create a new Web Socket Client connector.
  <p>
@@ -364,7 +365,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>sendString</h4>
-<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;&nbsp;sendString(<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream)</pre>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;sendString(<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</pre>
 <div class="block">Send a stream's String tuples in a WebSocket text message.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -416,7 +417,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>receiveString</h4>
-<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;receiveString()</pre>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;receiveString()</pre>
 <div class="block">Create a stream of String tuples from received WebSocket text messages.
  <p>
  Note, the WebSocket protocol differentiates between text/String and
@@ -490,7 +491,6 @@
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -535,6 +535,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/class-use/Jsr356WebSocketClient.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/class-use/Jsr356WebSocketClient.html
index 71fe8a0..300c7a6 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/class-use/Jsr356WebSocketClient.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/class-use/Jsr356WebSocketClient.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-frame.html
index f7ee142..8cc2b50 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.wsclient.javax.websocket (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient.javax.websocket (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html
index 14c4155..fd1efab 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.wsclient.javax.websocket (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient.javax.websocket (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.wsclient.javax.websocket (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.wsclient.javax.websocket (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -72,7 +73,7 @@
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.wsclient.javax.websocket</h1>
 <div class="docSummary">
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </div>
 <p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
@@ -100,7 +101,7 @@
 <!--   -->
 </a>
 <h2 title="Package org.apache.edgent.connectors.wsclient.javax.websocket Description">Package org.apache.edgent.connectors.wsclient.javax.websocket Description</h2>
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
@@ -120,7 +121,6 @@
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html
index 5477588..3ed1ed2 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.wsclient.javax.websocket Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient.javax.websocket Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.wsclient.javax.websocket Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.wsclient.javax.websocket Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.connectors.wsclient.javax.websocket.<a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket"><span class="typeNameLink">Jsr356WebSocketClient</span></a> (implements org.apache.edgent.connectors.wsclient.<a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a>)</li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-use.html
index 6d44dc6..969fc20 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/javax/websocket/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.wsclient.javax.websocket (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.wsclient.javax.websocket (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.wsclient.javax.websocket (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.wsclient.javax.websocket (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-frame.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-frame.html
index 3edf8cd..a8e4c3c 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.wsclient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-summary.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-summary.html
index 20f8f6e..91b5658 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.wsclient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.wsclient (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.wsclient (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -72,7 +73,7 @@
 <div class="header">
 <h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.wsclient</h1>
 <div class="docSummary">
-<div class="block">WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
 </div>
 <p>See:&nbsp;<a href="#package.description">Description</a></p>
 </div>
@@ -100,7 +101,7 @@
 <!--   -->
 </a>
 <h2 title="Package org.apache.edgent.connectors.wsclient Description">Package org.apache.edgent.connectors.wsclient Description</h2>
-<div class="block">WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
@@ -120,7 +121,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-tree.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-tree.html
index 7478863..0a8ae50 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.connectors.wsclient Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.connectors.wsclient Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.connectors.wsclient Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -104,7 +105,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-use.html b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-use.html
index 8a01a7a..a840655 100644
--- a/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/connectors/wsclient/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.connectors.wsclient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.wsclient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.connectors.wsclient (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.connectors.wsclient (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -85,7 +86,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 </tbody>
@@ -128,7 +129,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/Configs.html b/site/javadoc/latest/org/apache/edgent/execution/Configs.html
index 5b95beb..ee78e76 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/Configs.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/Configs.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Configs (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Configs (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Configs (Edgent v1.1.0)";
+            parent.document.title="Configs (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -136,7 +137,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Configs.html#JOB_NAME">JOB_NAME</a></span></code>
 <div class="block">JOB_NAME is used to identify the submission configuration property 
  containing the job name.</div>
@@ -163,7 +164,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>JOB_NAME</h4>
-<pre>static final&nbsp;java.lang.String JOB_NAME</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JOB_NAME</pre>
 <div class="block">JOB_NAME is used to identify the submission configuration property 
  containing the job name.
  The value is "jobName".</div>
@@ -198,7 +199,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -243,6 +243,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/DirectSubmitter.html b/site/javadoc/latest/org/apache/edgent/execution/DirectSubmitter.html
index c1db88a..e0c3fea 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/DirectSubmitter.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/DirectSubmitter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>DirectSubmitter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DirectSubmitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DirectSubmitter (Edgent v1.1.0)";
+            parent.document.title="DirectSubmitter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -209,7 +210,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -254,6 +254,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/Job.Action.html b/site/javadoc/latest/org/apache/edgent/execution/Job.Action.html
index b32c3b0..19faa2e 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/Job.Action.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/Job.Action.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Job.Action (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Job.Action (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Job.Action (Edgent v1.1.0)";
+            parent.document.title="Job.Action (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>java.lang.Enum&lt;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&gt;</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.execution.Job.Action</li>
@@ -114,7 +115,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing interface:</dt>
@@ -123,7 +124,7 @@
 <hr>
 <br>
 <pre>public static enum <span class="typeNameLabel">Job.Action</span>
-extends java.lang.Enum&lt;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&gt;</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&gt;</pre>
 <div class="block">Actions which trigger <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><code>Job.State</code></a> transitions.</div>
 </li>
 </ul>
@@ -184,7 +185,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Action.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Action.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -200,15 +201,15 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -308,7 +309,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -319,8 +320,8 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the enum constant with the specified name</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
 </dl>
 </li>
 </ul>
@@ -349,7 +350,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -394,6 +394,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/Job.Health.html b/site/javadoc/latest/org/apache/edgent/execution/Job.Health.html
index 552bd19..c6c111b 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/Job.Health.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/Job.Health.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Job.Health (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Job.Health (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Job.Health (Edgent v1.1.0)";
+            parent.document.title="Job.Health (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>java.lang.Enum&lt;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&gt;</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.execution.Job.Health</li>
@@ -114,7 +115,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing interface:</dt>
@@ -123,7 +124,7 @@
 <hr>
 <br>
 <pre>public static enum <span class="typeNameLabel">Job.Health</span>
-extends java.lang.Enum&lt;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&gt;</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&gt;</pre>
 <div class="block">Enumeration for the summarized health indicator of the graph nodes.</div>
 </li>
 </ul>
@@ -170,7 +171,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Health.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Health.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -186,15 +187,15 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -265,7 +266,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -276,8 +277,8 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the enum constant with the specified name</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
 </dl>
 </li>
 </ul>
@@ -306,7 +307,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -351,6 +351,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/Job.State.html b/site/javadoc/latest/org/apache/edgent/execution/Job.State.html
index c651b37..db3108d 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/Job.State.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/Job.State.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Job.State (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Job.State (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Job.State (Edgent v1.1.0)";
+            parent.document.title="Job.State (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>java.lang.Enum&lt;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&gt;</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.execution.Job.State</li>
@@ -114,7 +115,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing interface:</dt>
@@ -123,7 +124,7 @@
 <hr>
 <br>
 <pre>public static enum <span class="typeNameLabel">Job.State</span>
-extends java.lang.Enum&lt;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&gt;</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&gt;</pre>
 <div class="block">States of a graph job.</div>
 </li>
 </ul>
@@ -184,7 +185,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.State.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.State.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -200,15 +201,15 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -308,7 +309,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -319,8 +320,8 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the enum constant with the specified name</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
 </dl>
 </li>
 </ul>
@@ -349,7 +350,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -394,6 +394,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/Job.html b/site/javadoc/latest/org/apache/edgent/execution/Job.html
index 0f5a527..3b10900 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/Job.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/Job.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Job (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Job (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Job (Edgent v1.1.0)";
+            parent.document.title="Job (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -199,7 +200,7 @@
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#complete-long-java.util.concurrent.TimeUnit-">complete</a></span>(long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Waits for at most the specified time for the job to complete.</div>
 </td>
 </tr>
@@ -216,19 +217,19 @@
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#getId--">getId</a></span>()</code>
 <div class="block">Returns the identifier of this job.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#getLastError--">getLastError</a></span>()</code>
 <div class="block">Returns the last error message caught by the current job execution.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#getName--">getName</a></span>()</code>
 <div class="block">Returns the name of this job.</div>
 </td>
@@ -298,13 +299,13 @@
 <li class="blockList">
 <h4>stateChange</h4>
 <pre>void&nbsp;stateChange(<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)
-          throws java.lang.IllegalArgumentException</pre>
+          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
 <div class="block">Initiates an execution state change.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>action</code> - which triggers the state change.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if the job is not in an appropriate 
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the job is not in an appropriate 
       state for the requested action, or the action is not supported.</dd>
 </dl>
 </li>
@@ -329,7 +330,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastError</h4>
-<pre>java.lang.String&nbsp;getLastError()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLastError()</pre>
 <div class="block">Returns the last error message caught by the current job execution.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -344,7 +345,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>java.lang.String&nbsp;getName()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
 <div class="block">Returns the name of this job. The name may be set when the job is 
  <a href="../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">submitted</a>.
  Implementations may create a job name if one is not specified at submit time.</div>
@@ -360,7 +361,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getId</h4>
-<pre>java.lang.String&nbsp;getId()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
 <div class="block">Returns the identifier of this job.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -375,13 +376,13 @@
 <li class="blockList">
 <h4>complete</h4>
 <pre>void&nbsp;complete()
-       throws java.util.concurrent.ExecutionException,
-              java.lang.InterruptedException</pre>
+       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Waits for any outstanding job work to complete.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.util.concurrent.ExecutionException</code> - if the job execution threw an exception.</dd>
-<dd><code>java.lang.InterruptedException</code> - if the current thread was interrupted while waiting</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if the job execution threw an exception.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the current thread was interrupted while waiting</dd>
 </dl>
 </li>
 </ul>
@@ -392,19 +393,19 @@
 <li class="blockList">
 <h4>complete</h4>
 <pre>void&nbsp;complete(long&nbsp;timeout,
-              java.util.concurrent.TimeUnit&nbsp;unit)
-       throws java.util.concurrent.ExecutionException,
-              java.lang.InterruptedException,
-              java.util.concurrent.TimeoutException</pre>
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
+       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></pre>
 <div class="block">Waits for at most the specified time for the job to complete.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>timeout</code> - the time to wait</dd>
 <dd><code>unit</code> - the time unit of the timeout argument</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.util.concurrent.ExecutionException</code> - if the job execution threw an exception.</dd>
-<dd><code>java.lang.InterruptedException</code> - if the current thread was interrupted while waiting</dd>
-<dd><code>java.util.concurrent.TimeoutException</code> - if the wait timed out</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if the job execution threw an exception.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the current thread was interrupted while waiting</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></code> - if the wait timed out</dd>
 </dl>
 </li>
 </ul>
@@ -433,7 +434,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -478,6 +478,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/Submitter.html b/site/javadoc/latest/org/apache/edgent/execution/Submitter.html
index b8991d4..6f768c0 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/Submitter.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/Submitter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Submitter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Submitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Submitter (Edgent v1.1.0)";
+            parent.document.title="Submitter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -139,13 +140,13 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Submitter.html#submit-E-">submit</a></span>(<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">E</a>&nbsp;executable)</code>
 <div class="block">Submit an executable.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">E</a>&nbsp;executable,
       com.google.gson.JsonObject&nbsp;config)</code>
 <div class="block">Submit an executable.</div>
@@ -174,7 +175,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>submit</h4>
-<pre>java.util.concurrent.Future&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;&nbsp;submit(<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">E</a>&nbsp;executable)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;&nbsp;submit(<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">E</a>&nbsp;executable)</pre>
 <div class="block">Submit an executable.
  No configuration options are specified,
  this is equivalent to <code>submit(executable, new JsonObject())</code>.</div>
@@ -194,8 +195,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>submit</h4>
-<pre>java.util.concurrent.Future&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;&nbsp;submit(<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">E</a>&nbsp;executable,
-                                      com.google.gson.JsonObject&nbsp;config)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;&nbsp;submit(<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">E</a>&nbsp;executable,
+                 com.google.gson.JsonObject&nbsp;config)</pre>
 <div class="block">Submit an executable.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -231,7 +232,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -276,6 +276,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/class-use/Configs.html b/site/javadoc/latest/org/apache/edgent/execution/class-use/Configs.html
index 323f63c..14a290d 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/class-use/Configs.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/class-use/Configs.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.execution.Configs (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.Configs (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.execution.Configs (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.execution.Configs (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/class-use/DirectSubmitter.html b/site/javadoc/latest/org/apache/edgent/execution/class-use/DirectSubmitter.html
index 5cbe3a0..158d62c 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/class-use/DirectSubmitter.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/class-use/DirectSubmitter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.execution.DirectSubmitter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.DirectSubmitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.execution.DirectSubmitter (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.execution.DirectSubmitter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -130,7 +131,7 @@
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">JobMonitorApp</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
              <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-             java.lang.String&nbsp;name)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
  context of the specified provider.</div>
 </td>
@@ -194,8 +195,8 @@
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></span></code>
-<div class="block">IoT provider supporting multiple topologies with a single connection to a
- message hub.</div>
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.</div>
 </td>
 </tr>
 </tbody>
@@ -207,7 +208,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
            <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
@@ -246,7 +247,7 @@
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">AppService</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-          java.lang.String&nbsp;alias)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
 <div class="block">Create an <code>ApplicationService</code> instance.</div>
 </td>
 </tr>
@@ -270,12 +271,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -305,6 +305,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.Action.html b/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.Action.html
index 072f9ae..9baab30 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.Action.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.Action.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.execution.Job.Action (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.Job.Action (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.execution.Job.Action (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.execution.Job.Action (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -127,7 +128,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Job.Action.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.Action.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><span class="typeNameLabel">Job.Action.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.Action.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -247,12 +248,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -282,6 +282,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.Health.html b/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.Health.html
index 8cbee9d..41eeed2 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.Health.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.Health.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.execution.Job.Health (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.Job.Health (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.execution.Job.Health (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.execution.Job.Health (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -126,7 +127,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Job.Health.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.Health.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><span class="typeNameLabel">Job.Health.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.Health.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -226,12 +227,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -261,6 +261,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.State.html b/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.State.html
index 91ad262..a30bf2c 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.State.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.State.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.execution.Job.State (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.Job.State (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.execution.Job.State (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.execution.Job.State (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -102,12 +103,6 @@
 <td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors">org.apache.edgent.samples.connectors</a></td>
-<td class="colLast">
-<div class="block">General support for connector samples.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -139,7 +134,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Job.State.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.State.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><span class="typeNameLabel">Job.State.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.State.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -237,29 +232,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a> in <a href="../../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</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 boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Util.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Util.html#awaitState-org.apache.edgent.execution.Job-org.apache.edgent.execution.Job.State-long-java.util.concurrent.TimeUnit-">awaitState</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job,
-          <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;state,
-          long&nbsp;timeout,
-          java.util.concurrent.TimeUnit&nbsp;unit)</code>
-<div class="block">Wait for the job to reach the specified state.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 </ul>
 </li>
 </ul>
@@ -277,12 +249,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -312,6 +283,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.html b/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.html
index 876a4d1..5a4eb7c 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/class-use/Job.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.execution.Job (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.Job (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.execution.Job (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.execution.Job (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -140,16 +141,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors">org.apache.edgent.samples.connectors</a></td>
-<td class="colLast">
-<div class="block">General support for connector samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.spi.tester">org.apache.edgent.topology.spi.tester</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
 <td class="colLast">
 <div class="block">Testing for a streaming topology.</div>
@@ -188,7 +183,7 @@
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">JobMonitorApp</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
              <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-             java.lang.String&nbsp;name)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
  context of the specified provider.</div>
 </td>
@@ -237,7 +232,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
-<td class="colLast"><span class="typeNameLabel">JobRegistryService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJob-java.lang.String-">getJob</a></span>(java.lang.String&nbsp;id)</code>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJob-java.lang.String-">getJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>
 <div class="block">Returns a job given its identifier.</div>
 </td>
 </tr>
@@ -321,7 +316,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DevelopmentProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
       com.google.gson.JsonObject&nbsp;config)</code>&nbsp;</td>
 </tr>
@@ -340,11 +335,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
       com.google.gson.JsonObject&nbsp;config)</code>&nbsp;</td>
 </tr>
@@ -363,13 +358,13 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
 <div class="block">Submit an executable.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
       com.google.gson.JsonObject&nbsp;config)</code>
 <div class="block">Submit an executable.</div>
@@ -384,7 +379,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
            <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
@@ -423,7 +418,7 @@
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">AppService</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-          java.lang.String&nbsp;alias)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
 <div class="block">Create an <code>ApplicationService</code> instance.</div>
 </td>
 </tr>
@@ -459,8 +454,8 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Executable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#createJob-org.apache.edgent.graph.Graph-java.lang.String-java.lang.String-">createJob</a></span>(<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph,
-         java.lang.String&nbsp;topologyName,
-         java.lang.String&nbsp;jobName)</code>&nbsp;</td>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -478,7 +473,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
-<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#getJob-java.lang.String-">getJob</a></span>(java.lang.String&nbsp;id)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#getJob-java.lang.String-">getJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -524,29 +519,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</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 boolean</code></td>
-<td class="colLast"><span class="typeNameLabel">Util.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Util.html#awaitState-org.apache.edgent.execution.Job-org.apache.edgent.execution.Job.State-long-java.util.concurrent.TimeUnit-">awaitState</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job,
-          <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;state,
-          long&nbsp;timeout,
-          java.util.concurrent.TimeUnit&nbsp;unit)</code>
-<div class="block">Wait for the job to reach the specified state.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.edgent.topology.spi.tester">
 <!--   -->
 </a>
@@ -577,7 +549,7 @@
         com.google.gson.JsonObject&nbsp;config,
         <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
         long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>&nbsp;</td>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -614,7 +586,7 @@
         com.google.gson.JsonObject&nbsp;config,
         <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
         long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Submit the topology for this tester and wait for it to complete, or reach
  an end condition.</div>
 </td>
@@ -639,12 +611,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -674,6 +645,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/class-use/Submitter.html b/site/javadoc/latest/org/apache/edgent/execution/class-use/Submitter.html
index 3c3b19c..7225a17 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/class-use/Submitter.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/class-use/Submitter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.execution.Submitter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.Submitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.execution.Submitter (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.execution.Submitter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -200,8 +201,8 @@
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></span></code>
-<div class="block">IoT provider supporting multiple topologies with a single connection to a
- message hub.</div>
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.</div>
 </td>
 </tr>
 </tbody>
@@ -224,7 +225,7 @@
         com.google.gson.JsonObject&nbsp;config,
         <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
         long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>&nbsp;</td>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -246,7 +247,7 @@
         com.google.gson.JsonObject&nbsp;config,
         <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
         long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Submit the topology for this tester and wait for it to complete, or reach
  an end condition.</div>
 </td>
@@ -271,12 +272,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -306,6 +306,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/mbeans/JobMXBean.html b/site/javadoc/latest/org/apache/edgent/execution/mbeans/JobMXBean.html
index 09766c1..d9d3a70 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/mbeans/JobMXBean.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/mbeans/JobMXBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>JobMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JobMXBean (Edgent v1.1.0)";
+            parent.document.title="JobMXBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -126,7 +127,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#TYPE">TYPE</a></span></code>
 <div class="block">TYPE is used to identify this bean as a job bean when building the bean's <code>ObjectName</code>.</div>
 </td>
@@ -159,19 +160,19 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getId--">getId</a></span>()</code>
 <div class="block">Returns the identifier of the job.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getLastError--">getLastError</a></span>()</code>
 <div class="block">Returns the last error message caught by the current job execution.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getName--">getName</a></span>()</code>
 <div class="block">Returns the name of the job.</div>
 </td>
@@ -184,7 +185,7 @@
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#graphSnapshot--">graphSnapshot</a></span>()</code>
 <div class="block">Takes a current snapshot of the running graph and returns it in JSON format.</div>
 </td>
@@ -216,7 +217,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TYPE</h4>
-<pre>static final&nbsp;java.lang.String TYPE</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE</pre>
 <div class="block">TYPE is used to identify this bean as a job bean when building the bean's <code>ObjectName</code>.
  The value is "job"</div>
 <dl>
@@ -239,7 +240,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getId</h4>
-<pre>java.lang.String&nbsp;getId()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
 <div class="block">Returns the identifier of the job.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -253,7 +254,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>java.lang.String&nbsp;getName()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
 <div class="block">Returns the name of the job.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -310,7 +311,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastError</h4>
-<pre>java.lang.String&nbsp;getLastError()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLastError()</pre>
 <div class="block">Returns the last error message caught by the current job execution.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -325,7 +326,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>graphSnapshot</h4>
-<pre>java.lang.String&nbsp;graphSnapshot()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;graphSnapshot()</pre>
 <div class="block">Takes a current snapshot of the running graph and returns it in JSON format.
  <p>
  <b>The graph snapshot JSON format</b>
@@ -365,7 +366,7 @@
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>action</code> - which triggers the state change.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if the job is not in an appropriate 
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the job is not in an appropriate 
       state for the requested action, or the action is not supported.</dd>
 </dl>
 </li>
@@ -395,7 +396,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -440,6 +440,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/mbeans/PeriodMXBean.html b/site/javadoc/latest/org/apache/edgent/execution/mbeans/PeriodMXBean.html
index ec6b906..6b463fd 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/mbeans/PeriodMXBean.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/mbeans/PeriodMXBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>PeriodMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PeriodMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PeriodMXBean (Edgent v1.1.0)";
+            parent.document.title="PeriodMXBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -114,11 +115,9 @@
  The type of the associated object is to be used when
  registering instances of this mbean with the
  <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>.
- </P></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-"><code>Topology.poll(org.apache.edgent.function.Supplier, long, TimeUnit)</code></a></dd>
-</dl>
+ </P>
+ 
+ See <code>org.apache.edgent.topology.Topology.poll(org.apache.edgent.function.Supplier, long, TimeUnit)</code></div>
 </li>
 </ul>
 </div>
@@ -144,7 +143,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.concurrent.TimeUnit</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getUnit--">getUnit</a></span>()</code>
 <div class="block">Get the time unit for <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--"><code>getPeriod()</code></a>.</div>
 </td>
@@ -158,7 +157,7 @@
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod</a></span>(long&nbsp;period,
-         java.util.concurrent.TimeUnit&nbsp;unit)</code>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set the period and unit</div>
 </td>
 </tr>
@@ -197,7 +196,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getUnit</h4>
-<pre>java.util.concurrent.TimeUnit&nbsp;getUnit()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;getUnit()</pre>
 <div class="block">Get the time unit for <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--"><code>getPeriod()</code></a>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -226,12 +225,12 @@
 <li class="blockList">
 <h4>setPeriod</h4>
 <pre>void&nbsp;setPeriod(long&nbsp;period,
-               java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Set the period and unit</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>period</code> - the period</dd>
-<dd><code>unit</code> - the <code>TimeUnit</code> of <code>period</code></dd>
+<dd><code>unit</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a> of <code>period</code></dd>
 </dl>
 </li>
 </ul>
@@ -260,7 +259,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -305,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/mbeans/class-use/JobMXBean.html b/site/javadoc/latest/org/apache/edgent/execution/mbeans/class-use/JobMXBean.html
index a0e3104..8a817bf 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/mbeans/class-use/JobMXBean.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/mbeans/class-use/JobMXBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.execution.mbeans.JobMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.mbeans.JobMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.execution.mbeans.JobMXBean (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.execution.mbeans.JobMXBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -128,12 +129,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/mbeans/class-use/PeriodMXBean.html b/site/javadoc/latest/org/apache/edgent/execution/mbeans/class-use/PeriodMXBean.html
index fdd2e65..c274d80 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/mbeans/class-use/PeriodMXBean.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/mbeans/class-use/PeriodMXBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.execution.mbeans.PeriodMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.mbeans.PeriodMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.execution.mbeans.PeriodMXBean (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.execution.mbeans.PeriodMXBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -152,12 +153,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-frame.html b/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-frame.html
index 1dd425d..a6369be 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.execution.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-summary.html b/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-summary.html
index 3b6e6a3..459f265 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.execution.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.execution.mbeans (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.execution.mbeans (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -126,7 +127,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-tree.html b/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-tree.html
index 699653e..ade00f5 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.execution.mbeans Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.execution.mbeans Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.execution.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -101,7 +102,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -131,6 +131,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-use.html b/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-use.html
index 43372df..ddcf38c 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/mbeans/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.execution.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.execution.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.execution.mbeans (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.execution.mbeans (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -172,7 +173,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -202,6 +202,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/package-frame.html b/site/javadoc/latest/org/apache/edgent/execution/package-frame.html
index fe9be45..8153de5 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.execution (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/package-summary.html b/site/javadoc/latest/org/apache/edgent/execution/package-summary.html
index 7d6683d..ac78e92 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.execution (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.execution (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.execution (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -169,7 +170,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -199,6 +199,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/package-tree.html b/site/javadoc/latest/org/apache/edgent/execution/package-tree.html
index cacfb63..94dd274 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.execution Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.execution Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.execution Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -89,13 +90,13 @@
 </ul>
 <h2 title="Enum Hierarchy">Enum Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.Action</span></a></li>
 <li type="circle">org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.State</span></a></li>
 <li type="circle">org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.Health</span></a></li>
+<li type="circle">org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.Action</span></a></li>
 </ul>
 </li>
 </ul>
@@ -120,7 +121,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/package-use.html b/site/javadoc/latest/org/apache/edgent/execution/package-use.html
index 5469b20..758a1e8 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.execution (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.execution (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.execution (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -150,16 +151,10 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors">org.apache.edgent.samples.connectors</a></td>
-<td class="colLast">
-<div class="block">General support for connector samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.spi.tester">org.apache.edgent.topology.spi.tester</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
 <td class="colLast">
 <div class="block">Testing for a streaming topology.</div>
@@ -482,28 +477,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.samples.connectors">Job</a>
-<div class="block">Actions and states for execution of an Edgent job.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.State.html#org.apache.edgent.samples.connectors">Job.State</a>
-<div class="block">States of a graph job.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.edgent.topology.spi.tester">
 <!--   -->
 </a>
@@ -568,7 +541,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -598,6 +570,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/ControlService.html b/site/javadoc/latest/org/apache/edgent/execution/services/ControlService.html
index 8a50d17..f65f519 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/ControlService.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/ControlService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>ControlService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ControlService (Edgent v1.1.0)";
+            parent.document.title="ControlService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -117,7 +118,7 @@
  <P>
  Different implementations of the control service provide the mechanism
  to execute methods of the control interfaces. For example
- <a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol"><code>JMXControlService</code></a>
+ <code>JMXControlService</code>
  registers the MBeans in the JMX platform MBean server.
  <BR>
  The control service is intended to allow remote execution of a control interface
@@ -175,34 +176,34 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl</a></span>(java.lang.String&nbsp;type,
-          java.lang.String&nbsp;alias,
-          java.lang.Class&lt;T&gt;&nbsp;controlInterface)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
 <div class="block">Return a control Mbean registered with this service.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId</a></span>(java.lang.String&nbsp;type,
-            java.lang.String&nbsp;alias,
-            java.lang.Class&lt;T&gt;&nbsp;controlInterface)</code>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
 <div class="block">Return the unique identifier for a control Mbean registered with 
  this service.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl</a></span>(java.lang.String&nbsp;type,
-               java.lang.String&nbsp;id,
-               java.lang.String&nbsp;alias,
-               java.lang.Class&lt;T&gt;&nbsp;controlInterface,
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
                T&nbsp;control)</code>
 <div class="block">Register a control MBean.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#unregister-java.lang.String-">unregister</a></span>(java.lang.String&nbsp;controlId)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#unregister-java.lang.String-">unregister</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</code>
 <div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>registerControl(String, String, String, Class, Object)</code></a></div>
 </td>
 </tr>
@@ -229,11 +230,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>registerControl</h4>
-<pre>&lt;T&gt;&nbsp;java.lang.String&nbsp;registerControl(java.lang.String&nbsp;type,
-                                     java.lang.String&nbsp;id,
-                                     java.lang.String&nbsp;alias,
-                                     java.lang.Class&lt;T&gt;&nbsp;controlInterface,
-                                     T&nbsp;control)</pre>
+<pre>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;registerControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
+                           T&nbsp;control)</pre>
 <div class="block">Register a control MBean.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -256,7 +257,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>unregister</h4>
-<pre>void&nbsp;unregister(java.lang.String&nbsp;controlId)</pre>
+<pre>void&nbsp;unregister(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</pre>
 <div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>registerControl(String, String, String, Class, Object)</code></a></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -270,9 +271,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getControl</h4>
-<pre>&lt;T&gt;&nbsp;T&nbsp;getControl(java.lang.String&nbsp;type,
-                 java.lang.String&nbsp;alias,
-                 java.lang.Class&lt;T&gt;&nbsp;controlInterface)</pre>
+<pre>&lt;T&gt;&nbsp;T&nbsp;getControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
 <div class="block">Return a control Mbean registered with this service.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -292,9 +293,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getControlId</h4>
-<pre>&lt;T&gt;&nbsp;java.lang.String&nbsp;getControlId(java.lang.String&nbsp;type,
-                                  java.lang.String&nbsp;alias,
-                                  java.lang.Class&lt;T&gt;&nbsp;controlInterface)</pre>
+<pre>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getControlId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
 <div class="block">Return the unique identifier for a control Mbean registered with 
  this service.</div>
 <dl>
@@ -335,7 +336,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -380,6 +380,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/Controls.html b/site/javadoc/latest/org/apache/edgent/execution/services/Controls.html
index 7b8fa60..d1be903 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/Controls.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/Controls.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>Controls (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Controls (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Controls (Edgent v1.1.0)";
+            parent.document.title="Controls (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.execution.services.Controls</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Controls</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Utilities for the control service.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -176,7 +177,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/Controls.html#isControlServiceMBean-java.lang.Class-">isControlServiceMBean</a></span>(java.lang.Class&lt;?&gt;&nbsp;controlInterface)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/Controls.html#isControlServiceMBean-java.lang.Class-">isControlServiceMBean</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;controlInterface)</code>
 <div class="block">Test to see if an interface represents a valid
  control service MBean.</div>
 </td>
@@ -186,8 +187,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -251,7 +252,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isControlServiceMBean</h4>
-<pre>public static&nbsp;boolean&nbsp;isControlServiceMBean(java.lang.Class&lt;?&gt;&nbsp;controlInterface)</pre>
+<pre>public static&nbsp;boolean&nbsp;isControlServiceMBean(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;controlInterface)</pre>
 <div class="block">Test to see if an interface represents a valid
  control service MBean.
  All implementations of <code>ControlService</code>
@@ -302,7 +303,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/JobRegistryService.EventType.html b/site/javadoc/latest/org/apache/edgent/execution/services/JobRegistryService.EventType.html
index 4f56cde..445eabd 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/JobRegistryService.EventType.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/JobRegistryService.EventType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>JobRegistryService.EventType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobRegistryService.EventType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JobRegistryService.EventType (Edgent v1.1.0)";
+            parent.document.title="JobRegistryService.EventType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>java.lang.Enum&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&gt;</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.execution.services.JobRegistryService.EventType</li>
@@ -114,7 +115,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Enclosing interface:</dt>
@@ -123,7 +124,7 @@
 <hr>
 <br>
 <pre>public static enum <span class="typeNameLabel">JobRegistryService.EventType</span>
-extends java.lang.Enum&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&gt;</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&gt;</pre>
 <div class="block">Job event types.</div>
 </li>
 </ul>
@@ -174,7 +175,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -190,15 +191,15 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -278,7 +279,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -289,8 +290,8 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the enum constant with the specified name</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
 </dl>
 </li>
 </ul>
@@ -319,7 +320,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -364,6 +364,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/JobRegistryService.html b/site/javadoc/latest/org/apache/edgent/execution/services/JobRegistryService.html
index c1aa862..2d0523b 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/JobRegistryService.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/JobRegistryService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>JobRegistryService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobRegistryService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JobRegistryService (Edgent v1.1.0)";
+            parent.document.title="JobRegistryService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -178,19 +179,19 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJob-java.lang.String-">getJob</a></span>(java.lang.String&nbsp;id)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJob-java.lang.String-">getJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>
 <div class="block">Returns a job given its identifier.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJobIds--">getJobIds</a></span>()</code>
 <div class="block">Returns a set of all the registered job identifiers.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeJob-java.lang.String-">removeJob</a></span>(java.lang.String&nbsp;jobId)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeJob-java.lang.String-">removeJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId)</code>
 <div class="block">Removes the job specified by the given identifier.</div>
 </td>
 </tr>
@@ -229,7 +230,7 @@
 <li class="blockList">
 <h4>addListener</h4>
 <pre>void&nbsp;addListener(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)
-          throws java.lang.IllegalArgumentException</pre>
+          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
 <div class="block">Adds a handler to a collection of listeners that will be notified
  on job registration and state changes.  Listeners will be notified 
  in the order in which they are added.
@@ -239,7 +240,7 @@
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>listener</code> - the listener that will be added</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if the listener parameter is 
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the listener parameter is 
       <code>null</code></dd>
 </dl>
 </li>
@@ -266,7 +267,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getJobIds</h4>
-<pre>java.util.Set&lt;java.lang.String&gt;&nbsp;getJobIds()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getJobIds()</pre>
 <div class="block">Returns a set of all the registered job identifiers.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -280,7 +281,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getJob</h4>
-<pre><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;getJob(java.lang.String&nbsp;id)</pre>
+<pre><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;getJob(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</pre>
 <div class="block">Returns a job given its identifier.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -298,13 +299,13 @@
 <li class="blockList">
 <h4>addJob</h4>
 <pre>void&nbsp;addJob(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)
-     throws java.lang.IllegalArgumentException</pre>
+     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
 <div class="block">Adds the specified job.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>job</code> - the job to register</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if a job is null, or if a job with 
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if a job is null, or if a job with 
       the same identifier is already registered</dd>
 </dl>
 </li>
@@ -315,7 +316,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>removeJob</h4>
-<pre>boolean&nbsp;removeJob(java.lang.String&nbsp;jobId)</pre>
+<pre>boolean&nbsp;removeJob(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId)</pre>
 <div class="block">Removes the job specified by the given identifier.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -367,7 +368,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -412,6 +412,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/RuntimeServices.html b/site/javadoc/latest/org/apache/edgent/execution/services/RuntimeServices.html
index b0d31c5..ab084bf 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/RuntimeServices.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/RuntimeServices.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>RuntimeServices (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>RuntimeServices (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RuntimeServices (Edgent v1.1.0)";
+            parent.document.title="RuntimeServices (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -154,7 +155,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html#getService-java.lang.Class-">getService</a></span>(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html#getService-java.lang.Class-">getService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
 <div class="block">Get a service for this invocation.</div>
 </td>
 </tr>
@@ -179,7 +180,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getService</h4>
-<pre>&lt;T&gt;&nbsp;T&nbsp;getService(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</pre>
+<pre>&lt;T&gt;&nbsp;T&nbsp;getService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
 <div class="block">Get a service for this invocation.
  <P>
  These services must be provided by all implementations:
@@ -231,7 +232,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -276,6 +276,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/ServiceContainer.html b/site/javadoc/latest/org/apache/edgent/execution/services/ServiceContainer.html
index 4bcb545..4cd8698 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/ServiceContainer.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/ServiceContainer.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>ServiceContainer (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ServiceContainer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ServiceContainer (Edgent v1.1.0)";
+            parent.document.title="ServiceContainer (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.execution.services.ServiceContainer</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ServiceContainer</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Provides a container for services.
  <p>
  The current implementation does not downcast the provided service class
@@ -160,28 +161,28 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#addCleaner-org.apache.edgent.function.BiConsumer-">addCleaner</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.lang.String,java.lang.String&gt;&nbsp;cleaner)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#addCleaner-org.apache.edgent.function.BiConsumer-">addCleaner</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;cleaner)</code>
 <div class="block">Registers a new cleaner.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#addService-java.lang.Class-T-">addService</a></span>(java.lang.Class&lt;T&gt;&nbsp;serviceClass,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#addService-java.lang.Class-T-">addService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass,
           T&nbsp;service)</code>
 <div class="block">Adds the specified service to this <code>ServiceContainer</code>.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#cleanOplet-java.lang.String-java.lang.String-">cleanOplet</a></span>(java.lang.String&nbsp;jobId,
-          java.lang.String&nbsp;elementId)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#cleanOplet-java.lang.String-java.lang.String-">cleanOplet</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;elementId)</code>
 <div class="block">Invokes all the registered cleaners in the context of the specified 
  job and element.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#getService-java.lang.Class-">getService</a></span>(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#getService-java.lang.Class-">getService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
 <div class="block">Returns the service to which the specified service class key is
  mapped, or <code>null</code> if this <code>ServiceContainer</code> contains no 
  service for that key.</div>
@@ -189,7 +190,7 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#removeService-java.lang.Class-">removeService</a></span>(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#removeService-java.lang.Class-">removeService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
 <div class="block">Removes the specified service from this <code>ServiceContainer</code>.</div>
 </td>
 </tr>
@@ -198,8 +199,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -240,7 +241,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>addService</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;addService(java.lang.Class&lt;T&gt;&nbsp;serviceClass,
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;addService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass,
                         T&nbsp;service)</pre>
 <div class="block">Adds the specified service to this <code>ServiceContainer</code>.
  <p>
@@ -257,7 +258,7 @@
 <dd>the previous value associated with <code>serviceClass</code>, or
          <code>null</code> if there was no registered mapping.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.NullPointerException</code> - if the specified service class or 
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the specified service class or 
          service is null.</dd>
 </dl>
 </li>
@@ -268,7 +269,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>removeService</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;removeService(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;removeService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
 <div class="block">Removes the specified service from this <code>ServiceContainer</code>.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -279,7 +280,7 @@
 <dd>the service previously associated with the service class, or
          <code>null</code> if there was no registered service.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.NullPointerException</code> - if the specified service class is null.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the specified service class is null.</dd>
 </dl>
 </li>
 </ul>
@@ -289,7 +290,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getService</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getService(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
 <div class="block">Returns the service to which the specified service class key is
  mapped, or <code>null</code> if this <code>ServiceContainer</code> contains no 
  service for that key.</div>
@@ -310,7 +311,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>addCleaner</h4>
-<pre>public&nbsp;void&nbsp;addCleaner(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.lang.String,java.lang.String&gt;&nbsp;cleaner)</pre>
+<pre>public&nbsp;void&nbsp;addCleaner(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;cleaner)</pre>
 <div class="block">Registers a new cleaner.
  <p>
  A cleaner is a hook which is invoked when the runtime
@@ -330,8 +331,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>cleanOplet</h4>
-<pre>public&nbsp;void&nbsp;cleanOplet(java.lang.String&nbsp;jobId,
-                       java.lang.String&nbsp;elementId)</pre>
+<pre>public&nbsp;void&nbsp;cleanOplet(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;elementId)</pre>
 <div class="block">Invokes all the registered cleaners in the context of the specified 
  job and element.</div>
 <dl>
@@ -366,7 +367,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -411,6 +411,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/ControlService.html b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/ControlService.html
index 79518a1..6c78fd2 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/ControlService.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/ControlService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.execution.services.ControlService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.services.ControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.execution.services.ControlService (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.execution.services.ControlService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -128,7 +129,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">JobMonitorApp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#closeJob-java.lang.String-org.apache.edgent.execution.services.ControlService-">closeJob</a></span>(java.lang.String&nbsp;jobName,
+<td class="colLast"><span class="typeNameLabel">JobMonitorApp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#closeJob-java.lang.String-org.apache.edgent.execution.services.ControlService-">closeJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName,
         <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</code>
 <div class="block">Closes a job using a <code>JobMXBean</code> control registered with the 
  specified <code>ControlService</code>.</div>
@@ -136,7 +137,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">JobMonitorApp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#submitApplication-java.lang.String-org.apache.edgent.execution.services.ControlService-">submitApplication</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><span class="typeNameLabel">JobMonitorApp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#submitApplication-java.lang.String-org.apache.edgent.execution.services.ControlService-">submitApplication</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                  <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</code>
 <div class="block">Submits an application using an <code>ApplicationServiceMXBean</code> control 
  registered with the specified <code>ControlService</code>.</div>
@@ -243,12 +244,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -278,6 +278,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/Controls.html b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/Controls.html
index e9908aa..8bc0236 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/Controls.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/Controls.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.execution.services.Controls (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.services.Controls (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.execution.services.Controls (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.execution.services.Controls (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/JobRegistryService.EventType.html b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/JobRegistryService.EventType.html
index 903c166..9ecc655 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/JobRegistryService.EventType.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/JobRegistryService.EventType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.execution.services.JobRegistryService.EventType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.services.JobRegistryService.EventType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.execution.services.JobRegistryService.EventType (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.execution.services.JobRegistryService.EventType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -110,7 +111,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></code></td>
-<td class="colLast"><span class="typeNameLabel">JobRegistryService.EventType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.EventType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
@@ -192,12 +193,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -227,6 +227,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/JobRegistryService.html b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/JobRegistryService.html
index 8479743..5fb6a60 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/JobRegistryService.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/JobRegistryService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.execution.services.JobRegistryService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.services.JobRegistryService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.execution.services.JobRegistryService (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.execution.services.JobRegistryService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -144,12 +145,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -179,6 +179,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/RuntimeServices.html b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/RuntimeServices.html
index 95c6584..fcf87f8 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/RuntimeServices.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/RuntimeServices.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.execution.services.RuntimeServices (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.services.RuntimeServices (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.execution.services.RuntimeServices (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.execution.services.RuntimeServices (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -210,12 +211,12 @@
                <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(java.lang.String&nbsp;id,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
                  <a href="../../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
                  <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
                  int&nbsp;inputCount,
-                 java.util.List&lt;? extends <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
-                 java.util.List&lt;<a href="../../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
 <div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
 </td>
 </tr>
@@ -261,12 +262,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -296,6 +296,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/ServiceContainer.html b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/ServiceContainer.html
index 1c1d482..543c73e 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/class-use/ServiceContainer.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/class-use/ServiceContainer.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.execution.services.ServiceContainer (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.services.ServiceContainer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.execution.services.ServiceContainer (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.execution.services.ServiceContainer (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -226,15 +227,15 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">Executable</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">Executable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
           <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices)</code>
 <div class="block">Creates a new <code>Executable</code> for the specified job.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-java.util.concurrent.ThreadFactory-">Executable</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-java.util.concurrent.ThreadFactory-">Executable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
           <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices,
-          java.util.concurrent.ThreadFactory&nbsp;threads)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threads)</code>
 <div class="block">Creates a new <code>Executable</code> for the specified topology name, which uses the 
  given thread factory to create new threads for oplet execution.</div>
 </td>
@@ -253,7 +254,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#DirectGraph-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">DirectGraph</a></span>(java.lang.String&nbsp;topologyName,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#DirectGraph-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">DirectGraph</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
            <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;container)</code>
 <div class="block">Creates a new <code>DirectGraph</code> instance underlying the specified 
  topology.</div>
@@ -320,12 +321,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/package-frame.html b/site/javadoc/latest/org/apache/edgent/execution/services/package-frame.html
index 6e29066..5109522 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.execution.services (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/package-summary.html b/site/javadoc/latest/org/apache/edgent/execution/services/package-summary.html
index 358915a..fd3137c 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.execution.services (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.execution.services (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.execution.services (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -173,7 +174,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -203,6 +203,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/package-tree.html b/site/javadoc/latest/org/apache/edgent/execution/services/package-tree.html
index 3bdcca9..b43f09e 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.execution.services Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.services Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.execution.services Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.execution.services Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">Controls</span></a></li>
 <li type="circle">org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">ServiceContainer</span></a></li>
@@ -94,9 +95,9 @@
 </ul>
 <h2 title="Enum Hierarchy">Enum Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services"><span class="typeNameLink">JobRegistryService.EventType</span></a></li>
 </ul>
@@ -123,7 +124,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/execution/services/package-use.html b/site/javadoc/latest/org/apache/edgent/execution/services/package-use.html
index 16cd68f..2f76643 100644
--- a/site/javadoc/latest/org/apache/edgent/execution/services/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/execution/services/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.execution.services (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.execution.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.execution.services (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.execution.services (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -476,7 +477,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -506,6 +506,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/BiConsumer.html b/site/javadoc/latest/org/apache/edgent/function/BiConsumer.html
index 9f7a0b8..660392d 100644
--- a/site/javadoc/latest/org/apache/edgent/function/BiConsumer.html
+++ b/site/javadoc/latest/org/apache/edgent/function/BiConsumer.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>BiConsumer (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:17 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>BiConsumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BiConsumer (Edgent v1.1.0)";
+            parent.document.title="BiConsumer (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -106,12 +107,12 @@
 </dl>
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.io.Serializable</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">BiConsumer&lt;T,U&gt;</span>
-extends java.io.Serializable</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">Consumer function that takes two arguments.</div>
 </li>
 </ul>
@@ -196,7 +197,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -241,6 +241,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/BiFunction.html b/site/javadoc/latest/org/apache/edgent/function/BiFunction.html
index 05bb23a..4675618 100644
--- a/site/javadoc/latest/org/apache/edgent/function/BiFunction.html
+++ b/site/javadoc/latest/org/apache/edgent/function/BiFunction.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>BiFunction (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:17 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>BiFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="BiFunction (Edgent v1.1.0)";
+            parent.document.title="BiFunction (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -107,12 +108,12 @@
 </dl>
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.io.Serializable</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">BiFunction&lt;T,U,R&gt;</span>
-extends java.io.Serializable</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">Function that takes two arguments and returns a value.</div>
 </li>
 </ul>
@@ -199,7 +200,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -244,6 +244,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/Consumer.html b/site/javadoc/latest/org/apache/edgent/function/Consumer.html
index 6f34c74..d57ecaf 100644
--- a/site/javadoc/latest/org/apache/edgent/function/Consumer.html
+++ b/site/javadoc/latest/org/apache/edgent/function/Consumer.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>Consumer (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Consumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Consumer (Edgent v1.1.0)";
+            parent.document.title="Consumer (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -105,7 +106,7 @@
 </dl>
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.io.Serializable</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">Consumer&lt;T&gt;</span>
-extends java.io.Serializable</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">Function that consumes a value.</div>
 </li>
 </ul>
@@ -196,7 +197,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -241,6 +241,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/Function.html b/site/javadoc/latest/org/apache/edgent/function/Function.html
index a9be77f..06a1c33 100644
--- a/site/javadoc/latest/org/apache/edgent/function/Function.html
+++ b/site/javadoc/latest/org/apache/edgent/function/Function.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>Function (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Function (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Function (Edgent v1.1.0)";
+            parent.document.title="Function (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -106,7 +107,7 @@
 </dl>
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.io.Serializable</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <dl>
 <dt>All Known Subinterfaces:</dt>
@@ -115,7 +116,7 @@
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">Function&lt;T,R&gt;</span>
-extends java.io.Serializable</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">Single argument function.
  For example:
  <UL>
@@ -208,7 +209,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -253,6 +253,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/Functions.html b/site/javadoc/latest/org/apache/edgent/function/Functions.html
index d74c67a..7744790 100644
--- a/site/javadoc/latest/org/apache/edgent/function/Functions.html
+++ b/site/javadoc/latest/org/apache/edgent/function/Functions.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>Functions (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Functions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Functions (Edgent v1.1.0)";
+            parent.document.title="Functions (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.function.Functions</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Functions</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Common functions and functional utilities.</div>
 </li>
 </ul>
@@ -161,12 +162,12 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#closeFunction-java.lang.Object-">closeFunction</a></span>(java.lang.Object&nbsp;function)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#closeFunction-java.lang.Object-">closeFunction</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;function)</code>
 <div class="block">Close the function.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;java.lang.Runnable</code></td>
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#delayedConsume-org.apache.edgent.function.Consumer-T-">delayedConsume</a></span>(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;consumer,
               T&nbsp;value)</code>
 <div class="block">Create a <code>Runnable</code> that calls
@@ -187,20 +188,20 @@
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#isImmutable-java.lang.Object-">isImmutable</a></span>(java.lang.Object&nbsp;function)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#isImmutable-java.lang.Object-">isImmutable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;function)</code>
 <div class="block">See if the functional logic is immutable.</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#isImmutableClass-java.lang.Class-">isImmutableClass</a></span>(java.lang.Class&lt;?&gt;&nbsp;clazz)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#isImmutableClass-java.lang.Class-">isImmutableClass</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;clazz)</code>
 <div class="block">See if a function class is immutable.</div>
 </td>
 </tr>
 <tr id="i8" class="altColor">
-<td class="colFirst"><code>static java.lang.Runnable</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#runWithFinal-java.lang.Runnable-java.lang.Runnable-">runWithFinal</a></span>(java.lang.Runnable&nbsp;action,
-            java.lang.Runnable&nbsp;finalAction)</code>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#runWithFinal-java.lang.Runnable-java.lang.Runnable-">runWithFinal</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;action,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;finalAction)</code>
 <div class="block">Wrap a <code>Runnable</code> with a final action that
  is always called when <code>action.run()</code> completes.</div>
 </td>
@@ -230,13 +231,13 @@
 </td>
 </tr>
 <tr id="i13" class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;</code></td>
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#unpartitioned--">unpartitioned</a></span>()</code>
 <div class="block">Returns a constant function that returns zero (0).</div>
 </td>
 </tr>
 <tr id="i14" class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;</code></td>
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#zero--">zero</a></span>()</code>
 <div class="block">Returns a constant function that returns zero (0).</div>
 </td>
@@ -246,8 +247,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -302,7 +303,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>zero</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;zero()</pre>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;zero()</pre>
 <div class="block">Returns a constant function that returns zero (0).</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -318,7 +319,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>unpartitioned</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;unpartitioned()</pre>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;unpartitioned()</pre>
 <div class="block">Returns a constant function that returns zero (0).
  This is identical to <a href="../../../../org/apache/edgent/function/Functions.html#zero--"><code>zero()</code></a> but is more
  readable when applied as a key function.</div>
@@ -336,8 +337,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>closeFunction</h4>
-<pre>public static&nbsp;void&nbsp;closeFunction(java.lang.Object&nbsp;function)
-                          throws java.lang.Exception</pre>
+<pre>public static&nbsp;void&nbsp;closeFunction(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;function)
+                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Close the function.
  If <code>function</code> is an instance of <code>AutoCloseable</code>
  then close is called, otherwise no action is taken.</div>
@@ -345,7 +346,7 @@
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>function</code> - Function to be closed.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - Error throwing function.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Error throwing function.</dd>
 </dl>
 </li>
 </ul>
@@ -462,7 +463,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>isImmutable</h4>
-<pre>public static&nbsp;boolean&nbsp;isImmutable(java.lang.Object&nbsp;function)</pre>
+<pre>public static&nbsp;boolean&nbsp;isImmutable(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;function)</pre>
 <div class="block">See if the functional logic is immutable.
  
  Logic is stateful if:
@@ -483,7 +484,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>isImmutableClass</h4>
-<pre>public static&nbsp;boolean&nbsp;isImmutableClass(java.lang.Class&lt;?&gt;&nbsp;clazz)</pre>
+<pre>public static&nbsp;boolean&nbsp;isImmutableClass(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;clazz)</pre>
 <div class="block">See if a function class is immutable.
  
  Logic is stateful if:
@@ -506,8 +507,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>delayedConsume</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;java.lang.Runnable&nbsp;delayedConsume(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;consumer,
-                                                    T&nbsp;value)</pre>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;delayedConsume(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;consumer,
+                                          T&nbsp;value)</pre>
 <div class="block">Create a <code>Runnable</code> that calls
  <code>consumer.accept(value)</code> when <code>run()</code> is called.
  This can be used to delay the execution of the consumer
@@ -529,8 +530,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>runWithFinal</h4>
-<pre>public static&nbsp;java.lang.Runnable&nbsp;runWithFinal(java.lang.Runnable&nbsp;action,
-                                              java.lang.Runnable&nbsp;finalAction)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;runWithFinal(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;action,
+                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;finalAction)</pre>
 <div class="block">Wrap a <code>Runnable</code> with a final action that
  is always called when <code>action.run()</code> completes.</div>
 <dl>
@@ -615,7 +616,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -660,6 +660,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/Predicate.html b/site/javadoc/latest/org/apache/edgent/function/Predicate.html
index 39c4630..22619a9 100644
--- a/site/javadoc/latest/org/apache/edgent/function/Predicate.html
+++ b/site/javadoc/latest/org/apache/edgent/function/Predicate.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>Predicate (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Predicate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Predicate (Edgent v1.1.0)";
+            parent.document.title="Predicate (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -105,7 +106,7 @@
 </dl>
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.io.Serializable</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">Predicate&lt;T&gt;</span>
-extends java.io.Serializable</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">Predicate function.</div>
 </li>
 </ul>
@@ -198,7 +199,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -243,6 +243,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/Supplier.html b/site/javadoc/latest/org/apache/edgent/function/Supplier.html
index ab35caf..9c4ccf3 100644
--- a/site/javadoc/latest/org/apache/edgent/function/Supplier.html
+++ b/site/javadoc/latest/org/apache/edgent/function/Supplier.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>Supplier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Supplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Supplier (Edgent v1.1.0)";
+            parent.document.title="Supplier (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -105,20 +106,20 @@
 </dl>
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.io.Serializable</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <dl>
 <dt>All Known Subinterfaces:</dt>
-<dd><a href="../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></dd>
+<dd><a href="../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>, <a href="../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></dd>
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a>, <a href="../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor">HeartMonitorSensor</a>, <a href="../../../../org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors">MsgSupplier</a>, <a href="../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>, <a href="../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a>, <a href="../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedTemperatureSensor</a>, <a href="../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></dd>
+<dd><a href="../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a>, <a href="../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>, <a href="../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>, <a href="../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>, <a href="../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">Supplier&lt;T&gt;</span>
-extends java.io.Serializable</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">Function that supplies a value.
  For example, functions that returns the current time:
  <UL>
@@ -209,7 +210,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -254,6 +254,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/ToDoubleFunction.html b/site/javadoc/latest/org/apache/edgent/function/ToDoubleFunction.html
index 1da8378..a6b1c94 100644
--- a/site/javadoc/latest/org/apache/edgent/function/ToDoubleFunction.html
+++ b/site/javadoc/latest/org/apache/edgent/function/ToDoubleFunction.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>ToDoubleFunction (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ToDoubleFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToDoubleFunction (Edgent v1.1.0)";
+            parent.document.title="ToDoubleFunction (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -189,7 +190,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -234,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/ToIntFunction.html b/site/javadoc/latest/org/apache/edgent/function/ToIntFunction.html
index 9613116..4de1777 100644
--- a/site/javadoc/latest/org/apache/edgent/function/ToIntFunction.html
+++ b/site/javadoc/latest/org/apache/edgent/function/ToIntFunction.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>ToIntFunction (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ToIntFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ToIntFunction (Edgent v1.1.0)";
+            parent.document.title="ToIntFunction (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -105,7 +106,7 @@
 </dl>
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.io.Serializable</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">ToIntFunction&lt;T&gt;</span>
-extends java.io.Serializable</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">Function that returns a int primitive.</div>
 </li>
 </ul>
@@ -198,7 +199,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -243,6 +243,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/UnaryOperator.html b/site/javadoc/latest/org/apache/edgent/function/UnaryOperator.html
index 52387c7..98dbf23 100644
--- a/site/javadoc/latest/org/apache/edgent/function/UnaryOperator.html
+++ b/site/javadoc/latest/org/apache/edgent/function/UnaryOperator.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>UnaryOperator (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnaryOperator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="UnaryOperator (Edgent v1.1.0)";
+            parent.document.title="UnaryOperator (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -99,7 +100,7 @@
 </dl>
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,T&gt;, java.io.Serializable</dd>
+<dd><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,T&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <hr>
 <br>
@@ -150,7 +151,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -195,6 +195,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/WrappedFunction.html b/site/javadoc/latest/org/apache/edgent/function/WrappedFunction.html
index 85a844c..136722d 100644
--- a/site/javadoc/latest/org/apache/edgent/function/WrappedFunction.html
+++ b/site/javadoc/latest/org/apache/edgent/function/WrappedFunction.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>WrappedFunction (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>WrappedFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="WrappedFunction (Edgent v1.1.0)";
+            parent.document.title="WrappedFunction (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.function.WrappedFunction&lt;F&gt;</li>
@@ -113,7 +114,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -122,8 +123,8 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">WrappedFunction&lt;F&gt;</span>
-extends java.lang.Object
-implements java.io.Serializable</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">A wrapped function.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -174,14 +175,14 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;C&gt;&nbsp;C</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/WrappedFunction.html#unwrap-java.lang.Class-">unwrap</a></span>(java.lang.Class&lt;C&gt;&nbsp;clazz)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/WrappedFunction.html#unwrap-java.lang.Class-">unwrap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;C&gt;&nbsp;clazz)</code>
 <div class="block">Unwrap to find the outermost function that is an instance of <code>clazz</code>.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static &lt;C&gt;&nbsp;C</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/WrappedFunction.html#unwrap-java.lang.Class-java.lang.Object-">unwrap</a></span>(java.lang.Class&lt;C&gt;&nbsp;clazz,
-      java.lang.Object&nbsp;wf)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/WrappedFunction.html#unwrap-java.lang.Class-java.lang.Object-">unwrap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;C&gt;&nbsp;clazz,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;wf)</code>
 <div class="block">Unwrap a function object to find the outermost function that implements <code>clazz</code>.</div>
 </td>
 </tr>
@@ -190,8 +191,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -246,7 +247,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>unwrap</h4>
-<pre>public&nbsp;&lt;C&gt;&nbsp;C&nbsp;unwrap(java.lang.Class&lt;C&gt;&nbsp;clazz)</pre>
+<pre>public&nbsp;&lt;C&gt;&nbsp;C&nbsp;unwrap(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;C&gt;&nbsp;clazz)</pre>
 <div class="block">Unwrap to find the outermost function that is an instance of <code>clazz</code>.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -268,8 +269,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>unwrap</h4>
-<pre>public static&nbsp;&lt;C&gt;&nbsp;C&nbsp;unwrap(java.lang.Class&lt;C&gt;&nbsp;clazz,
-                           java.lang.Object&nbsp;wf)</pre>
+<pre>public static&nbsp;&lt;C&gt;&nbsp;C&nbsp;unwrap(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;C&gt;&nbsp;clazz,
+                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;wf)</pre>
 <div class="block">Unwrap a function object to find the outermost function that implements <code>clazz</code>.
  If a function object is not an instance of <code>clazz</code> but is an instance of
  <code>WrappedFunction</code> then the test is repeated on the value of <a href="../../../../org/apache/edgent/function/WrappedFunction.html#f--"><code>f()</code></a>.</div>
@@ -310,7 +311,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/class-use/BiConsumer.html b/site/javadoc/latest/org/apache/edgent/function/class-use/BiConsumer.html
index 7430761..f3bdaea 100644
--- a/site/javadoc/latest/org/apache/edgent/function/class-use/BiConsumer.html
+++ b/site/javadoc/latest/org/apache/edgent/function/class-use/BiConsumer.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.function.BiConsumer (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.BiConsumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.function.BiConsumer (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.function.BiConsumer (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -140,7 +141,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ServiceContainer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#addCleaner-org.apache.edgent.function.BiConsumer-">addCleaner</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.lang.String,java.lang.String&gt;&nbsp;cleaner)</code>
+<td class="colLast"><span class="typeNameLabel">ServiceContainer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#addCleaner-org.apache.edgent.function.BiConsumer-">addCleaner</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;cleaner)</code>
 <div class="block">Registers a new cleaner.</div>
 </td>
 </tr>
@@ -173,14 +174,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
 <div class="block">Register an application that uses an <code>IotDevice</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder,
                 boolean&nbsp;autoSubmit,
                 com.google.gson.JsonObject&nbsp;config)</code>
@@ -203,7 +204,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AppService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><span class="typeNameLabel">AppService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -222,8 +223,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TrackingScheduledExecutor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">newScheduler</a></span>(java.util.concurrent.ThreadFactory&nbsp;threadFactory,
-            <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.lang.Object,java.lang.Throwable&gt;&nbsp;completionHandler)</code>
+<td class="colLast"><span class="typeNameLabel">TrackingScheduledExecutor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">newScheduler</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threadFactory,
+            <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;completionHandler)</code>
 <div class="block">Creates an <code>TrackingScheduledExecutor</code> using the supplied thread 
  factory and a completion handler.</div>
 </td>
@@ -281,7 +282,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><span class="typeNameLabel">ApplicationService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
 <div class="block">Add a topology that can be started though a control mbean.</div>
 </td>
@@ -301,13 +302,13 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#countContentsPolicy-int-">countContentsPolicy</a></span>(int&nbsp;count)</code>
 <div class="block">Returns a count-based contents policy.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#doNothing--">doNothing</a></span>()</code>
 <div class="block">A <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><code>BiConsumer</code></a> policy which does nothing.</div>
 </td>
@@ -319,7 +320,7 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getPartitionProcessor--">getPartitionProcessor</a></span>()</code>
 <div class="block">Returns the partition processor associated with the window.</div>
 </td>
@@ -331,30 +332,30 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#processOnInsert--">processOnInsert</a></span>()</code>
 <div class="block">Returns a trigger policy that triggers
  processing on every insert.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#processWhenFullAndEvict-int-">processWhenFullAndEvict</a></span>(int&nbsp;size)</code>
 <div class="block">Returns a trigger policy that triggers when the size of a partition
  equals or exceeds a value, and then evicts its contents.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#scheduleEvictIfEmpty-long-java.util.concurrent.TimeUnit-">scheduleEvictIfEmpty</a></span>(long&nbsp;time,
-                    java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">A policy which schedules a future partition eviction if the partition is empty.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#scheduleEvictOnFirstInsert-long-java.util.concurrent.TimeUnit-">scheduleEvictOnFirstInsert</a></span>(long&nbsp;time,
-                          java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">A policy which schedules a future partition eviction on the first insert.</div>
 </td>
 </tr>
@@ -369,13 +370,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#registerPartitionProcessor-org.apache.edgent.function.BiConsumer-">registerPartitionProcessor</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;windowProcessor)</code>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#registerPartitionProcessor-org.apache.edgent.function.BiConsumer-">registerPartitionProcessor</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;windowProcessor)</code>
 <div class="block">Register a WindowProcessor.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -385,8 +386,8 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -415,12 +416,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -450,6 +450,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/class-use/BiFunction.html b/site/javadoc/latest/org/apache/edgent/function/class-use/BiFunction.html
index 1e8c72c..8d04eb7 100644
--- a/site/javadoc/latest/org/apache/edgent/function/class-use/BiFunction.html
+++ b/site/javadoc/latest/org/apache/edgent/function/class-use/BiFunction.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.function.BiFunction (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.BiFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.function.BiFunction (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.function.BiFunction (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -135,28 +136,22 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
 <td class="colLast">
 <div class="block">Functional api to build a streaming topology.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing</a></td>
 <td class="colLast">
 <div class="block">Plumbing for a streaming topology.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
 <td class="colLast">
 <div class="block">Window API.</div>
@@ -179,9 +174,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(java.lang.String&nbsp;resultPartitionProperty,
-             java.lang.String&nbsp;resultProperty,
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
              <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
              <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Create a Function that aggregates against a single <code>Numeric</code>
@@ -189,10 +184,10 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-">mvAggregateList</a></span>(java.lang.String&nbsp;resultPartitionKeyProperty,
-               java.lang.String&nbsp;resultProperty,
-               java.util.List&lt;org.apache.commons.math3.util.Pair&lt;java.lang.String,<a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-">mvAggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
 <div class="block">Create a Function that aggregates multiple <code>Numeric</code>
  variables contained in an JSON object.</div>
 </td>
@@ -212,10 +207,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;pathnames,
-              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,java.lang.String&gt;&nbsp;preFn,
-              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.lang.String,java.lang.Exception,java.lang.String&gt;&nbsp;postFn)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</code>
 <div class="block">Declare a stream containing the lines read from the files
  whose pathnames correspond to each tuple on the <code>pathnames</code>
  stream.</div>
@@ -237,7 +232,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">HttpResponders.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html#inputOn-java.lang.Integer...-">inputOn</a></span>(java.lang.Integer...&nbsp;codes)</code>
+<td class="colLast"><span class="typeNameLabel">HttpResponders.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html#inputOn-java.lang.Integer...-">inputOn</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>...&nbsp;codes)</code>
 <div class="block">Return the input tuple on specified codes.</div>
 </td>
 </tr>
@@ -266,8 +261,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request for each tuple on a stream.</div>
 </td>
@@ -276,8 +271,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request with body for each tuple.<br></div>
@@ -299,9 +294,9 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-org.apache.edgent.function.BiFunction-">subscribe</a></span>(java.lang.String&nbsp;topicFilter,
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-org.apache.edgent.function.BiFunction-">subscribe</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
          int&nbsp;qos,
-         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.lang.String,byte[],T&gt;&nbsp;message2Tuple)</code>
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[],T&gt;&nbsp;message2Tuple)</code>
 <div class="block">Subscribe to the MQTT topic(s) and create a stream of tuples of type <code>T</code>.</div>
 </td>
 </tr>
@@ -356,7 +351,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">FanIn.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#setReceiver-org.apache.edgent.function.BiFunction-">setReceiver</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,java.lang.Integer,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</code>
+<td class="colLast"><span class="typeNameLabel">FanIn.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#setReceiver-org.apache.edgent.function.BiFunction-">setReceiver</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</code>
 <div class="block">Set the receiver function.</div>
 </td>
 </tr>
@@ -369,7 +364,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#FanIn-org.apache.edgent.function.BiFunction-">FanIn</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,java.lang.Integer,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#FanIn-org.apache.edgent.function.BiFunction-">FanIn</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -386,7 +381,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,java.lang.Integer,java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Barrier.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#receiver--">receiver</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -403,8 +398,8 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#Aggregate-org.apache.edgent.window.Window-org.apache.edgent.function.BiFunction-">Aggregate</a></span>(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
-         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#Aggregate-org.apache.edgent.window.Window-org.apache.edgent.function.BiFunction-">Aggregate</a></span>(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -430,27 +425,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> that return <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,java.lang.String,com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonTuples.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#statistics-org.apache.edgent.analytics.math3.stat.Statistic...-">statistics</a></span>(<a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>...&nbsp;statistics)</code>
-<div class="block">Create a function that computes the specified statistics on the list of
- samples and returns a new sample containing the result.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.edgent.topology">
 <!--   -->
 </a>
@@ -464,14 +438,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</code>
+<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</code>
 <div class="block">Declares a stream that is a continuous, sliding, aggregation of
  partitions in this window.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</code>
+<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</code>
 <div class="block">Declares a stream that represents a batched aggregation of
  partitions in this window.</div>
 </td>
@@ -480,7 +454,7 @@
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
     <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
-    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
 <div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
 </td>
 </tr>
@@ -513,7 +487,7 @@
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         int&nbsp;width,
         <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -521,7 +495,7 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 int&nbsp;width,
-                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -530,7 +504,7 @@
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallelMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
            int&nbsp;width,
            <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,java.lang.Integer,U&gt;&nbsp;mapper)</code>
+           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</code>
 <div class="block">Perform an analytic function on tuples in parallel.</div>
 </td>
 </tr>
@@ -550,29 +524,29 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</code>
+<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</code>
 <div class="block">Window behaviour here is that:
  
  Tuples are always inserted into the partition.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
     <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
-    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
@@ -596,14 +570,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#alwaysInsert--">alwaysInsert</a></span>()</code>
 <div class="block">Returns an insertion policy that indicates the tuple
  is to be inserted into the partition.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getInsertionPolicy--">getInsertionPolicy</a></span>()</code>
 <div class="block">Returns the insertion policy of the window.</div>
 </td>
@@ -618,8 +592,8 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -648,12 +622,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -683,6 +656,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/class-use/Consumer.html b/site/javadoc/latest/org/apache/edgent/function/class-use/Consumer.html
index 6103823..201e8a7 100644
--- a/site/javadoc/latest/org/apache/edgent/function/class-use/Consumer.html
+++ b/site/javadoc/latest/org/apache/edgent/function/class-use/Consumer.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.function.Consumer (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.Consumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.function.Consumer (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.function.Consumer (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -196,8 +197,8 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandWriter-java.lang.ProcessBuilder-">commandWriter</a></span>(java.lang.ProcessBuilder&nbsp;cmd)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandWriter-java.lang.ProcessBuilder-">commandWriter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Create a <code>Consumer&lt;String&gt;</code> to write UTF8 string data to a command's input.</div>
 </td>
 </tr>
@@ -218,8 +219,8 @@
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">ResultsHandler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html#handleResults-T-java.sql.ResultSet-java.lang.Exception-org.apache.edgent.function.Consumer-">handleResults</a></span>(<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">T</a>&nbsp;tuple,
-             java.sql.ResultSet&nbsp;resultSet,
-             java.lang.Exception&nbsp;exc,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql">ResultSet</a>&nbsp;resultSet,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;exc,
              <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">R</a>&gt;&nbsp;consumer)</code>
 <div class="block">Process the <code>ResultSet</code> and add 0 or more tuples to <code>consumer</code>.</div>
 </td>
@@ -240,15 +241,15 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ProviderPubSub.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(java.lang.String&nbsp;topic,
-                     java.lang.Class&lt;? super T&gt;&nbsp;streamType)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PublishSubscribeService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
+<div class="block">Get the destination for a publisher.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PublishSubscribeService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(java.lang.String&nbsp;topic,
-                     java.lang.Class&lt;? super T&gt;&nbsp;streamType)</code>
-<div class="block">Get the destination for a publisher.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">ProviderPubSub.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -261,26 +262,26 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
-<td class="colLast"><span class="typeNameLabel">ProviderPubSub.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(java.lang.String&nbsp;topic,
-             java.lang.Class&lt;T&gt;&nbsp;streamType,
-             <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
-<td class="colLast"><span class="typeNameLabel">PublishSubscribeService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(java.lang.String&nbsp;topic,
-             java.lang.Class&lt;T&gt;&nbsp;streamType,
+<td class="colLast"><span class="typeNameLabel">PublishSubscribeService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
              <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</code>
 <div class="block">Add a subscriber to a published topic.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
+<td class="colLast"><span class="typeNameLabel">ProviderPubSub.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
+             <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ProviderPubSub.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(java.lang.String&nbsp;topic,
+<td class="colLast"><span class="typeNameLabel">PublishSubscribeService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
                 <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">PublishSubscribeService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(java.lang.String&nbsp;topic,
+<td class="colLast"><span class="typeNameLabel">ProviderPubSub.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
                 <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -339,7 +340,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;java.lang.Runnable</code></td>
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#delayedConsume-org.apache.edgent.function.Consumer-T-">delayedConsume</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;consumer,
               T&nbsp;value)</code>
 <div class="block">Create a <code>Runnable</code> that calls
@@ -400,13 +401,13 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Oplet.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">getInputs</a></span>()</code>
 <div class="block">Get the input stream data handlers for this oplet.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="type parameter in OpletContext">O</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="type parameter in OpletContext">O</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">OpletContext.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputs--">getOutputs</a></span>()</code>
 <div class="block">Get the mechanism to submit tuples on an output port.</div>
 </td>
@@ -466,16 +467,16 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FanIn.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Source.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Pipe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Source.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FanIn.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;</code></td>
@@ -493,28 +494,28 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FanIn.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Split.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FanOut.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Pipe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Sink.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;java.lang.Void&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Source.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Sink.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Split.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Pipe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FanOut.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FanIn.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -720,13 +721,13 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Invocation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#getInputs--">getInputs</a></span>()</code>
 <div class="block">Returns the list of input stream forwarders for this invocation.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">InvocationContext.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputs--">getOutputs</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -773,12 +774,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(java.lang.String&nbsp;id,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
                  <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
                  <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
                  int&nbsp;inputCount,
-                 java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
-                 java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
 <div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
 </td>
 </tr>
@@ -931,16 +932,16 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictAll--">evictAll</a></span>()</code>
 <div class="block">Returns a Consumer representing an evict determiner that evict all tuples
  from the window.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,java.util.List&lt;T&gt;&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictAllAndScheduleEvictWithProcess-long-java.util.concurrent.TimeUnit-">evictAllAndScheduleEvictWithProcess</a></span>(long&nbsp;time,
-                                   java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">An eviction policy which processes the window, evicts all tuples, and 
  schedules the next eviction after the appropriate interval.</div>
 </td>
@@ -948,12 +949,12 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictOlderWithProcess-long-java.util.concurrent.TimeUnit-">evictOlderWithProcess</a></span>(long&nbsp;time,
-                     java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">An eviction policy which evicts all tuples that are older than a specified time.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictOldest--">evictOldest</a></span>()</code>
 <div class="block">Returns an evict determiner that evicts the oldest tuple.</div>
 </td>
@@ -974,8 +975,8 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -1004,12 +1005,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -1039,6 +1039,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/class-use/Function.html b/site/javadoc/latest/org/apache/edgent/function/class-use/Function.html
index 960e314..bd9c5b0 100644
--- a/site/javadoc/latest/org/apache/edgent/function/class-use/Function.html
+++ b/site/javadoc/latest/org/apache/edgent/function/class-use/Function.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.function.Function (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.Function (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.function.Function (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.function.Function (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -83,119 +84,113 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors</a></td>
 <td class="colLast">
 <div class="block">Analytics focused on handling sensor data.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
 <td class="colLast">
 <div class="block">File stream connector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.http">org.apache.edgent.connectors.http</a></td>
 <td class="colLast">
 <div class="block">HTTP stream connector.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.iot">org.apache.edgent.connectors.iot</a></td>
 <td class="colLast">
 <div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
 <td class="colLast">
 <div class="block">IBM Watson IoT Platform stream connector.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
 <td class="colLast">
 <div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
 <td class="colLast">
 <div class="block">An MQTT based IotDevice connector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.serial">org.apache.edgent.connectors.serial</a></td>
 <td class="colLast">
 <div class="block">Serial port connector API.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.function">org.apache.edgent.function</a></td>
 <td class="colLast">
 <div class="block">Functional interfaces for lambda expressions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
 <td class="colLast">
 <div class="block">Oplets that process tuples using functions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
 <td class="colLast">
 <div class="block">Oplets that control the flow of tuples.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
 <td class="colLast">
 <div class="block">Iot provider that allows multiple applications to
  share an <code>IotDevice</code>.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors">org.apache.edgent.samples.connectors</a></td>
-<td class="colLast">
-<div class="block">General support for connector samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
 <td class="colLast">
 <div class="block">Functional api to build a streaming topology.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.json">org.apache.edgent.topology.json</a></td>
 <td class="colLast">
 <div class="block">Utilities for use of JSON in a streaming topology.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing</a></td>
 <td class="colLast">
 <div class="block">Plumbing for a streaming topology.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
 <td class="colLast">
 <div class="block">Window API.</div>
@@ -206,6 +201,34 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> that return <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ResultMap.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(ResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MvResultMap.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(MvResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.edgent.analytics.sensors">
 <!--   -->
 </a>
@@ -231,14 +254,14 @@
         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
         <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
         long&nbsp;maximumSuppression,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Deadband filter with maximum suppression time.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T extends java.lang.Comparable&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#valueOf-java.lang.String-org.apache.edgent.function.Function-">valueOf</a></span>(java.lang.String&nbsp;toStringValue,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,T&gt;&nbsp;fromString)</code>
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#valueOf-java.lang.String-org.apache.edgent.function.Function-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringValue,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,T&gt;&nbsp;fromString)</code>
 <div class="block">Create a Range from a String produced by toString().</div>
 </td>
 </tr>
@@ -257,10 +280,10 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;pathnames,
-              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,java.lang.String&gt;&nbsp;preFn,
-              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.lang.String,java.lang.Exception,java.lang.String&gt;&nbsp;postFn)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</code>
 <div class="block">Declare a stream containing the lines read from the files
  whose pathnames correspond to each tuple on the <code>pathnames</code>
  stream.</div>
@@ -284,7 +307,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">deleteJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</code>
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
 <div class="block">Make an HTTP DELETE request with JsonObject.</div>
 </td>
 </tr>
@@ -292,7 +315,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">getJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
 <div class="block">Make an HTTP GET request with JsonObject.</div>
 </td>
 </tr>
@@ -300,7 +323,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP POST request with JsonObject.</div>
 </td>
@@ -309,7 +332,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP PUT request with JsonObject.</div>
 </td>
@@ -318,8 +341,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request for each tuple on a stream.</div>
 </td>
@@ -328,8 +351,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request for each tuple on a stream.</div>
 </td>
@@ -338,8 +361,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request with body for each tuple.<br></div>
@@ -349,8 +372,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request with body for each tuple.<br></div>
@@ -360,8 +383,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request with body for each tuple.<br></div>
@@ -384,48 +407,48 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;deviceId,
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;deviceId,
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;deviceId,
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
@@ -445,64 +468,64 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
-      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
-      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;fqDeviceId,
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;fqDeviceId,
-               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
-               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;fqDeviceId,
-               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
-               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
           <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</code>
 <div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
 </td>
@@ -524,10 +547,10 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;keyFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;valueFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.</div>
 </td>
@@ -535,10 +558,10 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;keyFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;valueFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.</div>
 </td>
@@ -546,10 +569,10 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;keyFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;valueFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.</div>
 </td>
@@ -557,10 +580,10 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;keyFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;valueFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.</div>
 </td>
@@ -570,8 +593,8 @@
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified topic partitions.</div>
 </td>
@@ -581,8 +604,8 @@
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified topic partitions.</div>
 </td>
@@ -592,8 +615,8 @@
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified topic partitions.</div>
 </td>
@@ -603,8 +626,8 @@
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified topic partitions.</div>
 </td>
@@ -612,7 +635,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribe-org.apache.edgent.function.Function-java.lang.String...-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
-         java.lang.String...&nbsp;topics)</code>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
 <div class="block">Subscribe to the specified topics and yield a stream of tuples
  from the published Kafka records.</div>
 </td>
@@ -620,7 +643,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribeBytes-org.apache.edgent.function.Function-java.lang.String...-">subscribeBytes</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
-              java.lang.String...&nbsp;topics)</code>
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
 <div class="block">Subscribe to the specified topics and yield a stream of tuples
  from the published Kafka records.</div>
 </td>
@@ -642,40 +665,40 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;qos,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Boolean&gt;&nbsp;retain)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
 <div class="block">Publish a stream's tuples as MQTT messages.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;qos,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Boolean&gt;&nbsp;retain)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
 <div class="block">Publish a stream's tuples as MQTT messages.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;qos,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Boolean&gt;&nbsp;retain)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
 <div class="block">Publish a stream's tuples as MQTT messages.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;qos,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Boolean&gt;&nbsp;retain)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
 <div class="block">Publish a stream's tuples as MQTT messages.</div>
 </td>
 </tr>
@@ -696,16 +719,20 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -764,13 +791,13 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;</code></td>
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#unpartitioned--">unpartitioned</a></span>()</code>
 <div class="block">Returns a constant function that returns zero (0).</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;</code></td>
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#zero--">zero</a></span>()</code>
 <div class="block">Returns a constant function that returns zero (0).</div>
 </td>
@@ -804,7 +831,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html#FlatMap-org.apache.edgent.function.Function-">FlatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>,java.lang.Iterable&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">O</a>&gt;&gt;&nbsp;function)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html#FlatMap-org.apache.edgent.function.Function-">FlatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">O</a>&gt;&gt;&nbsp;function)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Map.html#Map-org.apache.edgent.function.Function-">Map</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">I</a>,<a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">O</a>&gt;&nbsp;function)</code>&nbsp;</td>
@@ -847,20 +874,20 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
 <div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
 <div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
            <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
@@ -870,51 +897,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> that return <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonTuples.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#keyFn--">keyFn</a></span>()</code>
-<div class="block">The partition key function for wrapped sensor samples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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>&lt;T&gt;&nbsp;void</code></td>
-<td class="colLast"><span class="typeNameLabel">Options.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Options.html#addHandler-java.lang.String-org.apache.edgent.function.Function-">addHandler</a></span>(java.lang.String&nbsp;opt,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,T&gt;&nbsp;cvtFn)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
-<td class="colLast"><span class="typeNameLabel">Options.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Options.html#addHandler-java.lang.String-org.apache.edgent.function.Function-T-">addHandler</a></span>(java.lang.String&nbsp;opt,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,T&gt;&nbsp;cvtFn,
-          T&nbsp;dflt)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.edgent.topology">
 <!--   -->
 </a>
@@ -943,7 +925,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,java.lang.Iterable&lt;U&gt;&gt;&nbsp;mapper)</code>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>
 <div class="block">Declare a new stream that maps tuples from this stream into one or
  more (or zero) tuples of a different type <code>U</code>.</div>
 </td>
@@ -952,7 +934,7 @@
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
     <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
-    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
 <div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
 </td>
 </tr>
@@ -987,7 +969,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
-    java.util.concurrent.TimeUnit&nbsp;unit,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
     <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</code>
 <div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
  tuples on this stream for each partition.</div>
@@ -1001,8 +983,8 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>&lt;E extends java.lang.Enum&lt;E&gt;&gt;<br>java.util.EnumMap&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(java.lang.Class&lt;E&gt;&nbsp;enumClass,
+<td class="colFirst"><code>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,E&gt;&nbsp;splitter)</code>
 <div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
  <code>splitter</code>.</div>
@@ -1029,7 +1011,7 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#asString--">asString</a></span>()</code>
 <div class="block">Get the JSON for a JsonObject.</div>
 </td>
@@ -1037,13 +1019,43 @@
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;byte[],com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#fromBytes--">fromBytes</a></span>()</code>
-<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON</div>
+<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,com.google.gson.JsonObject&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#fromString--">fromString</a></span>()</code>
-<div class="block">Create a new JsonObject from JSON</div>
+<div class="block">Create a new JsonObject from JSON.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,com.google.gson.JsonElement&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#unpartitioned--">unpartitioned</a></span>()</code>
+<div class="block">Returns a constant function that returns a zero (0) JsonElement.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfBoolean-java.lang.String-">valueOfBoolean</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Boolean</code> property.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfCharacter-java.lang.String-">valueOfCharacter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Character</code> property.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br><a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfNumber-java.lang.String-">valueOfNumber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Number</code> property.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfString-java.lang.String-">valueOfString</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>String</code> property.</div>
 </td>
 </tr>
 </tbody>
@@ -1063,16 +1075,16 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-          java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrentMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-             java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
-             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
@@ -1096,16 +1108,16 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-          java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrentMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-             java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
-             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
@@ -1138,13 +1150,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,java.lang.Iterable&lt;U&gt;&gt;&nbsp;mapper)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
     <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
-    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
@@ -1168,7 +1180,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
-    java.util.concurrent.TimeUnit&nbsp;unit,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
     <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -1176,8 +1188,8 @@
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#map-org.apache.edgent.function.Function-">map</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;mapper)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>&lt;E extends java.lang.Enum&lt;E&gt;&gt;<br>java.util.EnumMap&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(java.lang.Class&lt;E&gt;&nbsp;enumClass,
+<td class="colFirst"><code>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,E&gt;&nbsp;splitter)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -1210,7 +1222,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,java.util.LinkedList&lt;T&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html?is-external=true" title="class or interface in java.util">LinkedList</a>&lt;T&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#lastNProcessOnInsert-int-org.apache.edgent.function.Function-">lastNProcessOnInsert</a></span>(int&nbsp;count,
                     <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction)</code>
 <div class="block">Return a window that maintains the last <code>count</code> tuples inserted
@@ -1218,8 +1230,8 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -1248,12 +1260,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -1283,6 +1294,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/class-use/Functions.html b/site/javadoc/latest/org/apache/edgent/function/class-use/Functions.html
index 0f1bed0..fc67517 100644
--- a/site/javadoc/latest/org/apache/edgent/function/class-use/Functions.html
+++ b/site/javadoc/latest/org/apache/edgent/function/class-use/Functions.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.function.Functions (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.function.Functions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.function.Functions (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.function.Functions (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/class-use/Predicate.html b/site/javadoc/latest/org/apache/edgent/function/class-use/Predicate.html
index 49ef3f9..2d6998d 100644
--- a/site/javadoc/latest/org/apache/edgent/function/class-use/Predicate.html
+++ b/site/javadoc/latest/org/apache/edgent/function/class-use/Predicate.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.function.Predicate (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.Predicate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.function.Predicate (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.function.Predicate (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -162,7 +163,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T extends java.lang.Comparable&lt;?&gt;&gt;</span></code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</span></code>
 <div class="block">A generic immutable range of values and a way to 
  check a value for containment in the range.</div>
 </td>
@@ -170,6 +171,21 @@
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> that return <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</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 &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#outsideOf-org.apache.edgent.analytics.sensors.Range-">outsideOf</a></span>(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;range)</code>
+<div class="block">Create a Predicate whose <code>test(v)</code> behaves like <code>! range.test(v)</code></div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
 <caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
@@ -190,7 +206,7 @@
         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
         <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
         long&nbsp;maximumSuppression,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Deadband filter with maximum suppression time.</div>
 </td>
 </tr>
@@ -209,14 +225,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="type parameter in FileWriterCycleConfig">T</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#getTuplePredicate--">getTuplePredicate</a></span>()</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="type parameter in FileWriterFlushConfig">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterFlushConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#getTuplePredicate--">getTuplePredicate</a></span>()</code>
 <div class="block">Get the tuple predicate configuration value.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="type parameter in FileWriterFlushConfig">T</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileWriterFlushConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#getTuplePredicate--">getTuplePredicate</a></span>()</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="type parameter in FileWriterCycleConfig">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#getTuplePredicate--">getTuplePredicate</a></span>()</code>
 <div class="block">Get the tuple predicate configuration value.</div>
 </td>
 </tr>
@@ -247,17 +263,17 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
-<div class="block">same as <code>newConfig(0, 0, 0, tuplePredicate)</code></div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FileWriterFlushConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
 <div class="block">same as <code>newConfig(0, 0, tuplePredicate)</code></div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">same as <code>newConfig(0, 0, 0, tuplePredicate)</code></div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -447,12 +463,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -482,6 +497,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/class-use/Supplier.html b/site/javadoc/latest/org/apache/edgent/function/class-use/Supplier.html
index 3f9d6fe..18b94eb 100644
--- a/site/javadoc/latest/org/apache/edgent/function/class-use/Supplier.html
+++ b/site/javadoc/latest/org/apache/edgent/function/class-use/Supplier.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.function.Supplier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.Supplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.function.Supplier (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.function.Supplier (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -83,109 +84,99 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
 <td class="colLast">
 <div class="block">JSON analytics using Apache Commons Math.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
 <td class="colLast">
 <div class="block">Statistical algorithms using Apache Commons Math.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.command">org.apache.edgent.connectors.command</a></td>
 <td class="colLast">
 <div class="block">Command / OS Process connector.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
 <td class="colLast">
 <div class="block">File stream connector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.http">org.apache.edgent.connectors.http</a></td>
 <td class="colLast">
 <div class="block">HTTP stream connector.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
 <td class="colLast">
 <div class="block">JDBC based database stream connector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
 <td class="colLast">
 <div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.serial">org.apache.edgent.connectors.serial</a></td>
 <td class="colLast">
 <div class="block">Serial port connector API.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.function">org.apache.edgent.function</a></td>
 <td class="colLast">
 <div class="block">Functional interfaces for lambda expressions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
 <td class="colLast">
 <div class="block">Low-level graph building API.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
 <td class="colLast">
 <div class="block">Oplets that process tuples using functions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
 <td class="colLast">
 <div class="block">Direct execution of a streaming topology.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors">org.apache.edgent.samples.connectors</a></td>
-<td class="colLast">
-<div class="block">General support for connector samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.utils.sensor">org.apache.edgent.samples.utils.sensor</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
 <td class="colLast">
@@ -215,6 +206,26 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></span></code>
+<div class="block">Univariate aggregate for a tuple.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
 <!--   -->
 </a>
@@ -254,10 +265,22 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></span></code>
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></span></code>
 <div class="block">Statistic implementations.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></span></code>
+<div class="block">Statistic implementations.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
@@ -273,14 +296,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.List&lt;java.lang.String&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandReaderList-java.lang.ProcessBuilder-">commandReaderList</a></span>(java.lang.ProcessBuilder&nbsp;cmd)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandReaderList-java.lang.ProcessBuilder-">commandReaderList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Create a <code>Supplier&lt;List&lt;String&gt;&gt;</code> to ingest a command's output.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#endlessCommandReader-java.lang.ProcessBuilder-">endlessCommandReader</a></span>(java.lang.ProcessBuilder&nbsp;cmd)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#endlessCommandReader-java.lang.ProcessBuilder-">endlessCommandReader</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Create an endless <code>Supplier&lt;String&gt;</code> for ingesting a long running command's output.</div>
 </td>
 </tr>
@@ -299,43 +322,43 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;directory)</code>
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory)</code>
 <div class="block">Declare a stream containing the absolute pathname of 
  newly created file names from watching <code>directory</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-java.util.Comparator-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;directory,
-                java.util.Comparator&lt;java.io.File&gt;&nbsp;comparator)</code>
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&gt;&nbsp;comparator)</code>
 <div class="block">Declare a stream containing the absolute pathname of 
  newly created file names from watching <code>directory</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;contents,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;basePathname)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname)</code>
 <div class="block">Write the contents of a stream to files.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;contents,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;basePathname,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;java.lang.String&gt;&gt;&nbsp;policy)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</code>
 <div class="block">Write the contents of a stream to files subject to the control
  of a file writer policy.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;contents,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;basePathname,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;java.lang.String&gt;&gt;&nbsp;policy)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</code>
 <div class="block">Write the contents of a stream to files subject to the control
  of a file writer policy.</div>
 </td>
@@ -356,15 +379,15 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static org.apache.http.impl.client.CloseableHttpClient</code></td>
-<td class="colLast"><span class="typeNameLabel">HttpClients.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">basic</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;user,
-     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;password)</code>
+<td class="colLast"><span class="typeNameLabel">HttpClients.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">basic</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;user,
+     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;password)</code>
 <div class="block">Method to create a basic authentication HTTP client.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static org.apache.http.impl.client.CloseableHttpClient</code></td>
-<td class="colLast"><span class="typeNameLabel">HttpClients.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">basic</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;user,
-     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;password)</code>
+<td class="colLast"><span class="typeNameLabel">HttpClients.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">basic</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;user,
+     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;password)</code>
 <div class="block">Method to create a basic authentication HTTP client.</div>
 </td>
 </tr>
@@ -372,7 +395,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">deleteJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</code>
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
 <div class="block">Make an HTTP DELETE request with JsonObject.</div>
 </td>
 </tr>
@@ -380,7 +403,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">getJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
 <div class="block">Make an HTTP GET request with JsonObject.</div>
 </td>
 </tr>
@@ -388,7 +411,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP POST request with JsonObject.</div>
 </td>
@@ -397,7 +420,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP PUT request with JsonObject.</div>
 </td>
@@ -406,8 +429,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request for each tuple on a stream.</div>
 </td>
@@ -416,8 +439,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request with body for each tuple.<br></div>
@@ -440,7 +463,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
 </td>
@@ -448,7 +471,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement and
@@ -470,14 +493,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#KafkaConsumer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaConsumer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.Map&lt;java.lang.String,java.lang.Object&gt;&gt;&nbsp;config)</code>
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
 <div class="block">Create a consumer connector for subscribing to Kafka topics
  and creating tuples from the received messages.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#KafkaProducer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaProducer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.Map&lt;java.lang.String,java.lang.Object&gt;&gt;&nbsp;config)</code>
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
 <div class="block">Create a producer connector for publishing tuples to Kafka topics.s</div>
 </td>
 </tr>
@@ -536,7 +559,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.function.Supplier-">Jsr356WebSocketClient</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                     java.util.Properties&nbsp;config,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config,
                      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;javax.websocket.WebSocketContainer&gt;&nbsp;containerFn)</code>
 <div class="block">Create a new Web Socket Client connector.</div>
 </td>
@@ -634,11 +657,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#SupplierPeriodicSource-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Supplier-">SupplierPeriodicSource</a></span>(long&nbsp;period,
-                      java.util.concurrent.TimeUnit&nbsp;unit,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
                       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;data)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#SupplierSource-org.apache.edgent.function.Supplier-">SupplierSource</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&gt;&nbsp;data)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#SupplierSource-org.apache.edgent.function.Supplier-">SupplierSource</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&gt;&nbsp;data)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -661,89 +684,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#traceStream-org.apache.edgent.topology.TStream-java.lang.String-org.apache.edgent.function.Supplier-">traceStream</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-           java.lang.String&nbsp;sensorId,
-           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;label)</code>
-<div class="block">Trace a stream to System.out if the sensor id's "label" has been configured
- to enable tracing.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#traceStream-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">traceStream</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;label)</code>
-<div class="block">Trace a stream to System.out if the "label" has been configured
- to enable tracing.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a> that implement <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors">MsgSupplier</a></span></code>
-<div class="block">A Supplier&lt;String&gt; for creating sample messages to publish.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.utils.sensor">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a> that implement <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor">HeartMonitorSensor</a></span></code>
-<div class="block">Streams of simulated heart monitor sensors.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></span></code>
-<div class="block">A simple simulated sensor.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedTemperatureSensor</a></span></code>
-<div class="block">A Simulated temperature sensor.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.edgent.topology">
 <!--   -->
 </a>
@@ -782,13 +722,13 @@
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
     long&nbsp;period,
-    java.util.concurrent.TimeUnit&nbsp;unit)</code>
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;T&gt;&gt;&nbsp;data)</code>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>
 <div class="block">Declare a new source stream that iterates over the return of
  <code>Iterable&lt;T&gt; get()</code> from <code>data</code>.</div>
 </td>
@@ -858,11 +798,11 @@
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
     long&nbsp;period,
-    java.util.concurrent.TimeUnit&nbsp;unit)</code>&nbsp;</td>
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;T&gt;&gt;&nbsp;data)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -892,8 +832,8 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -935,12 +875,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -970,6 +909,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/class-use/ToDoubleFunction.html b/site/javadoc/latest/org/apache/edgent/function/class-use/ToDoubleFunction.html
index 839c50c..02436a6 100644
--- a/site/javadoc/latest/org/apache/edgent/function/class-use/ToDoubleFunction.html
+++ b/site/javadoc/latest/org/apache/edgent/function/class-use/ToDoubleFunction.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.function.ToDoubleFunction (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.ToDoubleFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.function.ToDoubleFunction (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.function.ToDoubleFunction (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -83,6 +84,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
 <td class="colLast">
 <div class="block">JSON analytics using Apache Commons Math.</div>
@@ -93,6 +100,40 @@
 </li>
 <li class="blockList">
 <ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a> in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> with parameters of type <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</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 &lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+         <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+         <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+          <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+          <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
 <!--   -->
 </a>
@@ -107,17 +148,17 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-         java.lang.String&nbsp;resultPartitionProperty,
-         java.lang.String&nbsp;resultProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
          <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
          <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(java.lang.String&nbsp;resultPartitionProperty,
-             java.lang.String&nbsp;resultProperty,
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
              <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
              <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Create a Function that aggregates against a single <code>Numeric</code>
@@ -144,12 +185,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -179,6 +219,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/class-use/ToIntFunction.html b/site/javadoc/latest/org/apache/edgent/function/class-use/ToIntFunction.html
index 8831327..50eb807 100644
--- a/site/javadoc/latest/org/apache/edgent/function/class-use/ToIntFunction.html
+++ b/site/javadoc/latest/org/apache/edgent/function/class-use/ToIntFunction.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.function.ToIntFunction (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.ToIntFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.function.ToIntFunction (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.function.ToIntFunction (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -137,7 +138,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
      <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;splitter)</code>
 <div class="block">Split a stream's tuples among <code>n</code> streams as specified by
@@ -193,7 +194,7 @@
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         int&nbsp;width,
         <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -202,7 +203,7 @@
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallelMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
            int&nbsp;width,
            <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,java.lang.Integer,U&gt;&nbsp;mapper)</code>
+           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</code>
 <div class="block">Perform an analytic function on tuples in parallel.</div>
 </td>
 </tr>
@@ -221,7 +222,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
      <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;splitter)</code>&nbsp;</td>
 </tr>
@@ -245,12 +246,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -280,6 +280,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/class-use/UnaryOperator.html b/site/javadoc/latest/org/apache/edgent/function/class-use/UnaryOperator.html
index 8d35607..3f5656c 100644
--- a/site/javadoc/latest/org/apache/edgent/function/class-use/UnaryOperator.html
+++ b/site/javadoc/latest/org/apache/edgent/function/class-use/UnaryOperator.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.function.UnaryOperator (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.UnaryOperator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.function.UnaryOperator (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.function.UnaryOperator (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -142,7 +143,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP POST request with JsonObject.</div>
 </td>
@@ -151,7 +152,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP PUT request with JsonObject.</div>
 </td>
@@ -173,19 +174,19 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;deviceId,
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
@@ -205,32 +206,32 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
-<div class="block">Publish a stream's tuples as device events.</div>
-</td>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;fqDeviceId,
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
           <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</code>
 <div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
 </td>
@@ -252,9 +253,11 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -338,12 +341,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -373,6 +375,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/class-use/WrappedFunction.html b/site/javadoc/latest/org/apache/edgent/function/class-use/WrappedFunction.html
index 412154e..af90918 100644
--- a/site/javadoc/latest/org/apache/edgent/function/class-use/WrappedFunction.html
+++ b/site/javadoc/latest/org/apache/edgent/function/class-use/WrappedFunction.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.function.WrappedFunction (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.function.WrappedFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.function.WrappedFunction (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.function.WrappedFunction (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -126,12 +127,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/package-frame.html b/site/javadoc/latest/org/apache/edgent/function/package-frame.html
index bebb09c..8804c09 100644
--- a/site/javadoc/latest/org/apache/edgent/function/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/function/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.function (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.function (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/function/package-summary.html b/site/javadoc/latest/org/apache/edgent/function/package-summary.html
index 8bca873..c97c053 100644
--- a/site/javadoc/latest/org/apache/edgent/function/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/function/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.function (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.function (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.function (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.function (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -191,7 +192,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -221,6 +221,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/package-tree.html b/site/javadoc/latest/org/apache/edgent/function/package-tree.html
index 122669f..0a53a68 100644
--- a/site/javadoc/latest/org/apache/edgent/function/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/function/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.function Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.function Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.function Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.function Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,16 +80,16 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function"><span class="typeNameLink">Functions</span></a></li>
-<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">WrappedFunction</span></a>&lt;F&gt; (implements java.io.Serializable)</li>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">WrappedFunction</span></a>&lt;F&gt; (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 </ul>
 </li>
 </ul>
 <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
 <ul>
-<li type="circle">java.io.Serializable
+<li type="circle">java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
 <ul>
 <li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">BiConsumer</span></a>&lt;T,U&gt;</li>
 <li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">BiFunction</span></a>&lt;T,U,R&gt;</li>
@@ -124,7 +125,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -154,6 +154,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/function/package-use.html b/site/javadoc/latest/org/apache/edgent/function/package-use.html
index 4dd39f5..471c302 100644
--- a/site/javadoc/latest/org/apache/edgent/function/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/function/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.function (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.function (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.function (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.function (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -83,195 +84,185 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
 <td class="colLast">
 <div class="block">JSON analytics using Apache Commons Math.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
 <td class="colLast">
 <div class="block">Statistical algorithms using Apache Commons Math.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors</a></td>
 <td class="colLast">
 <div class="block">Analytics focused on handling sensor data.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.command">org.apache.edgent.connectors.command</a></td>
 <td class="colLast">
 <div class="block">Command / OS Process connector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
 <td class="colLast">
 <div class="block">File stream connector.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.http">org.apache.edgent.connectors.http</a></td>
 <td class="colLast">
 <div class="block">HTTP stream connector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.iot">org.apache.edgent.connectors.iot</a></td>
 <td class="colLast">
 <div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
 <td class="colLast">
 <div class="block">IBM Watson IoT Platform stream connector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
 <td class="colLast">
 <div class="block">JDBC based database stream connector.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
 <td class="colLast">
 <div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
 <td class="colLast">
 <div class="block">An MQTT based IotDevice connector.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub.service">org.apache.edgent.connectors.pubsub.service</a></td>
 <td class="colLast">
 <div class="block">Publish subscribe service.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.serial">org.apache.edgent.connectors.serial</a></td>
 <td class="colLast">
 <div class="block">Serial port connector API.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.execution.services">org.apache.edgent.execution.services</a></td>
 <td class="colLast">
 <div class="block">Execution services.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.function">org.apache.edgent.function</a></td>
 <td class="colLast">
 <div class="block">Functional interfaces for lambda expressions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
 <td class="colLast">
 <div class="block">Low-level graph building API.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.oplet">org.apache.edgent.oplet</a></td>
 <td class="colLast">
 <div class="block">Oplets API.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
 <td class="colLast">
 <div class="block">Core primitive oplets.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
 <td class="colLast">
 <div class="block">Oplets that process tuples using functions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
 <td class="colLast">
 <div class="block">Oplets that control the flow of tuples.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
 <td class="colLast">
 <div class="block">Oplets using windows.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
 <td class="colLast">
 <div class="block">Direct execution of a streaming topology.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
 <td class="colLast">
 <div class="block">Iot provider that allows multiple applications to
  share an <code>IotDevice</code>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
 <td class="colLast">
 <div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
  so that it can be executed in a simple Java application.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors">org.apache.edgent.samples.connectors</a></td>
-<td class="colLast">
-<div class="block">General support for connector samples.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.utils.sensor">org.apache.edgent.samples.utils.sensor</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
 <td class="colLast">
@@ -329,6 +320,33 @@
 </tbody>
 </table>
 </li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.analytics.math3">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.analytics.math3">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/ToDoubleFunction.html#org.apache.edgent.analytics.math3">ToDoubleFunction</a>
+<div class="block">Function that returns a double primitive.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
 <!--   -->
 </a>
@@ -1024,72 +1042,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.samples.apps">BiFunction</a>
-<div class="block">Function that takes two arguments and returns a value.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.samples.apps">Function</a>
-<div class="block">Single argument function.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.samples.apps">Supplier</a>
-<div class="block">Function that supplies a value.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.samples.connectors">Function</a>
-<div class="block">Single argument function.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.samples.connectors">Supplier</a>
-<div class="block">Function that supplies a value.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.utils.sensor">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.samples.utils.sensor">Supplier</a>
-<div class="block">Function that supplies a value.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.edgent.streamscope">
 <!--   -->
 </a>
@@ -1385,7 +1337,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -1415,6 +1366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/Connector.html b/site/javadoc/latest/org/apache/edgent/graph/Connector.html
index 914a488..6a62ffd 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/Connector.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/Connector.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>Connector (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Connector (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Connector (Edgent v1.1.0)";
+            parent.document.title="Connector (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -158,7 +159,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#alias-java.lang.String-">alias</a></span>(java.lang.String&nbsp;alias)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#alias-java.lang.String-">alias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
 <div class="block">Set the alias for the connector.</div>
 </td>
 </tr>
@@ -170,13 +171,13 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#getAlias--">getAlias</a></span>()</code>
 <div class="block">Returns the alias for the connector if any.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#getTags--">getTags</a></span>()</code>
 <div class="block">Returns the set of tags associated with this connector.</div>
 </td>
@@ -202,7 +203,7 @@
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#tag-java.lang.String...-">tag</a></span>(java.lang.String...&nbsp;values)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#tag-java.lang.String...-">tag</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</code>
 <div class="block">Adds the specified tags to the connector.</div>
 </td>
 </tr>
@@ -297,7 +298,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>tag</h4>
-<pre>void&nbsp;tag(java.lang.String...&nbsp;values)</pre>
+<pre>void&nbsp;tag(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</pre>
 <div class="block">Adds the specified tags to the connector.  Adding the same tag 
  multiple times will not change the result beyond the initial 
  application. An unconnected connector can be tagged.</div>
@@ -313,7 +314,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getTags</h4>
-<pre>java.util.Set&lt;java.lang.String&gt;&nbsp;getTags()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
 <div class="block">Returns the set of tags associated with this connector.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -327,7 +328,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>alias</h4>
-<pre>void&nbsp;alias(java.lang.String&nbsp;alias)</pre>
+<pre>void&nbsp;alias(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</pre>
 <div class="block">Set the alias for the connector.
  <p>
  The alias must be unique within the topology.
@@ -341,7 +342,7 @@
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>alias</code> - the alias</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalStateException</code> - if the an alias has already been set</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the an alias has already been set</dd>
 </dl>
 </li>
 </ul>
@@ -351,7 +352,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getAlias</h4>
-<pre>java.lang.String&nbsp;getAlias()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
 <div class="block">Returns the alias for the connector if any.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -384,7 +385,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -429,6 +429,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/Edge.html b/site/javadoc/latest/org/apache/edgent/graph/Edge.html
index 4947f34..b7e72f3 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/Edge.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/Edge.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>Edge (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Edge (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Edge (Edgent v1.1.0)";
+            parent.document.title="Edge (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -126,7 +127,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Edge.html#getAlias--">getAlias</a></span>()</code>
 <div class="block">Returns the alias associated with this edge.</div>
 </td>
@@ -144,7 +145,7 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Edge.html#getTags--">getTags</a></span>()</code>
 <div class="block">Returns the set of tags associated with this edge.</div>
 </td>
@@ -238,7 +239,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getTags</h4>
-<pre>java.util.Set&lt;java.lang.String&gt;&nbsp;getTags()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
 <div class="block">Returns the set of tags associated with this edge.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -252,7 +253,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getAlias</h4>
-<pre>java.lang.String&nbsp;getAlias()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
 <div class="block">Returns the alias associated with this edge.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -285,7 +286,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -330,6 +330,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/Graph.html b/site/javadoc/latest/org/apache/edgent/graph/Graph.html
index 2283683..b8bf8e9 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/Graph.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/Graph.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>Graph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Graph (Edgent v1.1.0)";
+            parent.document.title="Graph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -134,13 +135,13 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Graph.html#getEdges--">getEdges</a></span>()</code>
 <div class="block">Return an unmodifiable view of all edges in this graph.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Graph.html#getVertices--">getVertices</a></span>()</code>
 <div class="block">Return an unmodifiable view of all vertices in this graph.</div>
 </td>
@@ -298,7 +299,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getVertices</h4>
-<pre>java.util.Collection&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;&nbsp;getVertices()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;&nbsp;getVertices()</pre>
 <div class="block">Return an unmodifiable view of all vertices in this graph.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -312,7 +313,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getEdges</h4>
-<pre>java.util.Collection&lt;<a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;&nbsp;getEdges()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;&nbsp;getEdges()</pre>
 <div class="block">Return an unmodifiable view of all edges in this graph.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -345,7 +346,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -390,6 +390,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/Vertex.html b/site/javadoc/latest/org/apache/edgent/graph/Vertex.html
index 0215cf8..7eec178 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/Vertex.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/Vertex.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>Vertex (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Vertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Vertex (Edgent v1.1.0)";
+            parent.document.title="Vertex (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -143,7 +144,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Vertex.html#getConnectors--">getConnectors</a></span>()</code>
 <div class="block">Get the vertice's collection of output connectors.</div>
 </td>
@@ -209,7 +210,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnectors</h4>
-<pre>java.util.List&lt;? extends <a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;&gt;&nbsp;getConnectors()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;&gt;&nbsp;getConnectors()</pre>
 <div class="block">Get the vertice's collection of output connectors.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -256,7 +257,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -301,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/class-use/Connector.html b/site/javadoc/latest/org/apache/edgent/graph/class-use/Connector.html
index afdb5b8..74f2a11 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/class-use/Connector.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/class-use/Connector.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.graph.Connector (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.graph.Connector (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.graph.Connector (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.graph.Connector (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -150,7 +151,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Vertex.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Vertex.html#getConnectors--">getConnectors</a></span>()</code>
 <div class="block">Get the vertice's collection of output connectors.</div>
 </td>
@@ -274,12 +275,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -309,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/class-use/Edge.html b/site/javadoc/latest/org/apache/edgent/graph/class-use/Edge.html
index 10d9a63..3f54501 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/class-use/Edge.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/class-use/Edge.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.graph.Edge (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.graph.Edge (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.graph.Edge (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.graph.Edge (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -117,7 +118,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#getEdges--">getEdges</a></span>()</code>
 <div class="block">Return an unmodifiable view of all edges in this graph.</div>
 </td>
@@ -158,7 +159,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DirectGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getEdges--">getEdges</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -176,7 +177,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#EdgeType-org.apache.edgent.graph.Edge-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">EdgeType</a></span>(<a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&nbsp;value,
-        org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;java.lang.String&gt;&nbsp;ids)</code>&nbsp;</td>
+        org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -198,12 +199,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -233,6 +233,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/class-use/Graph.html b/site/javadoc/latest/org/apache/edgent/graph/class-use/Graph.html
index 04887d1..2228769 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/class-use/Graph.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/class-use/Graph.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.graph.Graph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.graph.Graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.graph.Graph (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.graph.Graph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -141,14 +142,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Connector.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Connector.html#graph--">graph</a></span>()</code>
-<div class="block">Gets the <code>Graph</code> for this <code>Connector</code>.</div>
+<td class="colLast"><span class="typeNameLabel">Vertex.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Vertex.html#graph--">graph</a></span>()</code>
+<div class="block">Get the vertice's <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Vertex.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Vertex.html#graph--">graph</a></span>()</code>
-<div class="block">Get the vertice's <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+<td class="colLast"><span class="typeNameLabel">Connector.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Connector.html#graph--">graph</a></span>()</code>
+<div class="block">Gets the <code>Graph</code> for this <code>Connector</code>.</div>
 </td>
 </tr>
 </tbody>
@@ -207,8 +208,8 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
 <td class="colLast"><span class="typeNameLabel">Executable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#createJob-org.apache.edgent.graph.Graph-java.lang.String-java.lang.String-">createJob</a></span>(<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph,
-         java.lang.String&nbsp;topologyName,
-         java.lang.String&nbsp;jobName)</code>&nbsp;</td>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -251,7 +252,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#GraphType-org.apache.edgent.graph.Graph-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">GraphType</a></span>(<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;g,
-         org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;java.lang.String&gt;&nbsp;ids)</code>
+         org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>
 <div class="block">Create an instance of <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a> using the specified 
  <code>IdMapper</code> to generate unique object identifiers.</div>
 </td>
@@ -314,12 +315,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -349,6 +349,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/class-use/Vertex.html b/site/javadoc/latest/org/apache/edgent/graph/class-use/Vertex.html
index 96c375f..0e06f94 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/class-use/Vertex.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/class-use/Vertex.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.graph.Vertex (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.graph.Vertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.graph.Vertex (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.graph.Vertex (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -146,7 +147,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#getVertices--">getVertices</a></span>()</code>
 <div class="block">Return an unmodifiable view of all vertices in this graph.</div>
 </td>
@@ -288,7 +289,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DirectGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getVertices--">getVertices</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -306,7 +307,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html#VertexType-org.apache.edgent.graph.Vertex-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">VertexType</a></span>(<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&nbsp;value,
-          org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;java.lang.String&gt;&nbsp;ids)</code>&nbsp;</td>
+          org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -328,12 +329,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -363,6 +363,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/package-frame.html b/site/javadoc/latest/org/apache/edgent/graph/package-frame.html
index 1c4146a..6fb5ab6 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.graph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/package-summary.html b/site/javadoc/latest/org/apache/edgent/graph/package-summary.html
index 68ddc41..4d9a586 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.graph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.graph (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.graph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -138,7 +139,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -168,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/package-tree.html b/site/javadoc/latest/org/apache/edgent/graph/package-tree.html
index 62fe8ae..6b5a44c 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.graph Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.graph Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -103,7 +104,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -133,6 +133,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/package-use.html b/site/javadoc/latest/org/apache/edgent/graph/package-use.html
index e6804c9..492dfd5 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.graph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.graph (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.graph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -337,7 +338,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/AbstractGraph.html b/site/javadoc/latest/org/apache/edgent/graph/spi/AbstractGraph.html
index 90f5180..4bc0d5f 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/AbstractGraph.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/AbstractGraph.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>AbstractGraph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractGraph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractGraph (Edgent v1.1.0)";
+            parent.document.title="AbstractGraph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.graph.spi.AbstractGraph&lt;G&gt;</li>
@@ -122,7 +123,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">AbstractGraph&lt;G&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></pre>
 <div class="block">A skeletal implementation of the <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> interface,
  to minimize the effort required to implement the interface.</div>
@@ -191,8 +192,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.graph.Graph">
@@ -338,7 +339,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -383,6 +383,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/AbstractVertex.html b/site/javadoc/latest/org/apache/edgent/graph/spi/AbstractVertex.html
index d023d3b..d6cf863 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/AbstractVertex.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/AbstractVertex.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>AbstractVertex (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractVertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractVertex (Edgent v1.1.0)";
+            parent.document.title="AbstractVertex (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.graph.spi.AbstractVertex&lt;OP,I,O&gt;</li>
@@ -118,7 +119,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">AbstractVertex&lt;OP extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;OP,I,O&gt;</pre>
 <div class="block">Placeholder for a skeletal implementation of the <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> interface,
  to minimize the effort required to implement the interface.</div>
@@ -155,8 +156,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.graph.Vertex">
@@ -213,7 +214,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -258,6 +258,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/DirectEdge.html b/site/javadoc/latest/org/apache/edgent/graph/spi/DirectEdge.html
index 8b9cc86..8800a1a 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/DirectEdge.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/DirectEdge.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>DirectEdge (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DirectEdge (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DirectEdge (Edgent v1.1.0)";
+            parent.document.title="DirectEdge (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.graph.spi.DirectEdge</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">DirectEdge</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></pre>
 <div class="block">This class provides a simple implementation of the <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><code>Edge</code></a> interface in
  the context of a <code>DirectProvider</code>.</div>
@@ -163,7 +164,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#getAlias--">getAlias</a></span>()</code>
 <div class="block">Returns the alias associated with this edge.</div>
 </td>
@@ -181,7 +182,7 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#getTags--">getTags</a></span>()</code>
 <div class="block">Returns the set of tags associated with this edge.</div>
 </td>
@@ -203,8 +204,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -325,7 +326,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getTags</h4>
-<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getTags()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html#getTags--">Edge</a></code></span></div>
 <div class="block">Returns the set of tags associated with this edge.</div>
 <dl>
@@ -342,7 +343,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getAlias</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getAlias()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html#getAlias--">Edge</a></code></span></div>
 <div class="block">Returns the alias associated with this edge.</div>
 <dl>
@@ -378,7 +379,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -423,6 +423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/AbstractGraph.html b/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/AbstractGraph.html
index 059d85f..0d2f6f0 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/AbstractGraph.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/AbstractGraph.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.graph.spi.AbstractGraph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.graph.spi.AbstractGraph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.graph.spi.AbstractGraph (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.graph.spi.AbstractGraph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -129,12 +130,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/AbstractVertex.html b/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/AbstractVertex.html
index 7a0f210..9f46e34 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/AbstractVertex.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/AbstractVertex.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.graph.spi.AbstractVertex (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.graph.spi.AbstractVertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.graph.spi.AbstractVertex (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.graph.spi.AbstractVertex (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -126,12 +127,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/DirectEdge.html b/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/DirectEdge.html
index 64079d4..d2e1e7b 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/DirectEdge.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/class-use/DirectEdge.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.graph.spi.DirectEdge (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.graph.spi.DirectEdge (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.graph.spi.DirectEdge (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.graph.spi.DirectEdge (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/AbstractGraphJob.html b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/AbstractGraphJob.html
index ecc9cdb..18f5a97 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/AbstractGraphJob.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/AbstractGraphJob.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>AbstractGraphJob (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractGraphJob (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractGraphJob (Edgent v1.1.0)";
+            parent.document.title="AbstractGraphJob (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.graph.spi.execution.AbstractGraphJob</li>
@@ -118,7 +119,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">AbstractGraphJob</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></pre>
 <div class="block">Placeholder for a skeletal implementation of the <a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface,
  to minimize the effort required to implement the interface.</div>
@@ -191,7 +192,7 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getLastError--">getLastError</a></span>()</code>
 <div class="block">Returns the last error message caught by the current job execution.</div>
 </td>
@@ -213,7 +214,7 @@
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setLastError-java.lang.String-">setLastError</a></span>(java.lang.String&nbsp;value)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setLastError-java.lang.String-">setLastError</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
@@ -230,8 +231,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.execution.Job">
@@ -347,7 +348,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastError</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getLastError()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLastError()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/Job.html#getLastError--">Job</a></code></span></div>
 <div class="block">Returns the last error message caught by the current job execution.</div>
 <dl>
@@ -401,7 +402,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setLastError</h4>
-<pre>protected&nbsp;void&nbsp;setLastError(java.lang.String&nbsp;value)</pre>
+<pre>protected&nbsp;void&nbsp;setLastError(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
 </li>
 </ul>
 </li>
@@ -429,7 +430,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -474,6 +474,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/class-use/AbstractGraphJob.html b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/class-use/AbstractGraphJob.html
index 755ea44..7f30c42 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/class-use/AbstractGraphJob.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/class-use/AbstractGraphJob.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.graph.spi.execution.AbstractGraphJob (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.graph.spi.execution.AbstractGraphJob (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.graph.spi.execution.AbstractGraphJob (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.graph.spi.execution.AbstractGraphJob (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -131,12 +132,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-frame.html b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-frame.html
index d707147..6e39be9 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.graph.spi.execution (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-summary.html b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-summary.html
index 0e1b986..3f992d2 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.graph.spi.execution (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.graph.spi.execution (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.graph.spi.execution (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -44,7 +45,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/edgent/graph/spi/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/javax/websocket/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/package-summary.html" target="_top">Frames</a></li>
@@ -112,12 +113,11 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/edgent/graph/spi/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/javax/websocket/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/package-summary.html" target="_top">Frames</a></li>
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-tree.html b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-tree.html
index 75ab9cc..dbe6d06 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.graph.spi.execution Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi.execution Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.graph.spi.execution Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.graph.spi.execution Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -44,7 +45,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/edgent/graph/spi/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/javax/websocket/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/package-tree.html" target="_top">Frames</a></li>
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.graph.spi.execution.<a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution"><span class="typeNameLink">AbstractGraphJob</span></a> (implements org.apache.edgent.execution.<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>)</li>
 </ul>
@@ -104,12 +105,11 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/edgent/graph/spi/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/javax/websocket/package-tree.html">Next</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/package-tree.html" target="_top">Frames</a></li>
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-use.html b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-use.html
index 5867341..2506d74 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/execution/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.graph.spi.execution (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.graph.spi.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.graph.spi.execution (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.graph.spi.execution (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -130,7 +131,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/package-frame.html b/site/javadoc/latest/org/apache/edgent/graph/spi/package-frame.html
index 023a68f..4df6fe1 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.graph.spi (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/package-summary.html b/site/javadoc/latest/org/apache/edgent/graph/spi/package-summary.html
index 565dcb7..b468cdd 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.graph.spi (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.graph.spi (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.graph.spi (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -126,7 +127,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/package-tree.html b/site/javadoc/latest/org/apache/edgent/graph/spi/package-tree.html
index 75f3d61..af70cd0 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.graph.spi Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.graph.spi Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.graph.spi Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.graph.spi.<a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">AbstractGraph</span></a>&lt;G&gt; (implements org.apache.edgent.graph.<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>)</li>
 <li type="circle">org.apache.edgent.graph.spi.<a href="../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">AbstractVertex</span></a>&lt;OP,I,O&gt; (implements org.apache.edgent.graph.<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;N,C,P&gt;)</li>
@@ -106,7 +107,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -136,6 +136,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/graph/spi/package-use.html b/site/javadoc/latest/org/apache/edgent/graph/spi/package-use.html
index 37807d1..6835e15 100644
--- a/site/javadoc/latest/org/apache/edgent/graph/spi/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/graph/spi/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.graph.spi (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.graph.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.graph.spi (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.graph.spi (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -133,7 +134,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html
deleted file mode 100644
index 3d591b0..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html
+++ /dev/null
@@ -1,335 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:07 EST 2017 -->
-<title>EdgentSslContainerProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EdgentSslContainerProvider (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":6,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EdgentSslContainerProvider.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>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" target="_top">Frames</a></li>
-<li><a href="EdgentSslContainerProvider.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.javax.websocket</div>
-<h2 title="Class EdgentSslContainerProvider" class="title">Class EdgentSslContainerProvider</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.javax.websocket.EdgentSslContainerProvider</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl">EdgentSslContainerProviderImpl</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public abstract class <span class="typeNameLabel">EdgentSslContainerProvider</span>
-extends java.lang.Object</pre>
-<div class="block">A <code>WebSocketContainer</code> provider for dealing with javax.websocket
- SSL issues.
- <ul>
- <li>JSR356 lacks API for Client-side SSL configuration</li>
- <li>Jetty's <code>javax.websocket.ContainerProvider</code> ignores the
-     <code>javax.net.ssl.keyStore</code> system property.
-     It correctly handles <code>javax.net.ssl.trustStore</code></li>
- </ul>
- see https://github.com/eclipse/jetty.project/issues/155
- <p>
- The net is that Jetty's <code>javax.websocket.ContainerProvider</code>
- works fine for the "ws" protocol and for "wss" as long as
- one doesn't need to <b>programatically</b> specify a trustStore path
- and one doesn't to specify a keyStore for SSL client authentication support.
- <p>
- A <code>EdgentSslContainerProvider</code> implementation is responsible for
- working around those limitations.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html#EdgentSslContainerProvider--">EdgentSslContainerProvider</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>protected abstract javax.websocket.WebSocketContainer</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html#getSslContainer-java.util.Properties-">getSslContainer</a></span>(java.util.Properties&nbsp;config)</code>
-<div class="block">Create a WebSocketContainer setup for SSL.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static javax.websocket.WebSocketContainer</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html#getSslWebSocketContainer-java.util.Properties-">getSslWebSocketContainer</a></span>(java.util.Properties&nbsp;config)</code>
-<div class="block">Create a WebSocketContainer setup for SSL.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="EdgentSslContainerProvider--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>EdgentSslContainerProvider</h4>
-<pre>public&nbsp;EdgentSslContainerProvider()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getSslWebSocketContainer-java.util.Properties-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getSslWebSocketContainer</h4>
-<pre>public static&nbsp;javax.websocket.WebSocketContainer&nbsp;getSslWebSocketContainer(java.util.Properties&nbsp;config)
-                                                                   throws java.lang.RuntimeException</pre>
-<div class="block">Create a WebSocketContainer setup for SSL.
- <p>
- The Java <code>ServiceLoader</code> is used to locate an implementation
- of <code>org.apache.edgent.javax.websocket.Edgent.SslContainerProvider</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>config</code> - SSL configuration info as described by
- <code>org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient</code>.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the WebSocketContainer</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.RuntimeException</code> - upon failure</dd>
-</dl>
-</li>
-</ul>
-<a name="getSslContainer-java.util.Properties-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getSslContainer</h4>
-<pre>protected abstract&nbsp;javax.websocket.WebSocketContainer&nbsp;getSslContainer(java.util.Properties&nbsp;config)</pre>
-<div class="block">Create a WebSocketContainer setup for SSL.
- To be implemented by a javax.websocket client provider.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>config</code> - SSL configuration info.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the WebSocketContainer</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.RuntimeException</code> - if it fails</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EdgentSslContainerProvider.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" target="_top">Frames</a></li>
-<li><a href="EdgentSslContainerProvider.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/class-use/EdgentSslContainerProvider.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/class-use/EdgentSslContainerProvider.html
deleted file mode 100644
index 8a043af..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/class-use/EdgentSslContainerProvider.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.javax.websocket.EdgentSslContainerProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.javax.websocket.EdgentSslContainerProvider (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/javax/websocket/class-use/EdgentSslContainerProvider.html" target="_top">Frames</a></li>
-<li><a href="EdgentSslContainerProvider.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.javax.websocket.EdgentSslContainerProvider" class="title">Uses of Class<br>org.apache.edgent.javax.websocket.EdgentSslContainerProvider</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">EdgentSslContainerProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.javax.websocket.impl">org.apache.edgent.javax.websocket.impl</a></td>
-<td class="colLast">
-<div class="block">Support for working around JSR356 limitations for SSL client container/sockets.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.javax.websocket.impl">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">EdgentSslContainerProvider</a> in <a href="../../../../../../org/apache/edgent/javax/websocket/impl/package-summary.html">org.apache.edgent.javax.websocket.impl</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">EdgentSslContainerProvider</a> in <a href="../../../../../../org/apache/edgent/javax/websocket/impl/package-summary.html">org.apache.edgent.javax.websocket.impl</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl">EdgentSslContainerProviderImpl</a></span></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/javax/websocket/class-use/EdgentSslContainerProvider.html" target="_top">Frames</a></li>
-<li><a href="EdgentSslContainerProvider.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html
deleted file mode 100644
index ea71a60..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html
+++ /dev/null
@@ -1,298 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>EdgentSslContainerProviderImpl (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EdgentSslContainerProviderImpl (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EdgentSslContainerProviderImpl.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>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" target="_top">Frames</a></li>
-<li><a href="EdgentSslContainerProviderImpl.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.javax.websocket.impl</div>
-<h2 title="Class EdgentSslContainerProviderImpl" class="title">Class EdgentSslContainerProviderImpl</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">org.apache.edgent.javax.websocket.EdgentSslContainerProvider</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.javax.websocket.impl.EdgentSslContainerProviderImpl</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">EdgentSslContainerProviderImpl</span>
-extends <a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">EdgentSslContainerProvider</a></pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html#EdgentSslContainerProviderImpl--">EdgentSslContainerProviderImpl</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>javax.websocket.WebSocketContainer</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html#getSslContainer-java.util.Properties-">getSslContainer</a></span>(java.util.Properties&nbsp;config)</code>
-<div class="block">Create a WebSocketContainer setup for SSL.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.javax.websocket.EdgentSslContainerProvider">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.edgent.javax.websocket.<a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">EdgentSslContainerProvider</a></h3>
-<code><a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html#getSslWebSocketContainer-java.util.Properties-">getSslWebSocketContainer</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="EdgentSslContainerProviderImpl--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>EdgentSslContainerProviderImpl</h4>
-<pre>public&nbsp;EdgentSslContainerProviderImpl()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getSslContainer-java.util.Properties-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getSslContainer</h4>
-<pre>public&nbsp;javax.websocket.WebSocketContainer&nbsp;getSslContainer(java.util.Properties&nbsp;config)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html#getSslContainer-java.util.Properties-">EdgentSslContainerProvider</a></code></span></div>
-<div class="block">Create a WebSocketContainer setup for SSL.
- To be implemented by a javax.websocket client provider.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html#getSslContainer-java.util.Properties-">getSslContainer</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">EdgentSslContainerProvider</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>config</code> - SSL configuration info.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the WebSocketContainer</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EdgentSslContainerProviderImpl.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" target="_top">Frames</a></li>
-<li><a href="EdgentSslContainerProviderImpl.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/class-use/EdgentSslContainerProviderImpl.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/class-use/EdgentSslContainerProviderImpl.html
deleted file mode 100644
index 011bd33..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/class-use/EdgentSslContainerProviderImpl.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.javax.websocket.impl.EdgentSslContainerProviderImpl (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.javax.websocket.impl.EdgentSslContainerProviderImpl (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/javax/websocket/impl/class-use/EdgentSslContainerProviderImpl.html" target="_top">Frames</a></li>
-<li><a href="EdgentSslContainerProviderImpl.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.javax.websocket.impl.EdgentSslContainerProviderImpl" class="title">Uses of Class<br>org.apache.edgent.javax.websocket.impl.EdgentSslContainerProviderImpl</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.javax.websocket.impl.EdgentSslContainerProviderImpl</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/javax/websocket/impl/class-use/EdgentSslContainerProviderImpl.html" target="_top">Frames</a></li>
-<li><a href="EdgentSslContainerProviderImpl.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-frame.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-frame.html
deleted file mode 100644
index 1e3f38e..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-frame.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.javax.websocket.impl (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/javax/websocket/impl/package-summary.html" target="classFrame">org.apache.edgent.javax.websocket.impl</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl" target="classFrame">EdgentSslContainerProviderImpl</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-summary.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-summary.html
deleted file mode 100644
index ccc3bad..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-summary.html
+++ /dev/null
@@ -1,153 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.javax.websocket.impl (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.javax.websocket.impl (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/javax/websocket/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/metrics/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/javax/websocket/impl/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.javax.websocket.impl</h1>
-<div class="docSummary">
-<div class="block">Support for working around JSR356 limitations for SSL client container/sockets.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl">EdgentSslContainerProviderImpl</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.javax.websocket.impl Description">Package org.apache.edgent.javax.websocket.impl Description</h2>
-<div class="block">Support for working around JSR356 limitations for SSL client container/sockets.</div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/javax/websocket/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/metrics/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/javax/websocket/impl/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-tree.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-tree.html
deleted file mode 100644
index 4248290..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-tree.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.javax.websocket.impl Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.javax.websocket.impl Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/javax/websocket/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/metrics/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/javax/websocket/impl/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.javax.websocket.impl</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.javax.websocket.<a href="../../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket"><span class="typeNameLink">EdgentSslContainerProvider</span></a>
-<ul>
-<li type="circle">org.apache.edgent.javax.websocket.impl.<a href="../../../../../../org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl"><span class="typeNameLink">EdgentSslContainerProviderImpl</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/javax/websocket/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/metrics/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/javax/websocket/impl/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-use.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-use.html
deleted file mode 100644
index 7a3cb05..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/impl/package-use.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.javax.websocket.impl (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.javax.websocket.impl (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/javax/websocket/impl/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.javax.websocket.impl" class="title">Uses of Package<br>org.apache.edgent.javax.websocket.impl</h1>
-</div>
-<div class="contentContainer">No usage of org.apache.edgent.javax.websocket.impl</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/javax/websocket/impl/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/package-frame.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/package-frame.html
deleted file mode 100644
index eee2292..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/package-frame.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.javax.websocket (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../org/apache/edgent/javax/websocket/package-summary.html" target="classFrame">org.apache.edgent.javax.websocket</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket" target="classFrame">EdgentSslContainerProvider</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/package-summary.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/package-summary.html
deleted file mode 100644
index ef3e766..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/package-summary.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>org.apache.edgent.javax.websocket (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.javax.websocket (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/javax/websocket/impl/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/javax/websocket/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.javax.websocket</h1>
-<div class="docSummary">
-<div class="block">Support for working around JSR356 limitations for SSL client container/sockets.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket">EdgentSslContainerProvider</a></td>
-<td class="colLast">
-<div class="block">A <code>WebSocketContainer</code> provider for dealing with javax.websocket
- SSL issues.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.javax.websocket Description">Package org.apache.edgent.javax.websocket Description</h2>
-<div class="block">Support for working around JSR356 limitations for SSL client container/sockets.</div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/javax/websocket/impl/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/javax/websocket/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/package-tree.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/package-tree.html
deleted file mode 100644
index 899dfaa..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/package-tree.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.javax.websocket Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.javax.websocket Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/graph/spi/execution/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/javax/websocket/impl/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/javax/websocket/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.javax.websocket</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.javax.websocket.<a href="../../../../../org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket"><span class="typeNameLink">EdgentSslContainerProvider</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/graph/spi/execution/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/javax/websocket/impl/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/javax/websocket/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/javax/websocket/package-use.html b/site/javadoc/latest/org/apache/edgent/javax/websocket/package-use.html
deleted file mode 100644
index 1b51395..0000000
--- a/site/javadoc/latest/org/apache/edgent/javax/websocket/package-use.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.javax.websocket (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.javax.websocket (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/javax/websocket/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.javax.websocket" class="title">Uses of Package<br>org.apache.edgent.javax.websocket</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../org/apache/edgent/javax/websocket/package-summary.html">org.apache.edgent.javax.websocket</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.javax.websocket.impl">org.apache.edgent.javax.websocket.impl</a></td>
-<td class="colLast">
-<div class="block">Support for working around JSR356 limitations for SSL client container/sockets.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.javax.websocket.impl">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/javax/websocket/package-summary.html">org.apache.edgent.javax.websocket</a> used by <a href="../../../../../org/apache/edgent/javax/websocket/impl/package-summary.html">org.apache.edgent.javax.websocket.impl</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/javax/websocket/class-use/EdgentSslContainerProvider.html#org.apache.edgent.javax.websocket.impl">EdgentSslContainerProvider</a>
-<div class="block">A <code>WebSocketContainer</code> provider for dealing with javax.websocket
- SSL issues.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/javax/websocket/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/MetricObjectNameFactory.html b/site/javadoc/latest/org/apache/edgent/metrics/MetricObjectNameFactory.html
index 9660792..a104dac 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/MetricObjectNameFactory.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/MetricObjectNameFactory.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>MetricObjectNameFactory (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MetricObjectNameFactory (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MetricObjectNameFactory (Edgent v1.1.0)";
+            parent.document.title="MetricObjectNameFactory (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.metrics.MetricObjectNameFactory</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MetricObjectNameFactory</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements com.codahale.metrics.ObjectNameFactory</pre>
 <div class="block">A factory of metric <code>ObjectName</code> instances. 
  <p>
@@ -140,43 +141,43 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_JOBID">KEY_JOBID</a></span></code>
 <div class="block">The <code>jobId</code> property key.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_NAME">KEY_NAME</a></span></code>
 <div class="block">The <code>name</code> property key.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_OPID">KEY_OPID</a></span></code>
 <div class="block">The <code>opId</code> (oplet id) property key.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_TYPE">KEY_TYPE</a></span></code>
 <div class="block">The <code>type</code> property key.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#PREFIX_JOBID">PREFIX_JOBID</a></span></code>
 <div class="block">The prefix of the job id as serialized in the metric name.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#PREFIX_OPID">PREFIX_OPID</a></span></code>
 <div class="block">The prefix of the oplet id as serialized in the metric name.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#TYPE_PREFIX">TYPE_PREFIX</a></span></code>
 <div class="block">Prefix of all metric types.</div>
 </td>
@@ -215,18 +216,18 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#addKeyProperties-java.lang.String-java.util.Map-">addKeyProperties</a></span>(java.lang.String&nbsp;buf,
-                java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#addKeyProperties-java.lang.String-java.util.Map-">addKeyProperties</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;buf,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;properties)</code>
 <div class="block">Extracts job and oplet identifier values from the specified buffer and 
  adds the <a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_JOBID"><code>KEY_JOBID</code></a> and <a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_OPID"><code>KEY_OPID</code></a> key properties to the 
  specified properties map.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>javax.management.ObjectName</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#createName-java.lang.String-java.lang.String-java.lang.String-">createName</a></span>(java.lang.String&nbsp;type,
-          java.lang.String&nbsp;domain,
-          java.lang.String&nbsp;name)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/javax/management/ObjectName.html?is-external=true" title="class or interface in javax.management">ObjectName</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#createName-java.lang.String-java.lang.String-java.lang.String-">createName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;domain,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Creates a JMX <code>ObjectName</code> from the given domain, metric type, 
  and metric name.</div>
 </td>
@@ -236,8 +237,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -259,7 +260,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>TYPE_PREFIX</h4>
-<pre>public static final&nbsp;java.lang.String TYPE_PREFIX</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE_PREFIX</pre>
 <div class="block">Prefix of all metric types.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -273,7 +274,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>KEY_NAME</h4>
-<pre>public static final&nbsp;java.lang.String KEY_NAME</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> KEY_NAME</pre>
 <div class="block">The <code>name</code> property key.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -287,7 +288,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>KEY_TYPE</h4>
-<pre>public static final&nbsp;java.lang.String KEY_TYPE</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> KEY_TYPE</pre>
 <div class="block">The <code>type</code> property key.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -301,7 +302,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>KEY_JOBID</h4>
-<pre>public static final&nbsp;java.lang.String KEY_JOBID</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> KEY_JOBID</pre>
 <div class="block">The <code>jobId</code> property key.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -315,7 +316,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>KEY_OPID</h4>
-<pre>public static final&nbsp;java.lang.String KEY_OPID</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> KEY_OPID</pre>
 <div class="block">The <code>opId</code> (oplet id) property key.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -329,7 +330,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>PREFIX_JOBID</h4>
-<pre>public static final&nbsp;java.lang.String PREFIX_JOBID</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PREFIX_JOBID</pre>
 <div class="block">The prefix of the job id as serialized in the metric name.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -343,7 +344,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PREFIX_OPID</h4>
-<pre>public static final&nbsp;java.lang.String PREFIX_OPID</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PREFIX_OPID</pre>
 <div class="block">The prefix of the oplet id as serialized in the metric name.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -382,9 +383,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>createName</h4>
-<pre>public&nbsp;javax.management.ObjectName&nbsp;createName(java.lang.String&nbsp;type,
-                                              java.lang.String&nbsp;domain,
-                                              java.lang.String&nbsp;name)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/ObjectName.html?is-external=true" title="class or interface in javax.management">ObjectName</a>&nbsp;createName(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;domain,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Creates a JMX <code>ObjectName</code> from the given domain, metric type, 
  and metric name.
  <p>
@@ -401,7 +402,7 @@
 <dd><code>name</code> - the value of the "name" key property in the object name,
       which represents the metric name.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.RuntimeException</code> - wrapping a MalformedObjectNameException if 
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</a></code> - wrapping a MalformedObjectNameException if 
       the implementation cannot create a valid object name.</dd>
 </dl>
 </li>
@@ -412,8 +413,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>addKeyProperties</h4>
-<pre>protected&nbsp;void&nbsp;addKeyProperties(java.lang.String&nbsp;buf,
-                                java.util.Map&lt;java.lang.String,java.lang.String&gt;&nbsp;properties)</pre>
+<pre>protected&nbsp;void&nbsp;addKeyProperties(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;buf,
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;properties)</pre>
 <div class="block">Extracts job and oplet identifier values from the specified buffer and 
  adds the <a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_JOBID"><code>KEY_JOBID</code></a> and <a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_OPID"><code>KEY_OPID</code></a> key properties to the 
  specified properties map.  
@@ -452,7 +453,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -497,6 +497,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/Metrics.html b/site/javadoc/latest/org/apache/edgent/metrics/Metrics.html
index dd42742..60688c6 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/Metrics.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/Metrics.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>Metrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Metrics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Metrics (Edgent v1.1.0)";
+            parent.document.title="Metrics (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.metrics.Metrics</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Metrics</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">This interface contains utility methods for manipulating metrics.</div>
 </li>
 </ul>
@@ -171,8 +172,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -297,7 +298,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -342,6 +342,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/MetricsSetup.html b/site/javadoc/latest/org/apache/edgent/metrics/MetricsSetup.html
index 6ebc7c0..6492d5c 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/MetricsSetup.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/MetricsSetup.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>MetricsSetup (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MetricsSetup (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,13 +13,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MetricsSetup (Edgent v1.1.0)";
+            parent.document.title="MetricsSetup (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":9};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.metrics.MetricsSetup</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">MetricsSetup</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Utility helpers for configuring and starting a Metric <code>JmxReporter</code>
  or a <code>ConsoleReporter</code>.
  <p>
@@ -135,7 +136,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html#registerWith-javax.management.MBeanServer-">registerWith</a></span>(javax.management.MBeanServer&nbsp;mBeanServer)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html#registerWith-javax.management.MBeanServer-">registerWith</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a>&nbsp;mBeanServer)</code>
 <div class="block">Use the specified <code>MBeanServer</code> with this metric setup.</div>
 </td>
 </tr>
@@ -147,11 +148,17 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html#startJMXReporter-java.lang.String-">startJMXReporter</a></span>(java.lang.String&nbsp;jmxDomainName)</code>
-<div class="block">Starts the metric <code>JMXReporter</code>.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html#startCSVReporter-java.lang.String-">startCSVReporter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathMetrics)</code>
+<div class="block">Starts the metric <code>CsvReporter</code>.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html#startJMXReporter-java.lang.String-">startJMXReporter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jmxDomainName)</code>
+<div class="block">Starts the metric <code>JMXReporter</code>.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html#withRegistry-org.apache.edgent.execution.services.ServiceContainer-com.codahale.metrics.MetricRegistry-">withRegistry</a></span>(<a href="../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services,
             com.codahale.metrics.MetricRegistry&nbsp;registry)</code>
@@ -163,8 +170,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -204,7 +211,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>registerWith</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a>&nbsp;registerWith(javax.management.MBeanServer&nbsp;mBeanServer)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a>&nbsp;registerWith(<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a>&nbsp;mBeanServer)</pre>
 <div class="block">Use the specified <code>MBeanServer</code> with this metric setup.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -220,7 +227,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>startJMXReporter</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a>&nbsp;startJMXReporter(java.lang.String&nbsp;jmxDomainName)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a>&nbsp;startJMXReporter(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jmxDomainName)</pre>
 <div class="block">Starts the metric <code>JMXReporter</code>. If no MBeanServer was set, use 
  the virtual machine's platform MBeanServer.</div>
 <dl>
@@ -231,6 +238,25 @@
 </dl>
 </li>
 </ul>
+<a name="startCSVReporter-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startCSVReporter</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a>&nbsp;startCSVReporter(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathMetrics)</pre>
+<div class="block">Starts the metric <code>CsvReporter</code>. If no MBeanServer was set, use the
+ virtual machine's platform MBeanServer.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pathMetrics</code> - pathname where the metric files are stored. If the path does
+            not exist or is null is created in a standard directory,
+            called metrics</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this</dd>
+</dl>
+</li>
+</ul>
 <a name="startConsoleReporter--">
 <!--   -->
 </a>
@@ -270,7 +296,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -315,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/class-use/MetricObjectNameFactory.html b/site/javadoc/latest/org/apache/edgent/metrics/class-use/MetricObjectNameFactory.html
index b3317fb..d7806df 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/class-use/MetricObjectNameFactory.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/class-use/MetricObjectNameFactory.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.metrics.MetricObjectNameFactory (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.MetricObjectNameFactory (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.metrics.MetricObjectNameFactory (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.metrics.MetricObjectNameFactory (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/class-use/Metrics.html b/site/javadoc/latest/org/apache/edgent/metrics/class-use/Metrics.html
index 61f5fa7..9e2649c 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/class-use/Metrics.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/class-use/Metrics.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.metrics.Metrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.Metrics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.metrics.Metrics (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.metrics.Metrics (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/class-use/MetricsSetup.html b/site/javadoc/latest/org/apache/edgent/metrics/class-use/MetricsSetup.html
index 2b31f3d..c790f3a 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/class-use/MetricsSetup.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/class-use/MetricsSetup.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.metrics.MetricsSetup (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.MetricsSetup (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.metrics.MetricsSetup (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.metrics.MetricsSetup (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -107,7 +108,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html#registerWith-javax.management.MBeanServer-">registerWith</a></span>(javax.management.MBeanServer&nbsp;mBeanServer)</code>
+<td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html#registerWith-javax.management.MBeanServer-">registerWith</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a>&nbsp;mBeanServer)</code>
 <div class="block">Use the specified <code>MBeanServer</code> with this metric setup.</div>
 </td>
 </tr>
@@ -119,11 +120,17 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
-<td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html#startJMXReporter-java.lang.String-">startJMXReporter</a></span>(java.lang.String&nbsp;jmxDomainName)</code>
-<div class="block">Starts the metric <code>JMXReporter</code>.</div>
+<td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html#startCSVReporter-java.lang.String-">startCSVReporter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathMetrics)</code>
+<div class="block">Starts the metric <code>CsvReporter</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html#startJMXReporter-java.lang.String-">startJMXReporter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jmxDomainName)</code>
+<div class="block">Starts the metric <code>JMXReporter</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
 <td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html#withRegistry-org.apache.edgent.execution.services.ServiceContainer-com.codahale.metrics.MetricRegistry-">withRegistry</a></span>(<a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services,
             com.codahale.metrics.MetricRegistry&nbsp;registry)</code>
@@ -150,12 +157,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -185,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/oplets/CounterOp.html b/site/javadoc/latest/org/apache/edgent/metrics/oplets/CounterOp.html
index 59706fe..53f1d2a 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/oplets/CounterOp.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/oplets/CounterOp.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>CounterOp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CounterOp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CounterOp (Edgent v1.1.0)";
+            parent.document.title="CounterOp (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -133,7 +134,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -163,7 +164,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html#METRIC_NAME">METRIC_NAME</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -239,8 +240,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -262,7 +263,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>METRIC_NAME</h4>
-<pre>public static final&nbsp;java.lang.String METRIC_NAME</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> METRIC_NAME</pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.edgent.metrics.oplets.CounterOp.METRIC_NAME">Constant Field Values</a></dd>
@@ -347,7 +348,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -392,6 +392,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/oplets/RateMeter.html b/site/javadoc/latest/org/apache/edgent/metrics/oplets/RateMeter.html
index c9ee4b4..f7bd324 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/oplets/RateMeter.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/oplets/RateMeter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>RateMeter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>RateMeter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="RateMeter (Edgent v1.1.0)";
+            parent.document.title="RateMeter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -133,7 +134,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -164,7 +165,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html#METRIC_NAME">METRIC_NAME</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -240,8 +241,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -263,7 +264,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>METRIC_NAME</h4>
-<pre>public static final&nbsp;java.lang.String METRIC_NAME</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> METRIC_NAME</pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.edgent.metrics.oplets.RateMeter.METRIC_NAME">Constant Field Values</a></dd>
@@ -348,7 +349,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -393,6 +393,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html b/site/javadoc/latest/org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html
index d1987f8..ad00a66 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>SingleMetricAbstractOplet (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SingleMetricAbstractOplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SingleMetricAbstractOplet (Edgent v1.1.0)";
+            parent.document.title="SingleMetricAbstractOplet (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -128,7 +129,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -163,7 +164,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#SingleMetricAbstractOplet-java.lang.String-">SingleMetricAbstractOplet</a></span>(java.lang.String&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#SingleMetricAbstractOplet-java.lang.String-">SingleMetricAbstractOplet</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -189,7 +190,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#getMetric--">getMetric</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#getMetricName--">getMetricName</a></span>()</code>
 <div class="block">Returns the name of the metric used by this oplet for registration.</div>
 </td>
@@ -226,8 +227,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -249,7 +250,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SingleMetricAbstractOplet</h4>
-<pre>protected&nbsp;SingleMetricAbstractOplet(java.lang.String&nbsp;name)</pre>
+<pre>protected&nbsp;SingleMetricAbstractOplet(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 </li>
 </ul>
 </li>
@@ -266,7 +267,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetricName</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getMetricName()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMetricName()</pre>
 <div class="block">Returns the name of the metric used by this oplet for registration.
  The name uniquely identifies the metric in the <code>MetricRegistry</code>.
  <p>
@@ -314,10 +315,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public final&nbsp;void&nbsp;close()
-                 throws java.lang.Exception</pre>
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -346,7 +347,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -391,6 +391,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/CounterOp.html b/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/CounterOp.html
index 8bf8698..e192897 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/CounterOp.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/CounterOp.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.metrics.oplets.CounterOp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.oplets.CounterOp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.metrics.oplets.CounterOp (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.metrics.oplets.CounterOp (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/RateMeter.html b/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/RateMeter.html
index d297d03..d6fe832 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/RateMeter.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/RateMeter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.metrics.oplets.RateMeter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.oplets.RateMeter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.metrics.oplets.RateMeter (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.metrics.oplets.RateMeter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/SingleMetricAbstractOplet.html b/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/SingleMetricAbstractOplet.html
index 8934fa6..222085a 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/SingleMetricAbstractOplet.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/oplets/class-use/SingleMetricAbstractOplet.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -135,12 +136,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -170,6 +170,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-frame.html b/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-frame.html
index 3a8a622..ff7765d 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.metrics.oplets (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-summary.html b/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-summary.html
index b1dd0b8..94f57f7 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.metrics.oplets (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.metrics.oplets (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.metrics.oplets (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -124,7 +125,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -154,6 +154,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-tree.html b/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-tree.html
index ee0a9db..b9d2d26 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.metrics.oplets Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.metrics.oplets Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.metrics.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
 <ul>
@@ -121,7 +122,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -151,6 +151,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-use.html b/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-use.html
index db3913e..2b9bc35 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/oplets/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.metrics.oplets (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.metrics.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.metrics.oplets (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.metrics.oplets (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -126,7 +127,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/package-frame.html b/site/javadoc/latest/org/apache/edgent/metrics/package-frame.html
index eb71295..043a68e 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.metrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/package-summary.html b/site/javadoc/latest/org/apache/edgent/metrics/package-summary.html
index a116c20..e98abd2 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.metrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.metrics (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.metrics (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -43,7 +44,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/javax/websocket/impl/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/graph/spi/execution/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/edgent/metrics/oplets/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -139,11 +140,10 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/javax/websocket/impl/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/graph/spi/execution/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/edgent/metrics/oplets/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -169,6 +169,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/package-tree.html b/site/javadoc/latest/org/apache/edgent/metrics/package-tree.html
index e57d406..3f71b81 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.metrics Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.metrics Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.metrics Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -43,7 +44,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/javax/websocket/impl/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/graph/spi/execution/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/edgent/metrics/oplets/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.metrics.<a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">MetricObjectNameFactory</span></a> (implements com.codahale.metrics.ObjectNameFactory)</li>
 <li type="circle">org.apache.edgent.metrics.<a href="../../../../org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Metrics</span></a></li>
@@ -106,11 +107,10 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/javax/websocket/impl/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/graph/spi/execution/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/edgent/metrics/oplets/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -136,6 +136,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/metrics/package-use.html b/site/javadoc/latest/org/apache/edgent/metrics/package-use.html
index 87e0731..03f6a39 100644
--- a/site/javadoc/latest/org/apache/edgent/metrics/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/metrics/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.metrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.metrics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.metrics (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.metrics (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -130,7 +131,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/JobContext.html b/site/javadoc/latest/org/apache/edgent/oplet/JobContext.html
index d756259..d50a392 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/JobContext.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/JobContext.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>JobContext (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JobContext (Edgent v1.1.0)";
+            parent.document.title="JobContext (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -126,13 +127,13 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/JobContext.html#getId--">getId</a></span>()</code>
 <div class="block">Get the runtime identifier for the job containing this <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/JobContext.html#getName--">getName</a></span>()</code>
 <div class="block">Get the name of the job containing this <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
 </td>
@@ -158,7 +159,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getId</h4>
-<pre>java.lang.String&nbsp;getId()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
 <div class="block">Get the runtime identifier for the job containing this <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -172,7 +173,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getName</h4>
-<pre>java.lang.String&nbsp;getName()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
 <div class="block">Get the name of the job containing this <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -205,7 +206,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -250,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/Oplet.html b/site/javadoc/latest/org/apache/edgent/oplet/Oplet.html
index 1bf739d..de13079 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/Oplet.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/Oplet.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Oplet (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Oplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Oplet (Edgent v1.1.0)";
+            parent.document.title="Oplet (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -106,7 +107,7 @@
 </dl>
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.lang.AutoCloseable</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
@@ -115,7 +116,7 @@
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">Oplet&lt;I,O&gt;</span>
-extends java.lang.AutoCloseable</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></pre>
 <div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
  and produces 0-M output streams on its output ports. An input port may be
  connected with any number of streams from other oplets. An output port may
@@ -139,7 +140,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">getInputs</a></span>()</code>
 <div class="block">Get the input stream data handlers for this oplet.</div>
 </td>
@@ -161,8 +162,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
 <!--   -->
 </a>
-<h3>Methods inherited from interface&nbsp;java.lang.AutoCloseable</h3>
-<code>close</code></li>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
 </ul>
 </li>
 </ul>
@@ -185,13 +186,13 @@
 <li class="blockList">
 <h4>initialize</h4>
 <pre>void&nbsp;initialize(<a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>,<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">O</a>&gt;&nbsp;context)
-         throws java.lang.Exception</pre>
+         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Initialize the oplet.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>context</code> - the OpletContext</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - on failure</dd>
 </dl>
 </li>
 </ul>
@@ -212,7 +213,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getInputs</h4>
-<pre>java.util.List&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>&gt;&gt;&nbsp;getInputs()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>&gt;&gt;&nbsp;getInputs()</pre>
 <div class="block">Get the input stream data handlers for this oplet. The number of handlers
  must equal the number of configured input ports. Each tuple
  arriving on an input port will be sent to the stream handler for that
@@ -248,7 +249,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -293,6 +293,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/OpletContext.html b/site/javadoc/latest/org/apache/edgent/oplet/OpletContext.html
index 6226b3b..3c52cc5 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/OpletContext.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/OpletContext.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>OpletContext (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>OpletContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OpletContext (Edgent v1.1.0)";
+            parent.document.title="OpletContext (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -141,7 +142,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getId--">getId</a></span>()</code>
 <div class="block">Get the unique identifier (within the running job)
  for this oplet.</div>
@@ -160,7 +161,7 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getOutputContext--">getOutputContext</a></span>()</code>
 <div class="block">Get the oplet's output port context information.</div>
 </td>
@@ -172,20 +173,20 @@
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="type parameter in OpletContext">O</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="type parameter in OpletContext">O</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getOutputs--">getOutputs</a></span>()</code>
 <div class="block">Get the mechanism to submit tuples on an output port.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getService-java.lang.Class-">getService</a></span>(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getService-java.lang.Class-">getService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
 <div class="block">Get a service for this invocation.</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#uniquify-java.lang.String-">uniquify</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#uniquify-java.lang.String-">uniquify</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Creates a unique name within the context of the current runtime.</div>
 </td>
 </tr>
@@ -210,7 +211,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getId</h4>
-<pre>java.lang.String&nbsp;getId()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
 <div class="block">Get the unique identifier (within the running job)
  for this oplet.</div>
 <dl>
@@ -225,7 +226,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getService</h4>
-<pre>&lt;T&gt;&nbsp;T&nbsp;getService(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</pre>
+<pre>&lt;T&gt;&nbsp;T&nbsp;getService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
 <div class="block">Get a service for this invocation.
  <P>
  These services must be provided by all implementations:
@@ -294,7 +295,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getOutputs</h4>
-<pre>java.util.List&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="type parameter in OpletContext">O</a>&gt;&gt;&nbsp;getOutputs()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="type parameter in OpletContext">O</a>&gt;&gt;&nbsp;getOutputs()</pre>
 <div class="block">Get the mechanism to submit tuples on an output port.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -308,7 +309,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getOutputContext</h4>
-<pre>java.util.List&lt;<a href="../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;getOutputContext()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;getOutputContext()</pre>
 <div class="block">Get the oplet's output port context information.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -336,7 +337,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>uniquify</h4>
-<pre>java.lang.String&nbsp;uniquify(java.lang.String&nbsp;name)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uniquify(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Creates a unique name within the context of the current runtime.
  <p>
  The default implementation adds a suffix composed of the package 
@@ -377,7 +378,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -422,6 +422,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/OutputPortContext.html b/site/javadoc/latest/org/apache/edgent/oplet/OutputPortContext.html
index 6a1ebcf..9b48ee0 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/OutputPortContext.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/OutputPortContext.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>OutputPortContext (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>OutputPortContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="OutputPortContext (Edgent v1.1.0)";
+            parent.document.title="OutputPortContext (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -122,7 +123,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OutputPortContext.html#getAlias--">getAlias</a></span>()</code>
 <div class="block">Get the alias of the output port if any.</div>
 </td>
@@ -148,7 +149,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getAlias</h4>
-<pre>java.lang.String&nbsp;getAlias()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
 <div class="block">Get the alias of the output port if any.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -181,7 +182,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -226,6 +226,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/class-use/JobContext.html b/site/javadoc/latest/org/apache/edgent/oplet/class-use/JobContext.html
index a800247..c30a5d3 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/class-use/JobContext.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/class-use/JobContext.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.oplet.JobContext (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.oplet.JobContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.oplet.JobContext (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.oplet.JobContext (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -179,12 +180,12 @@
                <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(java.lang.String&nbsp;id,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
                  <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
                  <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
                  int&nbsp;inputCount,
-                 java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
-                 java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
 <div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
 </td>
 </tr>
@@ -208,12 +209,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -243,6 +243,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/class-use/Oplet.html b/site/javadoc/latest/org/apache/edgent/oplet/class-use/Oplet.html
index 6b957c0..7273a66 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/class-use/Oplet.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/class-use/Oplet.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.oplet.Oplet (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.oplet.Oplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.oplet.Oplet (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.oplet.Oplet (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -224,7 +225,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#getVertices--">getVertices</a></span>()</code>
 <div class="block">Return an unmodifiable view of all vertices in this graph.</div>
 </td>
@@ -556,7 +557,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DirectGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getVertices--">getVertices</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -585,7 +586,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html#VertexType-org.apache.edgent.graph.Vertex-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">VertexType</a></span>(<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&nbsp;value,
-          org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;java.lang.String&gt;&nbsp;ids)</code>&nbsp;</td>
+          org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -627,12 +628,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -662,6 +662,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/class-use/OpletContext.html b/site/javadoc/latest/org/apache/edgent/oplet/class-use/OpletContext.html
index 0764286..cf0c424 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/class-use/OpletContext.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/class-use/OpletContext.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.oplet.OpletContext (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.oplet.OpletContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.oplet.OpletContext (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.oplet.OpletContext (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -153,7 +154,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Publish.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,java.lang.Void&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Publish.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -222,19 +223,19 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractOplet.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">O</a>&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Pipe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Pipe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">AbstractOplet.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">O</a>&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Split.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Union.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Union.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Union.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Union.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Split.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -242,11 +243,11 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicSource.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Source.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Source.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PeriodicSource.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -264,11 +265,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">SupplierPeriodicSource.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SupplierSource.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">SupplierSource.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SupplierPeriodicSource.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -286,11 +287,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Barrier.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Barrier.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Isolate.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">UnorderedIsolate.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -298,7 +299,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">UnorderedIsolate.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">Isolate.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -383,12 +384,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -418,6 +418,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/class-use/OutputPortContext.html b/site/javadoc/latest/org/apache/edgent/oplet/class-use/OutputPortContext.html
index bef0427..4a3f86c 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/class-use/OutputPortContext.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/class-use/OutputPortContext.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.oplet.OutputPortContext (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.oplet.OutputPortContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.oplet.OutputPortContext (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.oplet.OutputPortContext (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -112,7 +113,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">OpletContext.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputContext--">getOutputContext</a></span>()</code>
 <div class="block">Get the oplet's output port context information.</div>
 </td>
@@ -132,7 +133,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">InvocationContext.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputContext--">getOutputContext</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -160,12 +161,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(java.lang.String&nbsp;id,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
                  <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
                  <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
                  int&nbsp;inputCount,
-                 java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
-                 java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
 <div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
 </td>
 </tr>
@@ -189,12 +190,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -224,6 +224,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/AbstractOplet.html b/site/javadoc/latest/org/apache/edgent/oplet/core/AbstractOplet.html
index 7beea6f..8bb99c3 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/AbstractOplet.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/AbstractOplet.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>AbstractOplet (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractOplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractOplet (Edgent v1.1.0)";
+            parent.document.title="AbstractOplet (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.oplet.core.AbstractOplet&lt;I,O&gt;</li>
@@ -109,7 +110,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -118,7 +119,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">AbstractOplet&lt;I,O&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</pre>
 </li>
 </ul>
@@ -170,8 +171,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.Oplet">
@@ -184,8 +185,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
 <!--   -->
 </a>
-<h3>Methods inherited from interface&nbsp;java.lang.AutoCloseable</h3>
-<code>close</code></li>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
 </ul>
 </li>
 </ul>
@@ -269,7 +270,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -314,6 +314,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/FanIn.html b/site/javadoc/latest/org/apache/edgent/oplet/core/FanIn.html
index 2434867..3edd8ac 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/FanIn.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/FanIn.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>FanIn (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FanIn (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FanIn (Edgent v1.1.0)";
+            parent.document.title="FanIn (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,U&gt;</li>
@@ -119,7 +120,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,U&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,U&gt;</dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -158,7 +159,7 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#FanIn--">FanIn</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#FanIn-org.apache.edgent.function.BiFunction-">FanIn</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,java.lang.Integer,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#FanIn-org.apache.edgent.function.BiFunction-">FanIn</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -191,7 +192,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getInputs--">getInputs</a></span>()</code>
 <div class="block">Get the input stream data handlers for this oplet.</div>
 </td>
@@ -204,7 +205,7 @@
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#setReceiver-org.apache.edgent.function.BiFunction-">setReceiver</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,java.lang.Integer,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#setReceiver-org.apache.edgent.function.BiFunction-">setReceiver</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</code>
 <div class="block">Set the receiver function.</div>
 </td>
 </tr>
@@ -232,8 +233,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -264,7 +265,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FanIn</h4>
-<pre>public&nbsp;FanIn(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,java.lang.Integer,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</pre>
+<pre>public&nbsp;FanIn(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</pre>
 </li>
 </ul>
 </li>
@@ -300,7 +301,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>setReceiver</h4>
-<pre>protected&nbsp;void&nbsp;setReceiver(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,java.lang.Integer,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</pre>
+<pre>protected&nbsp;void&nbsp;setReceiver(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</pre>
 <div class="block">Set the receiver function.  Must be called no later than as part
  of <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#initialize-org.apache.edgent.oplet.OpletContext-"><code>initialize(OpletContext)</code></a>.</div>
 <dl>
@@ -327,7 +328,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getInputs</h4>
-<pre>public&nbsp;java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;&gt;&nbsp;getInputs()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;&gt;&nbsp;getInputs()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
 <div class="block">Get the input stream data handlers for this oplet. The number of handlers
  must equal the number of configured input ports. Each tuple
@@ -415,7 +416,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -460,6 +460,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/FanOut.html b/site/javadoc/latest/org/apache/edgent/oplet/core/FanOut.html
index af40d2e..c495aff 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/FanOut.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/FanOut.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>FanOut (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FanOut (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FanOut (Edgent v1.1.0)";
+            parent.document.title="FanOut (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,T&gt;</li>
@@ -114,7 +115,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -171,7 +172,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html#close--">close</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html#getInputs--">getInputs</a></span>()</code>
 <div class="block">Get the input stream data handlers for this oplet.</div>
 </td>
@@ -194,8 +195,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -250,7 +251,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getInputs</h4>
-<pre>public&nbsp;java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;&gt;&nbsp;getInputs()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;&gt;&nbsp;getInputs()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
 <div class="block">Get the input stream data handlers for this oplet. The number of handlers
  must equal the number of configured input ports. Each tuple
@@ -292,7 +293,7 @@
 <pre>public&nbsp;void&nbsp;close()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -321,7 +322,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -366,6 +366,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/Peek.html b/site/javadoc/latest/org/apache/edgent/oplet/core/Peek.html
index e06bda6..c0a1213 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/Peek.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/Peek.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Peek (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Peek (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Peek (Edgent v1.1.0)";
+            parent.document.title="Peek (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -123,7 +124,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -207,15 +208,15 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
 <!--   -->
 </a>
-<h3>Methods inherited from interface&nbsp;java.lang.AutoCloseable</h3>
-<code>close</code></li>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
 </ul>
 </li>
 </ul>
@@ -301,7 +302,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -346,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/PeriodicSource.html b/site/javadoc/latest/org/apache/edgent/oplet/core/PeriodicSource.html
index dc8717b..46180da 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/PeriodicSource.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/PeriodicSource.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>PeriodicSource (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PeriodicSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PeriodicSource (Edgent v1.1.0)";
+            parent.document.title="PeriodicSource (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;java.lang.Void,T&gt;</li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Source</a>&lt;T&gt;</li>
@@ -119,7 +120,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, java.lang.Runnable, <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -129,7 +130,7 @@
 <br>
 <pre>public abstract class <span class="typeNameLabel">PeriodicSource&lt;T&gt;</span>
 extends <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;
-implements java.lang.Runnable, <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></pre>
+implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></pre>
 </li>
 </ul>
 </div>
@@ -151,7 +152,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>protected </code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#PeriodicSource-long-java.util.concurrent.TimeUnit-">PeriodicSource</a></span>(long&nbsp;period,
-              java.util.concurrent.TimeUnit&nbsp;unit)</code>&nbsp;</td>
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -179,18 +180,18 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>protected java.lang.Runnable</code></td>
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#getRunnable--">getRunnable</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.concurrent.TimeUnit</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#getUnit--">getUnit</a></span>()</code>
 <div class="block">Get the time unit for <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--"><code>PeriodMXBean.getPeriod()</code></a>.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;&nbsp;context)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;&nbsp;context)</code>
 <div class="block">Initialize the oplet.</div>
 </td>
 </tr>
@@ -207,7 +208,7 @@
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod</a></span>(long&nbsp;period,
-         java.util.concurrent.TimeUnit&nbsp;unit)</code>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set the period and unit</div>
 </td>
 </tr>
@@ -236,15 +237,15 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
 <!--   -->
 </a>
-<h3>Methods inherited from interface&nbsp;java.lang.AutoCloseable</h3>
-<code>close</code></li>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
 </ul>
 </li>
 </ul>
@@ -267,7 +268,7 @@
 <li class="blockList">
 <h4>PeriodicSource</h4>
 <pre>protected&nbsp;PeriodicSource(long&nbsp;period,
-                         java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 </li>
 </ul>
 </li>
@@ -284,12 +285,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;&nbsp;context)</pre>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;&nbsp;context)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
 <div class="block">Initialize the oplet.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;</code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -309,7 +310,7 @@
  input tuples until this method is called.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -319,7 +320,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getRunnable</h4>
-<pre>protected&nbsp;java.lang.Runnable&nbsp;getRunnable()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;getRunnable()</pre>
 </li>
 </ul>
 <a name="fetchTuples--">
@@ -329,10 +330,10 @@
 <li class="blockList">
 <h4>fetchTuples</h4>
 <pre>protected abstract&nbsp;void&nbsp;fetchTuples()
-                             throws java.lang.Exception</pre>
+                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -345,7 +346,7 @@
 <pre>public&nbsp;void&nbsp;run()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>run</code>&nbsp;in interface&nbsp;<code>java.lang.Runnable</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -372,7 +373,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getUnit</h4>
-<pre>public&nbsp;java.util.concurrent.TimeUnit&nbsp;getUnit()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;getUnit()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getUnit--">PeriodMXBean</a></code></span></div>
 <div class="block">Get the time unit for <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--"><code>PeriodMXBean.getPeriod()</code></a>.</div>
 <dl>
@@ -407,7 +408,7 @@
 <li class="blockList">
 <h4>setPeriod</h4>
 <pre>public&nbsp;void&nbsp;setPeriod(long&nbsp;period,
-                      java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-java.util.concurrent.TimeUnit-">PeriodMXBean</a></code></span></div>
 <div class="block">Set the period and unit</div>
 <dl>
@@ -415,7 +416,7 @@
 <dd><code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>period</code> - the period</dd>
-<dd><code>unit</code> - the <code>TimeUnit</code> of <code>period</code></dd>
+<dd><code>unit</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a> of <code>period</code></dd>
 </dl>
 </li>
 </ul>
@@ -444,7 +445,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -489,6 +489,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/Pipe.html b/site/javadoc/latest/org/apache/edgent/oplet/core/Pipe.html
index 1cf6abf..2f36eb1 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/Pipe.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/Pipe.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Pipe (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Pipe (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Pipe (Edgent v1.1.0)";
+            parent.document.title="Pipe (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -119,7 +120,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;I&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;I&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -175,7 +176,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a></span>()</code>
 <div class="block">Get the input stream data handlers for this oplet.</div>
 </td>
@@ -210,8 +211,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.function.Consumer">
@@ -224,8 +225,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
 <!--   -->
 </a>
-<h3>Methods inherited from interface&nbsp;java.lang.AutoCloseable</h3>
-<code>close</code></li>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
 </ul>
 </li>
 </ul>
@@ -299,7 +300,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getInputs</h4>
-<pre>public&nbsp;java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>&gt;&gt;&nbsp;getInputs()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>&gt;&gt;&nbsp;getInputs()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
 <div class="block">Get the input stream data handlers for this oplet. The number of handlers
  must equal the number of configured input ports. Each tuple
@@ -363,7 +364,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -408,6 +408,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/ProcessSource.html b/site/javadoc/latest/org/apache/edgent/oplet/core/ProcessSource.html
index b4315d9..65968da 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/ProcessSource.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/ProcessSource.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>ProcessSource (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ProcessSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ProcessSource (Edgent v1.1.0)";
+            parent.document.title="ProcessSource (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;java.lang.Void,T&gt;</li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Source</a>&lt;T&gt;</li>
@@ -119,7 +120,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, java.lang.Runnable, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -129,7 +130,7 @@
 <br>
 <pre>public abstract class <span class="typeNameLabel">ProcessSource&lt;T&gt;</span>
 extends <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;
-implements java.lang.Runnable</pre>
+implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></pre>
 </li>
 </ul>
 </div>
@@ -166,7 +167,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>protected java.lang.Runnable</code></td>
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html#getRunnable--">getRunnable</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -202,15 +203,15 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
 <!--   -->
 </a>
-<h3>Methods inherited from interface&nbsp;java.lang.AutoCloseable</h3>
-<code>close</code></li>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
 </ul>
 </li>
 </ul>
@@ -255,7 +256,7 @@
  input tuples until this method is called.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="type parameter in ProcessSource">T</a>&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="type parameter in ProcessSource">T</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -265,7 +266,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getRunnable</h4>
-<pre>protected&nbsp;java.lang.Runnable&nbsp;getRunnable()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;getRunnable()</pre>
 </li>
 </ul>
 <a name="process--">
@@ -275,10 +276,10 @@
 <li class="blockList">
 <h4>process</h4>
 <pre>protected abstract&nbsp;void&nbsp;process()
-                         throws java.lang.Exception</pre>
+                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -291,7 +292,7 @@
 <pre>public&nbsp;void&nbsp;run()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>run</code>&nbsp;in interface&nbsp;<code>java.lang.Runnable</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -320,7 +321,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -365,6 +365,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/Sink.html b/site/javadoc/latest/org/apache/edgent/oplet/core/Sink.html
index cd7aed5..1889363 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/Sink.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/Sink.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Sink (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Sink (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Sink (Edgent v1.1.0)";
+            parent.document.title="Sink (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,java.lang.Void&gt;</li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.oplet.core.Sink&lt;T&gt;</li>
@@ -118,7 +119,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,java.lang.Void&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -127,7 +128,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Sink&lt;T&gt;</span>
-extends <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;T,java.lang.Void&gt;</pre>
+extends <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</pre>
 <div class="block">Sink a stream by processing each tuple through
  a <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><code>Consumer</code></a>.
  If the <code>sinker</code> function implements <code>AutoCloseable</code>
@@ -179,7 +180,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#close--">close</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#getInputs--">getInputs</a></span>()</code>
 <div class="block">Get the input stream data handlers for this oplet.</div>
 </td>
@@ -214,8 +215,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -271,7 +272,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getInputs</h4>
-<pre>public&nbsp;java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&gt;&nbsp;getInputs()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&gt;&nbsp;getInputs()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
 <div class="block">Get the input stream data handlers for this oplet. The number of handlers
  must equal the number of configured input ports. Each tuple
@@ -302,10 +303,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -362,7 +363,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -407,6 +407,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/Source.html b/site/javadoc/latest/org/apache/edgent/oplet/core/Source.html
index 08099c7..22c84b6 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/Source.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/Source.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Source (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Source (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Source (Edgent v1.1.0)";
+            parent.document.title="Source (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;java.lang.Void,T&gt;</li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.oplet.core.Source&lt;T&gt;</li>
@@ -114,7 +115,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -123,7 +124,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">Source&lt;T&gt;</span>
-extends <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;java.lang.Void,T&gt;</pre>
+extends <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</pre>
 </li>
 </ul>
 </div>
@@ -164,14 +165,14 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;java.lang.Void&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getInputs--">getInputs</a></span>()</code>
 <div class="block">Get the input stream data handlers for this oplet.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;&nbsp;context)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;&nbsp;context)</code>
 <div class="block">Initialize the oplet.</div>
 </td>
 </tr>
@@ -193,8 +194,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.Oplet">
@@ -207,8 +208,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
 <!--   -->
 </a>
-<h3>Methods inherited from interface&nbsp;java.lang.AutoCloseable</h3>
-<code>close</code></li>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
 </ul>
 </li>
 </ul>
@@ -247,14 +248,14 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;&nbsp;context)</pre>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;&nbsp;context)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
 <div class="block">Initialize the oplet.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;</code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>context</code> - the OpletContext</dd>
 </dl>
@@ -291,7 +292,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getInputs</h4>
-<pre>public final&nbsp;java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;java.lang.Void&gt;&gt;&nbsp;getInputs()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;getInputs()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
 <div class="block">Get the input stream data handlers for this oplet. The number of handlers
  must equal the number of configured input ports. Each tuple
@@ -328,7 +329,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -373,6 +373,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/Split.html b/site/javadoc/latest/org/apache/edgent/oplet/core/Split.html
index 91371a1..c014f91 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/Split.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/Split.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Split (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Split (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Split (Edgent v1.1.0)";
+            parent.document.title="Split (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,T&gt;</li>
@@ -118,7 +119,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -185,7 +186,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#close--">close</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#getInputs--">getInputs</a></span>()</code>
 <div class="block">Get the input stream data handlers for this oplet.</div>
 </td>
@@ -214,8 +215,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -289,7 +290,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getInputs</h4>
-<pre>public&nbsp;java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&gt;&nbsp;getInputs()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&gt;&nbsp;getInputs()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
 <div class="block">Get the input stream data handlers for this oplet. The number of handlers
  must equal the number of configured input ports. Each tuple
@@ -329,12 +330,12 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -363,7 +364,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -408,6 +408,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/Union.html b/site/javadoc/latest/org/apache/edgent/oplet/core/Union.html
index 29bc3e1..0749c69 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/Union.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/Union.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Union (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Union (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Union (Edgent v1.1.0)";
+            parent.document.title="Union (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,U&gt;</li>
@@ -123,7 +124,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -204,8 +205,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -284,7 +285,7 @@
 <pre>public&nbsp;void&nbsp;close()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#close--">close</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt;</code></dd>
 </dl>
@@ -315,7 +316,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -360,6 +360,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/AbstractOplet.html b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/AbstractOplet.html
index 98ea0fc..b2149d2 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/AbstractOplet.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/AbstractOplet.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.core.AbstractOplet (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.AbstractOplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.core.AbstractOplet (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.AbstractOplet (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -391,12 +392,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -426,6 +426,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/FanIn.html b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/FanIn.html
index 29ae305..8a3cead 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/FanIn.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/FanIn.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.core.FanIn (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.FanIn (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.core.FanIn (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.FanIn (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -164,7 +165,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;fanin,
-     java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
 <div class="block">Declare a stream that contains the output of the specified 
  <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
 </td>
@@ -186,7 +187,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;fanin,
-     java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -208,12 +209,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -243,6 +243,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/FanOut.html b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/FanOut.html
index 83a44ef..6744715 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/FanOut.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/FanOut.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.core.FanOut (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.FanOut (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.core.FanOut (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.FanOut (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Peek.html b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Peek.html
index 9d76f4e..119cf8e 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Peek.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Peek.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.core.Peek (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Peek (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Peek (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Peek (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -262,12 +263,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -297,6 +297,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/PeriodicSource.html b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/PeriodicSource.html
index 16fc9a6..77cae51 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/PeriodicSource.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/PeriodicSource.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.core.PeriodicSource (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.PeriodicSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.core.PeriodicSource (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.PeriodicSource (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -128,12 +129,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Pipe.html b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Pipe.html
index 9a3eaad..9e28c4b 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Pipe.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Pipe.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.core.Pipe (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Pipe (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Pipe (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Pipe (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -358,12 +359,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -393,6 +393,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/ProcessSource.html b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/ProcessSource.html
index 7638884..8fac054 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/ProcessSource.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/ProcessSource.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.core.ProcessSource (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.ProcessSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.core.ProcessSource (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.ProcessSource (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -128,12 +129,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Sink.html b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Sink.html
index 077fea2..3fe564c 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Sink.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Sink.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.core.Sink (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Sink (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Sink (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Sink (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -178,12 +179,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -213,6 +213,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Source.html b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Source.html
index 8cc2370..4523920 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Source.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Source.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.core.Source (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Source (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Source (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Source (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -237,12 +238,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -272,6 +272,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Split.html b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Split.html
index 76f4345..00f33d1 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Split.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Split.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.core.Split (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Split (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Split (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Split (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Union.html b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Union.html
index c52a62d..788916c 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Union.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/class-use/Union.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.core.Union (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Union (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Union (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Union (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/package-frame.html b/site/javadoc/latest/org/apache/edgent/oplet/core/package-frame.html
index 968d23b..718d137 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.core (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.core (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/package-summary.html b/site/javadoc/latest/org/apache/edgent/oplet/core/package-summary.html
index 9c4541a..0f1ff81 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.core (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.core (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.oplet.core (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.oplet.core (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -174,7 +175,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -204,6 +204,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/package-tree.html b/site/javadoc/latest/org/apache/edgent/oplet/core/package-tree.html
index af5c1df..0b5019c 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.core Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.core Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.oplet.core Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.oplet.core Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
 <ul>
@@ -97,8 +98,8 @@
 <li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Sink</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Source</span></a>&lt;T&gt;
 <ul>
-<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">PeriodicSource</span></a>&lt;T&gt; (implements org.apache.edgent.execution.mbeans.<a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, java.lang.Runnable)</li>
-<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">ProcessSource</span></a>&lt;T&gt; (implements java.lang.Runnable)</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">PeriodicSource</span></a>&lt;T&gt; (implements org.apache.edgent.execution.mbeans.<a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">ProcessSource</span></a>&lt;T&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)</li>
 </ul>
 </li>
 <li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Split</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
@@ -126,7 +127,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/core/package-use.html b/site/javadoc/latest/org/apache/edgent/oplet/core/package-use.html
index fc65dd2..cf6396f 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/core/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/core/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.oplet.core (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.oplet.core (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.oplet.core (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.oplet.core (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -447,7 +448,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -477,6 +477,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/Events.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/Events.html
index 5961c7c..345d47b 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/Events.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/Events.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Events (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Events (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Events (Edgent v1.1.0)";
+            parent.document.title="Events (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;java.lang.Void,T&gt;</li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Source</a>&lt;T&gt;</li>
@@ -123,7 +124,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -208,8 +209,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -249,12 +250,12 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -270,7 +271,7 @@
  input tuples until this method is called.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -318,7 +319,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -363,6 +363,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/Filter.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/Filter.html
index ef7ac2e..5ad14da 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/Filter.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/Filter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Filter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Filter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Filter (Edgent v1.1.0)";
+            parent.document.title="Filter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -119,7 +120,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -193,8 +194,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -251,10 +252,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -283,7 +284,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -328,6 +328,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/FlatMap.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/FlatMap.html
index e2841da..240e005 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/FlatMap.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/FlatMap.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>FlatMap (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FlatMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FlatMap (Edgent v1.1.0)";
+            parent.document.title="FlatMap (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -124,7 +125,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;I&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;I&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -159,7 +160,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html#FlatMap-org.apache.edgent.function.Function-">FlatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>,java.lang.Iterable&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">O</a>&gt;&gt;&nbsp;function)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html#FlatMap-org.apache.edgent.function.Function-">FlatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">O</a>&gt;&gt;&nbsp;function)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -205,8 +206,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -228,7 +229,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>FlatMap</h4>
-<pre>public&nbsp;FlatMap(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>,java.lang.Iterable&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">O</a>&gt;&gt;&nbsp;function)</pre>
+<pre>public&nbsp;FlatMap(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">O</a>&gt;&gt;&nbsp;function)</pre>
 </li>
 </ul>
 </li>
@@ -263,10 +264,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -295,7 +296,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -340,6 +340,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/Map.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/Map.html
index feb2178..81e003f 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/Map.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/Map.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Map (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Map (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Map (Edgent v1.1.0)";
+            parent.document.title="Map (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -124,7 +125,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;I&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;I&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -199,8 +200,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -257,10 +258,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -289,7 +290,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -334,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/Peek.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/Peek.html
index ac75e09..8808d19 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/Peek.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/Peek.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Peek (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Peek (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Peek (Edgent v1.1.0)";
+            parent.document.title="Peek (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -128,7 +129,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -220,8 +221,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -290,10 +291,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -322,7 +323,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/SupplierPeriodicSource.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/SupplierPeriodicSource.html
index 2e2dc46..4035dfb 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/SupplierPeriodicSource.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/SupplierPeriodicSource.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>SupplierPeriodicSource (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SupplierPeriodicSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SupplierPeriodicSource (Edgent v1.1.0)";
+            parent.document.title="SupplierPeriodicSource (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;java.lang.Void,T&gt;</li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Source</a>&lt;T&gt;</li>
@@ -124,7 +125,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, java.lang.Runnable, <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -149,7 +150,7 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#SupplierPeriodicSource-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Supplier-">SupplierPeriodicSource</a></span>(long&nbsp;period,
-                      java.util.concurrent.TimeUnit&nbsp;unit,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
                       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;data)</code>&nbsp;</td>
 </tr>
 </table>
@@ -177,7 +178,7 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;context)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;context)</code>
 <div class="block">Initialize the oplet.</div>
 </td>
 </tr>
@@ -207,8 +208,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -231,7 +232,7 @@
 <li class="blockList">
 <h4>SupplierPeriodicSource</h4>
 <pre>public&nbsp;SupplierPeriodicSource(long&nbsp;period,
-                              java.util.concurrent.TimeUnit&nbsp;unit,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
                               <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;data)</pre>
 </li>
 </ul>
@@ -249,12 +250,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;context)</pre>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;context)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
 <div class="block">Initialize the oplet.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;</code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -269,10 +270,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -314,7 +315,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -359,6 +359,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/SupplierSource.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/SupplierSource.html
index a9fdb92..d1e5cd3 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/SupplierSource.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/SupplierSource.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>SupplierSource (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SupplierSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SupplierSource (Edgent v1.1.0)";
+            parent.document.title="SupplierSource (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,10 +98,10 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;java.lang.Void,T&gt;</li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Source</a>&lt;T&gt;</li>
@@ -124,7 +125,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, java.lang.Runnable, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -151,7 +152,7 @@
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#SupplierSource--">SupplierSource</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#SupplierSource-org.apache.edgent.function.Supplier-">SupplierSource</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&gt;&nbsp;data)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#SupplierSource-org.apache.edgent.function.Supplier-">SupplierSource</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&gt;&nbsp;data)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -174,7 +175,7 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&nbsp;context)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&nbsp;context)</code>
 <div class="block">Initialize the oplet.</div>
 </td>
 </tr>
@@ -208,8 +209,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -240,7 +241,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SupplierSource</h4>
-<pre>public&nbsp;SupplierSource(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&gt;&nbsp;data)</pre>
+<pre>public&nbsp;SupplierSource(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&gt;&nbsp;data)</pre>
 </li>
 </ul>
 </li>
@@ -257,12 +258,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&nbsp;context)</pre>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&nbsp;context)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
 <div class="block">Initialize the oplet.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;java.lang.Void,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;</code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -277,10 +278,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -322,7 +323,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -367,6 +367,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Events.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Events.html
index ceeed11..b6cc188 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Events.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Events.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.functional.Events (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.Events (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Events (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Events (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Filter.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Filter.html
index 63e1d30..51ba152 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Filter.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Filter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.functional.Filter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.Filter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Filter (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Filter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/FlatMap.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/FlatMap.html
index 5a17369..f84fa6c 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/FlatMap.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/FlatMap.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.functional.FlatMap (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.FlatMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.FlatMap (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.FlatMap (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Map.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Map.html
index 0945a7d..cedfaf2 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Map.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Map.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.functional.Map (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.Map (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Map (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Map (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Peek.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Peek.html
index 57d8843..0556afe 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Peek.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/Peek.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.functional.Peek (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.Peek (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Peek (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Peek (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -130,12 +131,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/SupplierPeriodicSource.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/SupplierPeriodicSource.html
index 14e6fe7..7e90c1b 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/SupplierPeriodicSource.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/SupplierPeriodicSource.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.functional.SupplierPeriodicSource (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.SupplierPeriodicSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.SupplierPeriodicSource (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.SupplierPeriodicSource (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/SupplierSource.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/SupplierSource.html
index a2c131a..64b4af7 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/SupplierSource.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/class-use/SupplierSource.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.functional.SupplierSource (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.SupplierSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.SupplierSource (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.SupplierSource (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/package-frame.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/package-frame.html
index 46acdc6..78c37eb 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.functional (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.functional (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/package-summary.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/package-summary.html
index 19ccdbd..f0cfb3d 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.functional (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.functional (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.oplet.functional (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.oplet.functional (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -150,7 +151,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -180,6 +180,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/package-tree.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/package-tree.html
index 7bcdbd4..f122301 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.functional Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.functional Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.oplet.functional Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.oplet.functional Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
 <ul>
@@ -98,12 +99,12 @@
 <li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Source</span></a>&lt;T&gt;
 <ul>
 <li type="circle">org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Events</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">PeriodicSource</span></a>&lt;T&gt; (implements org.apache.edgent.execution.mbeans.<a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, java.lang.Runnable)
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">PeriodicSource</span></a>&lt;T&gt; (implements org.apache.edgent.execution.mbeans.<a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
 <ul>
 <li type="circle">org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">SupplierPeriodicSource</span></a>&lt;T&gt;</li>
 </ul>
 </li>
-<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">ProcessSource</span></a>&lt;T&gt; (implements java.lang.Runnable)
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">ProcessSource</span></a>&lt;T&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
 <ul>
 <li type="circle">org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">SupplierSource</span></a>&lt;T&gt;</li>
 </ul>
@@ -134,7 +135,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/functional/package-use.html b/site/javadoc/latest/org/apache/edgent/oplet/functional/package-use.html
index fdfea69..085f582 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/functional/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/functional/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.oplet.functional (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.oplet.functional (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.oplet.functional (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.oplet.functional (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -128,7 +129,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/package-frame.html b/site/javadoc/latest/org/apache/edgent/oplet/package-frame.html
index 45adaa2..65c1a7c 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/package-summary.html b/site/javadoc/latest/org/apache/edgent/oplet/package-summary.html
index b05e352..bcfffc6 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.oplet (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.oplet (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -145,7 +146,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -175,6 +175,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/package-tree.html b/site/javadoc/latest/org/apache/edgent/oplet/package-tree.html
index b34038e..a84a878 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.oplet Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.oplet Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.AutoCloseable
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">AutoCloseable</span></a>
 <ul>
 <li type="circle">org.apache.edgent.oplet.<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Oplet</span></a>&lt;I,O&gt;</li>
 </ul>
@@ -111,7 +112,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -141,6 +141,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/package-use.html b/site/javadoc/latest/org/apache/edgent/oplet/package-use.html
index 919cbff..b91fc8d 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.oplet (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.oplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.oplet (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.oplet (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -469,7 +470,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -499,6 +499,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/Barrier.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/Barrier.html
index e945128..1843b43 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/Barrier.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/Barrier.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Barrier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Barrier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Barrier (Edgent v1.1.0)";
+            parent.document.title="Barrier (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,13 +98,13 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,U&gt;</li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.FanIn</a>&lt;T,java.util.List&lt;T&gt;&gt;</li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.FanIn</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.oplet.plumbing.Barrier&lt;T&gt;</li>
@@ -123,12 +124,12 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,java.util.List&lt;T&gt;&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Barrier&lt;T&gt;</span>
-extends <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;T,java.util.List&lt;T&gt;&gt;</pre>
+extends <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</pre>
 <div class="block">A tuple synchronization barrier.
  <P>
  <code>Barrier</code> has n input ports with tuple type <code>T</code>
@@ -189,12 +190,12 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;context)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;context)</code>
 <div class="block">Initialize the oplet.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,java.lang.Integer,java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#receiver--">receiver</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
@@ -222,8 +223,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -267,14 +268,14 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;context)</pre>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;context)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
 <div class="block">Initialize the oplet.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>context</code> - the OpletContext</dd>
 </dl>
@@ -292,9 +293,9 @@
  input tuples until this method is called.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#start--">start</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#start--">start</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -304,7 +305,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>receiver</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,java.lang.Integer,java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;receiver()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;receiver()</pre>
 </li>
 </ul>
 <a name="accept-java.lang.Object-int-">
@@ -328,9 +329,9 @@
 <pre>public&nbsp;void&nbsp;close()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#close--">close</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#close--">close</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -359,7 +360,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -404,6 +404,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/Isolate.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/Isolate.html
index 9781260..155b76c 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/Isolate.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/Isolate.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Isolate (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Isolate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Isolate (Edgent v1.1.0)";
+            parent.document.title="Isolate (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -123,7 +124,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -221,8 +222,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -335,10 +336,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -367,7 +368,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -412,6 +412,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/PressureReliever.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/PressureReliever.html
index 205748d..afef2ce 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/PressureReliever.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/PressureReliever.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>PressureReliever (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PressureReliever (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PressureReliever (Edgent v1.1.0)";
+            parent.document.title="PressureReliever (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -124,7 +125,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -243,8 +244,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -327,10 +328,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -359,7 +360,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -404,6 +404,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/UnorderedIsolate.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/UnorderedIsolate.html
index 758e74b..4d88a83 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/UnorderedIsolate.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/UnorderedIsolate.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>UnorderedIsolate (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnorderedIsolate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="UnorderedIsolate (Edgent v1.1.0)";
+            parent.document.title="UnorderedIsolate (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -123,7 +124,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -208,8 +209,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -285,10 +286,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -317,7 +318,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -362,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/Barrier.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/Barrier.html
index 2f03939..ae1ea1c 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/Barrier.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/Barrier.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.plumbing.Barrier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.plumbing.Barrier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.Barrier (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.Barrier (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/Isolate.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/Isolate.html
index 498b2e5..62697ee 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/Isolate.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/Isolate.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.plumbing.Isolate (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.plumbing.Isolate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.Isolate (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.Isolate (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/PressureReliever.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/PressureReliever.html
index ca20f0b..3e72b02 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/PressureReliever.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/PressureReliever.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.plumbing.PressureReliever (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.plumbing.PressureReliever (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.PressureReliever (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.PressureReliever (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/UnorderedIsolate.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/UnorderedIsolate.html
index 86788c8..04f1c12 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/UnorderedIsolate.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/class-use/UnorderedIsolate.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.plumbing.UnorderedIsolate (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.plumbing.UnorderedIsolate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.UnorderedIsolate (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.UnorderedIsolate (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-frame.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-frame.html
index 63a2ca9..da21d9d 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.plumbing (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-summary.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-summary.html
index 2b1b069..2732e1d 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.plumbing (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.oplet.plumbing (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.oplet.plumbing (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -140,7 +141,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -170,6 +170,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-tree.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-tree.html
index bfca701..2912479 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.plumbing Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.plumbing Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.oplet.plumbing Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.oplet.plumbing Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
 <ul>
@@ -119,7 +120,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -149,6 +149,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-use.html b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-use.html
index 45c1368..6731d41 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/plumbing/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.oplet.plumbing (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.oplet.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.oplet.plumbing (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.oplet.plumbing (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/window/Aggregate.html b/site/javadoc/latest/org/apache/edgent/oplet/window/Aggregate.html
index 8ff1c60..36df5db 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/window/Aggregate.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/window/Aggregate.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Aggregate (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Aggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Aggregate (Edgent v1.1.0)";
+            parent.document.title="Aggregate (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -125,7 +126,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,U&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,U&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -160,8 +161,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#Aggregate-org.apache.edgent.window.Window-org.apache.edgent.function.BiFunction-">Aggregate</a></span>(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
-         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#Aggregate-org.apache.edgent.window.Window-org.apache.edgent.function.BiFunction-">Aggregate</a></span>(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -213,8 +214,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -236,8 +237,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Aggregate</h4>
-<pre>public&nbsp;Aggregate(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
-                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</pre>
+<pre>public&nbsp;Aggregate(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
+                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</pre>
 </li>
 </ul>
 </li>
@@ -291,10 +292,10 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -323,7 +324,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -368,6 +368,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/window/class-use/Aggregate.html b/site/javadoc/latest/org/apache/edgent/oplet/window/class-use/Aggregate.html
index dfa6521..507e8d8 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/window/class-use/Aggregate.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/window/class-use/Aggregate.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.oplet.window.Aggregate (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.window.Aggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.oplet.window.Aggregate (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.oplet.window.Aggregate (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/window/package-frame.html b/site/javadoc/latest/org/apache/edgent/oplet/window/package-frame.html
index 9912a54..f644ecd 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/window/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/window/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.window (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/window/package-summary.html b/site/javadoc/latest/org/apache/edgent/oplet/window/package-summary.html
index 25c3b5d..104261c 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/window/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/window/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.window (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.oplet.window (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.oplet.window (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -120,7 +121,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/window/package-tree.html b/site/javadoc/latest/org/apache/edgent/oplet/window/package-tree.html
index 265e530..b364189 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/window/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/window/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.oplet.window Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.window Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.oplet.window Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.oplet.window Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
 <ul>
@@ -112,7 +113,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/oplet/window/package-use.html b/site/javadoc/latest/org/apache/edgent/oplet/window/package-use.html
index 9715f4f..a8b474d 100644
--- a/site/javadoc/latest/org/apache/edgent/oplet/window/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/oplet/window/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.oplet.window (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.oplet.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.oplet.window (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.oplet.window (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/development/DevelopmentProvider.html b/site/javadoc/latest/org/apache/edgent/providers/development/DevelopmentProvider.html
index 6c06e97..0d99fca 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/development/DevelopmentProvider.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/development/DevelopmentProvider.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>DevelopmentProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DevelopmentProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DevelopmentProvider (Edgent v1.1.0)";
+            parent.document.title="DevelopmentProvider (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">org.apache.edgent.topology.spi.AbstractTopologyProvider</a>&lt;<a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a>&gt;</li>
@@ -180,7 +181,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html#JMX_DOMAIN">JMX_DOMAIN</a></span></code>
 <div class="block">JMX domains that this provider uses to register MBeans.</div>
 </td>
@@ -218,7 +219,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
       com.google.gson.JsonObject&nbsp;config)</code>
 <div class="block">Submit an executable.</div>
@@ -243,8 +244,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -266,7 +267,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>JMX_DOMAIN</h4>
-<pre>public static final&nbsp;java.lang.String JMX_DOMAIN</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JMX_DOMAIN</pre>
 <div class="block">JMX domains that this provider uses to register MBeans.
  Set to "org.apache.edgent.providers.development".</div>
 <dl>
@@ -290,10 +291,10 @@
 <li class="blockList">
 <h4>DevelopmentProvider</h4>
 <pre>public&nbsp;DevelopmentProvider()
-                    throws java.lang.Exception</pre>
+                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -311,8 +312,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>submit</h4>
-<pre>public&nbsp;java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                                               com.google.gson.JsonObject&nbsp;config)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                          com.google.gson.JsonObject&nbsp;config)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">Submitter</a></code></span></div>
 <div class="block">Submit an executable.</div>
 <dl>
@@ -353,7 +354,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -398,6 +398,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/development/class-use/DevelopmentProvider.html b/site/javadoc/latest/org/apache/edgent/providers/development/class-use/DevelopmentProvider.html
index 355e5f9..7faa84b 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/development/class-use/DevelopmentProvider.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/development/class-use/DevelopmentProvider.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.providers.development.DevelopmentProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.providers.development.DevelopmentProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.providers.development.DevelopmentProvider (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.providers.development.DevelopmentProvider (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/development/package-frame.html b/site/javadoc/latest/org/apache/edgent/providers/development/package-frame.html
index 275aea1..8a8f511 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/development/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/development/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.providers.development (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.development (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/development/package-summary.html b/site/javadoc/latest/org/apache/edgent/providers/development/package-summary.html
index 6c68b6f..6da1f8e 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/development/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/development/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.providers.development (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.development (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.providers.development (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.providers.development (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -120,7 +121,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/development/package-tree.html b/site/javadoc/latest/org/apache/edgent/providers/development/package-tree.html
index ab13002..39faaa9 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/development/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/development/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.providers.development Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.development Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.providers.development Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.providers.development Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopologyProvider</span></a>&lt;T&gt; (implements org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>)
 <ul>
@@ -112,7 +113,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/development/package-use.html b/site/javadoc/latest/org/apache/edgent/providers/development/package-use.html
index 1d46f3c..4b87a9a 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/development/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/development/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.providers.development (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.providers.development (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.providers.development (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.providers.development (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/direct/DirectProvider.html b/site/javadoc/latest/org/apache/edgent/providers/direct/DirectProvider.html
index ed3df99..84e8677 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/direct/DirectProvider.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/direct/DirectProvider.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>DirectProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DirectProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DirectProvider (Edgent v1.1.0)";
+            parent.document.title="DirectProvider (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">org.apache.edgent.topology.spi.AbstractTopologyProvider</a>&lt;<a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a>&gt;</li>
@@ -184,18 +185,18 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#newTopology-java.lang.String-">newTopology</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Create a new topology with a given name.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
 <div class="block">Submit an executable.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
       com.google.gson.JsonObject&nbsp;config)</code>
 <div class="block">Submit an executable.</div>
@@ -213,8 +214,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -278,7 +279,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>newTopology</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a>&nbsp;newTopology(java.lang.String&nbsp;name)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a>&nbsp;newTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">TopologyProvider</a></code></span></div>
 <div class="block">Create a new topology with a given name.</div>
 <dl>
@@ -299,7 +300,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>submit</h4>
-<pre>public&nbsp;java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-">Submitter</a></code></span></div>
 <div class="block">Submit an executable.
  No configuration options are specified,
@@ -320,8 +321,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>submit</h4>
-<pre>public&nbsp;java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                                               com.google.gson.JsonObject&nbsp;config)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                          com.google.gson.JsonObject&nbsp;config)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">Submitter</a></code></span></div>
 <div class="block">Submit an executable.</div>
 <dl>
@@ -360,7 +361,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -405,6 +405,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/direct/DirectTopology.html b/site/javadoc/latest/org/apache/edgent/providers/direct/DirectTopology.html
index 94b5f3a..8071faa 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/direct/DirectTopology.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/direct/DirectTopology.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>DirectTopology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DirectTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DirectTopology (Edgent v1.1.0)";
+            parent.document.title="DirectTopology (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">org.apache.edgent.topology.spi.AbstractTopology</a>&lt;X&gt;</li>
@@ -186,8 +187,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -274,7 +275,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -319,6 +319,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/direct/class-use/DirectProvider.html b/site/javadoc/latest/org/apache/edgent/providers/direct/class-use/DirectProvider.html
index 7789564..5904b4c 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/direct/class-use/DirectProvider.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/direct/class-use/DirectProvider.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.providers.direct.DirectProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.providers.direct.DirectProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.providers.direct.DirectProvider (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.providers.direct.DirectProvider (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -95,12 +96,6 @@
  share an <code>IotDevice</code>.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -137,7 +132,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
            <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
 <div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
@@ -146,26 +141,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a> in <a href="../../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> that return <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TopologyProviderFactory.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html#newProvider--">newProvider</a></span>()</code>
-<div class="block">Get a new topology provider.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 </ul>
 </li>
 </ul>
@@ -183,12 +158,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -218,6 +192,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/direct/class-use/DirectTopology.html b/site/javadoc/latest/org/apache/edgent/providers/direct/class-use/DirectTopology.html
index 880059a..b730447 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/direct/class-use/DirectTopology.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/direct/class-use/DirectTopology.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.providers.direct.DirectTopology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.providers.direct.DirectTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.providers.direct.DirectTopology (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.providers.direct.DirectTopology (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -106,7 +107,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html#newTopology-java.lang.String-">newTopology</a></span>(java.lang.String&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -128,12 +129,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/direct/package-frame.html b/site/javadoc/latest/org/apache/edgent/providers/direct/package-frame.html
index 454406d..b6987b7 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/direct/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/direct/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.providers.direct (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.direct (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/direct/package-summary.html b/site/javadoc/latest/org/apache/edgent/providers/direct/package-summary.html
index 929c9cc..8bd5dd7 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/direct/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/direct/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.providers.direct (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.direct (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.providers.direct (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.providers.direct (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -129,7 +130,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -159,6 +159,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/direct/package-tree.html b/site/javadoc/latest/org/apache/edgent/providers/direct/package-tree.html
index 5e10a4a..a289b03 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/direct/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/direct/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.providers.direct Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.direct Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.providers.direct Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.providers.direct Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopology</span></a>&lt;X&gt; (implements org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>)
 <ul>
@@ -117,7 +118,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -147,6 +147,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/direct/package-use.html b/site/javadoc/latest/org/apache/edgent/providers/direct/package-use.html
index a1c731a..838e790 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/direct/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/direct/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.providers.direct (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.providers.direct (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.providers.direct (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.providers.direct (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -101,12 +102,6 @@
  share an <code>IotDevice</code>.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </li>
@@ -166,25 +161,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> used by <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/providers/direct/class-use/DirectProvider.html#org.apache.edgent.samples.apps">DirectProvider</a>
-<div class="block"><code>DirectProvider</code> is a <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> that
- runs a submitted topology as a <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> in threads
- in the current virtual machine.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -205,7 +181,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -235,6 +210,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/iot/IotProvider.html b/site/javadoc/latest/org/apache/edgent/providers/iot/IotProvider.html
index e169c00..8d400ae 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/iot/IotProvider.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/iot/IotProvider.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>IotProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotProvider (Edgent v1.1.0)";
+            parent.document.title="IotProvider (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.providers.iot.IotProvider</li>
@@ -114,40 +115,91 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">IotProvider</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>, <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</pre>
-<div class="block">IoT provider supporting multiple topologies with a single connection to a
- message hub. A provider that uses a single <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> to communicate
- with an IoT scale message hub.
- <a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub"><code>Publish-subscribe</code></a> is
- used to allow multiple topologies to communicate through the single
- connection.
- <P>
- This provider registers these services:
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.
+ 
+ <pre><code>
+ // sample use
+ class MyApp {
+   ...
+   public void run(String[] args) throws Exception {
+      IotProvider provider = new IotProvider((top) -&gt; new IotpDevice(top, myDeviceConfig));
+      provider.registerTopology("app1", (iotDevice, cfg) -&gt; buildApp1(iotDevice, cfg));
+      provider.start();
+   }
+   private void buildApp1(IotDevice iotDevice, JsonConfig cfg) {
+      Topology top = iotDevice.getTopology();
+      ... build the topology
+   }
+ }
+ </code></pre>
+ 
+ <p>The registered builders are subsequently invoked from
+ <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>ApplicationServiceMXBean.submit()</code></a>.  
+ Each builder invocation is given a virtual <code>IotDevice</code> for the topology's use.
+ Jobs can be stopped using their <a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><code>JobMXBean</code></a> control.
+ 
+ <p>Applications may also be registered via 
+ <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-"><code>registerJar()</code></a>.
+ See the note below regarding the <code>TopologyBuilder</code> for such applications.
+ 
+ <p>Constructed topologies may also be submitted via 
+ <a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-"><code>submit()</code></a> and are controllable
+ via their <code>JobMXBean</code>.  
+ The <code>ApplicationService</code> is unaware of these topologies.
+ 
+ <p>See the
+ <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">package documentation</a>
+ for details of using <a href="../../../../../org/apache/edgent/connectors/iot/Commands.html#CONTROL_SERVICE"><code>edgentControl</code></a> IoT device commands
+ to invoke methods on MBeans registered with the <code>ControlService</code>.
+ 
+ <p>This provider registers these services:
  <UL>
  <LI><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>control</code></a> - An instance of <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol"><code>JsonControlService</code></a>.</LI>
  <LI><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>application</code></a> - An instance of <a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice"><code>AppService</code></a>.</LI>
  <LI><a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service"><code>publish-subscribe</code></a> - An instance of <a href="../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service"><code>ProviderPubSub</code></a></LI>
- <LI>preferences (optional) - An instance of <code>java.util.pref.Preferences</code> to store application
+ <LI><code>preferences</code> (optional) - An instance of <code>java.util.prefs.Preferences</code> to store application
  and service preferences. A <code>Preferences</code> node is created if the provider is created with
  a name that is not <code>null</code>. If the preferences implementation supports persistence
  then any preferences will be maintained across provider and JVM restarts when creating a
  provider with the same name. The <code>Preferences</code> node is a user node.
  </UL>
- System applications provide this functionality:
+ 
+ <p>System applications provide:
  <UL>
  <LI>Single connection to the message hub using an <code>IotDevice</code>
  using <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot"><code>IotDevicePubSub</code></a>.
  Applications using this provider that want to connect
  to the message hub for device events and commands must create an instance of
- <code>IotDevice</code> using <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-"><code>IotDevicePubSub.addIotDevice(org.apache.edgent.topology.TopologyElement)</code></a></LI>
- <LI>Access to the control service through device commands from the message hub using command
- identifier <a href="../../../../../org/apache/edgent/connectors/iot/Commands.html#CONTROL_SERVICE"><code>edgentControl</code></a>.
+ <code>IotDevice</code> using <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-"><code>addIotDevice()</code></a>.
+ See below for more information.
+ </LI>
+ <LI>Access to the control service through device commands from the message hub.</LI>
  </UL>
- <P>
- An <code>IotProvider</code> is created with a provider and submitter that it delegates
- the creation and submission of topologies to.
- </P></div>
+ 
+ <p>If topology builders are registered with the ApplicationService using
+ something other than this provider's <code>registerTopology()</code>,
+ that code is responsible for creating the virtual IotDevice as described
+ above on each builder invocation.
+  
+ <p>For example, an application loaded and registered via
+ <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-"><code>ApplicationService.registerJar()</code></a>
+ would create the <code>IotDevice</code> for its builder in its
+ <a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html#getBuilder--"><code>TopologyBuilder.getBuilder()</code></a> implementation:
+ <pre><code>
+ class MyApp implements TopologyBuilder {  // be loadable by registerJar()
+   &#64;Override
+   public BiConsumer&lt;Topology t, JsonConfig c&gt; getBuilder() {
+     return (t, c) -&gt; buildTopology(IotDevicePubSub.addIotDevice(t), c);
+   }
+   private void buildTopology(IotDevice iotDevice, JsonConfig c) {
+     Topology t = iotDevice.getTopology();
+     ... build your topology
+   }
+ }
+ </code></pre></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a>, 
@@ -172,7 +224,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#CONTROL_APP_NAME">CONTROL_APP_NAME</a></span></code>
 <div class="block">IoT control using device commands application name.</div>
 </td>
@@ -197,20 +249,20 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
 <div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
 <div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
            <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
@@ -268,14 +320,14 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#getControlService--">getControlService</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#getName--">getName</a></span>()</code>
 <div class="block">Return the name of this provider.</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>static java.util.prefs.Preferences</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#getPreferences-java.lang.String-">getPreferences</a></span>(java.lang.String&nbsp;providerName)</code>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/prefs/Preferences.html?is-external=true" title="class or interface in java.util.prefs">Preferences</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#getPreferences-java.lang.String-">getPreferences</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerName)</code>
 <div class="block">Get the Preferences node that will be used for the IotProvider with the specified name.</div>
 </td>
 </tr>
@@ -293,7 +345,7 @@
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#newTopology-java.lang.String-">newTopology</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Create a new topology with a given name.</div>
 </td>
 </tr>
@@ -315,14 +367,14 @@
 </tr>
 <tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
 <div class="block">Register an application that uses an <code>IotDevice</code>.</div>
 </td>
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder,
                 boolean&nbsp;autoSubmit,
                 com.google.gson.JsonObject&nbsp;config)</code>
@@ -337,13 +389,13 @@
 </td>
 </tr>
 <tr id="i18" class="altColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
 <div class="block">Submit an executable.</div>
 </td>
 </tr>
 <tr id="i19" class="rowColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
       com.google.gson.JsonObject&nbsp;config)</code>
 <div class="block">Submit an executable.</div>
@@ -354,8 +406,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -377,7 +429,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>CONTROL_APP_NAME</h4>
-<pre>public static final&nbsp;java.lang.String CONTROL_APP_NAME</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONTROL_APP_NAME</pre>
 <div class="block">IoT control using device commands application name.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -416,7 +468,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>IotProvider</h4>
-<pre>public&nbsp;IotProvider(java.lang.String&nbsp;name,
+<pre>public&nbsp;IotProvider(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</pre>
 <div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
 <dl>
@@ -434,7 +486,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>IotProvider</h4>
-<pre>public&nbsp;IotProvider(java.lang.String&nbsp;name,
+<pre>public&nbsp;IotProvider(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                    <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
                    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</pre>
 <div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
@@ -454,7 +506,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>IotProvider</h4>
-<pre>public&nbsp;IotProvider(java.lang.String&nbsp;name,
+<pre>public&nbsp;IotProvider(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                    <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
                    <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
                    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</pre>
@@ -482,7 +534,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getName()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
 <div class="block">Return the name of this provider.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -549,7 +601,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>newTopology</h4>
-<pre>public final&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;newTopology(java.lang.String&nbsp;name)</pre>
+<pre>public final&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;newTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Create a new topology with a given name.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -567,7 +619,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>submit</h4>
-<pre>public final&nbsp;java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</pre>
 <div class="block">Submit an executable.
  No configuration options are specified,
  this is equivalent to <code>submit(executable, new JsonObject())</code>.</div>
@@ -587,8 +639,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>submit</h4>
-<pre>public final&nbsp;java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                                                     com.google.gson.JsonObject&nbsp;config)</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                                com.google.gson.JsonObject&nbsp;config)</pre>
 <div class="block">Submit an executable.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -643,7 +695,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getPreferences</h4>
-<pre>public static&nbsp;java.util.prefs.Preferences&nbsp;getPreferences(java.lang.String&nbsp;providerName)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/prefs/Preferences.html?is-external=true" title="class or interface in java.util.prefs">Preferences</a>&nbsp;getPreferences(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerName)</pre>
 <div class="block">Get the Preferences node that will be used for the IotProvider with the specified name.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -716,12 +768,12 @@
 <li class="blockList">
 <h4>start</h4>
 <pre>public&nbsp;void&nbsp;start()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Start this provider by starting its system applications 
  and any autoSubmit-enabled registered applications.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure starting applications.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - on failure starting applications.</dd>
 </dl>
 </li>
 </ul>
@@ -762,7 +814,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>registerTopology</h4>
-<pre>public&nbsp;void&nbsp;registerTopology(java.lang.String&nbsp;applicationName,
+<pre>public&nbsp;void&nbsp;registerTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                              <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</pre>
 <div class="block">Register an application that uses an <code>IotDevice</code>.
  <BR>
@@ -780,7 +832,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>registerTopology</h4>
-<pre>public&nbsp;void&nbsp;registerTopology(java.lang.String&nbsp;applicationName,
+<pre>public&nbsp;void&nbsp;registerTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                              <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder,
                              boolean&nbsp;autoSubmit,
                              com.google.gson.JsonObject&nbsp;config)</pre>
@@ -837,7 +889,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -882,6 +933,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/iot/class-use/IotProvider.html b/site/javadoc/latest/org/apache/edgent/providers/iot/class-use/IotProvider.html
index cfde4ce..ab1f5e6 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/iot/class-use/IotProvider.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/iot/class-use/IotProvider.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.providers.iot.IotProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.providers.iot.IotProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.providers.iot.IotProvider (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.providers.iot.IotProvider (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -72,55 +73,7 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.edgent.providers.iot.IotProvider" class="title">Uses of Class<br>org.apache.edgent.providers.iot.IotProvider</h2>
 </div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.scenarios.iotp">org.apache.edgent.samples.scenarios.iotp</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.scenarios.iotp">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a> in <a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/package-summary.html">org.apache.edgent.samples.scenarios.iotp</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/package-summary.html">org.apache.edgent.samples.scenarios.iotp</a> with parameters of type <a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</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 void</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpFullScenario.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#registerDisplay-org.apache.edgent.providers.iot.IotProvider-">registerDisplay</a></span>(<a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a>&nbsp;provider)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpFullScenario.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#registerHeartbeat-org.apache.edgent.providers.iot.IotProvider-">registerHeartbeat</a></span>(<a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a>&nbsp;provider)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpFullScenario.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#registerSensors-org.apache.edgent.providers.iot.IotProvider-">registerSensors</a></span>(<a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a>&nbsp;provider)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
+<div class="classUseContainer">No usage of org.apache.edgent.providers.iot.IotProvider</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -134,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -169,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/iot/package-frame.html b/site/javadoc/latest/org/apache/edgent/providers/iot/package-frame.html
index d028b14..436126e 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/iot/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/iot/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.providers.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/iot/package-summary.html b/site/javadoc/latest/org/apache/edgent/providers/iot/package-summary.html
index 26c2754..ab55e94 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/iot/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/iot/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.providers.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.providers.iot (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.providers.iot (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -90,8 +91,8 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></td>
 <td class="colLast">
-<div class="block">IoT provider supporting multiple topologies with a single connection to a
- message hub.</div>
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.</div>
 </td>
 </tr>
 </tbody>
@@ -112,21 +113,24 @@
  to be registered by name. Once registered an application can be started (and stopped) remotely
  through the control service using a device command.
  
+ <p>A jar may be registered remotely through a control service device command.  
+ Applications in the jar are registered with the ApplicationService and may then be started and stopped
+ remotely. 
+ 
  <H3>Supported device commands</H3>
  This provider supports a number of system level device commands to control the applications
  running within it.
  <H4>Control service</H4>
  Device commands with the command identifier '<a href="../../../../../org/apache/edgent/connectors/iot/Commands.html#CONTROL_SERVICE"><code>edgentControl</code></a>'
  are sent to the provider's control service, an instance of <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol"><code>JsonControlService</code></a>.
- This allows invocation of an operation against a control mbean registered with the
+ This allows invocation of an operation against a control MBean registered with the
  control service, either by an application or the provider itself.
- <BR>
+ <P>
  The command's data (JSON) uniquely identifies a control MBean through its type and
  alias, and indicates the operation to call on the MBean and the arguments to
  pass to the operation.
- <BR>
  Thus any control operation can be remotely invoked through a <code>edgentControl</code> device command,
- including arbitrary control mbeans registered by applications.
+ including arbitrary control MBeans registered by applications.
  
  <H4 id="providerOps">Provider operations</H4>
  <table border="1" summary="Provider operations">
@@ -151,6 +155,21 @@
  <tr></tr>
  
  <tr>
+    <td rowspan="2" headers="operation"><strong>Register an applications Jar</strong></td>
+    <td headers="cmdIdentifier"><code>edgentControl</code></td>
+    <td headers="type"><code>appService</code></td>
+    <td headers="alias"><code>edgent</code></td>
+    <td headers="op"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-"><code>registerJar</code></a></td>
+    <td headers="args"><em><code>[jarURL, configJSONObject]</code></em></td>
+    <td headers="controlMbean"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><code>ApplicationServiceMXBean</code></a></td>
+ </tr>
+ <tr>
+    <td headers="cmdIdentifier"><strong>Sample command data</strong></td>
+    <td colspan=5 headers="type alias op args controlMbean"><code>{"type":"appService","alias":"edgent","op":"registerJar","args":["https://myHost/path/to/myApp.jar",{}]}</code></td>
+ </tr>
+ <tr></tr>
+ 
+ <tr>
     <td rowspan="2" headers="operation"><strong>Close (stop) a running registered application</strong></td>
     <td headers="cmdIdentifier"><code>edgentControl</code></td>
     <td headers="type"><code>job</code></td>
@@ -164,6 +183,21 @@
     <td colspan=5 headers="type alias op args controlMbean"><code>{"type":"job","alias":"Heartbeat","op":"stateChange","args":["CLOSE"]}</code></td>
  </tr>
  <tr></tr>
+ 
+ <tr>
+    <td rowspan="2" headers="operation"><strong>Change a period control</strong></td>
+    <td headers="cmdIdentifier"><code>edgentControl</code></td>
+    <td headers="type"><em><code>varies</code></em></td>
+    <td headers="alias"><em><code>varies</code></em></td>
+    <td headers="op"><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-java.util.concurrent.TimeUnit-"><code>setPeriod</code></a></td>
+    <td headers="args"><em><code>[period, timeUnit]</code></em></td>
+    <td headers="controlMbean"><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><code>PeriodMXBean</code></a></td>
+ </tr>
+ <tr>
+    <td headers="cmdIdentifier"><strong>Sample command data (TStream.poll())</strong></td>
+    <td colspan=5 headers="type alias op args controlMbean"><code>{"type":"stream","alias":"myStreamAlias","op":"setPeriod","args":[10, "SECONDS"]}</code></td>
+ </tr>
+ <tr></tr>
  </table></div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
@@ -184,7 +218,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -214,6 +247,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/iot/package-tree.html b/site/javadoc/latest/org/apache/edgent/providers/iot/package-tree.html
index 00fc0e9..65050fe 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/iot/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/iot/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.providers.iot Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.providers.iot Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.providers.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.providers.iot.<a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot"><span class="typeNameLink">IotProvider</span></a> (implements org.apache.edgent.execution.<a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;E,J&gt;, org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>)</li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/providers/iot/package-use.html b/site/javadoc/latest/org/apache/edgent/providers/iot/package-use.html
index 010ac2a..1807e44 100644
--- a/site/javadoc/latest/org/apache/edgent/providers/iot/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/providers/iot/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.providers.iot (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.providers.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.providers.iot (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.providers.iot (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -72,43 +73,7 @@
 <div class="header">
 <h1 title="Uses of Package org.apache.edgent.providers.iot" class="title">Uses of Package<br>org.apache.edgent.providers.iot</h1>
 </div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.scenarios.iotp">org.apache.edgent.samples.scenarios.iotp</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.scenarios.iotp">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> used by <a href="../../../../../org/apache/edgent/samples/scenarios/iotp/package-summary.html">org.apache.edgent.samples.scenarios.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/providers/iot/class-use/IotProvider.html#org.apache.edgent.samples.scenarios.iotp">IotProvider</a>
-<div class="block">IoT provider supporting multiple topologies with a single connection to a
- message hub.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
+<div class="contentContainer">No usage of org.apache.edgent.providers.iot</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->
@@ -127,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -157,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/appservice/AppService.html b/site/javadoc/latest/org/apache/edgent/runtime/appservice/AppService.html
index 04a9f71..b9ee342 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/appservice/AppService.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/appservice/AppService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>AppService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AppService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AppService (Edgent v1.1.0)";
+            parent.document.title="AppService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.appservice.AppService</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">AppService</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></pre>
 <div class="block">Application service for a <code>TopologyProvider</code>.
  <BR>
@@ -159,7 +160,7 @@
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">AppService</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-          java.lang.String&nbsp;alias)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
 <div class="block">Create an <code>ApplicationService</code> instance.</div>
 </td>
 </tr>
@@ -186,22 +187,22 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#getApplicationNames--">getApplicationNames</a></span>()</code>
 <div class="block">Returns the names of applications registered with this service.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(java.lang.String&nbsp;jarURL,
-           java.lang.String&nbsp;jsonConfig)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
 <div class="block">Create a new class loader for the jar and register any
  topology application that is registered as a service provider.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
 <div class="block">Add a topology that can be started though a control mbean.</div>
 </td>
@@ -211,8 +212,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -236,7 +237,7 @@
 <h4>AppService</h4>
 <pre>public&nbsp;AppService(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
                   <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-                  java.lang.String&nbsp;alias)</pre>
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</pre>
 <div class="block">Create an <code>ApplicationService</code> instance.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -278,7 +279,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>registerTopology</h4>
-<pre>public&nbsp;void&nbsp;registerTopology(java.lang.String&nbsp;applicationName,
+<pre>public&nbsp;void&nbsp;registerTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                              <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">ApplicationService</a></code></span></div>
 <div class="block">Add a topology that can be started though a control mbean.
@@ -318,9 +319,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>registerJar</h4>
-<pre>public&nbsp;void&nbsp;registerJar(java.lang.String&nbsp;jarURL,
-                        java.lang.String&nbsp;jsonConfig)
-                 throws java.lang.Exception</pre>
+<pre>public&nbsp;void&nbsp;registerJar(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Create a new class loader for the jar and register any
  topology application that is registered as a service provider.</div>
 <dl>
@@ -330,7 +331,9 @@
 <dd><code>jarURL</code> - URL of Jar containing new applications.</dd>
 <dd><code>jsonConfig</code> - JSON configuration serialized as a String (currently unused).</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - if failure</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if failure</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html?is-external=true" title="class or interface in java.util"><code>ServiceLoader</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -340,7 +343,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getApplicationNames</h4>
-<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getApplicationNames()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getApplicationNames()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#getApplicationNames--">ApplicationService</a></code></span></div>
 <div class="block">Returns the names of applications registered with this service.</div>
 <dl>
@@ -376,7 +379,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -421,6 +423,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/appservice/AppServiceControl.html b/site/javadoc/latest/org/apache/edgent/runtime/appservice/AppServiceControl.html
index 0937a61..88de72a 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/appservice/AppServiceControl.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/appservice/AppServiceControl.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>AppServiceControl (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AppServiceControl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AppServiceControl (Edgent v1.1.0)";
+            parent.document.title="AppServiceControl (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.appservice.AppServiceControl</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">AppServiceControl</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></pre>
 </li>
 </ul>
@@ -151,16 +152,16 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(java.lang.String&nbsp;jarURL,
-           java.lang.String&nbsp;jsonConfig)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
 <div class="block">Register a jar file containing applications with
  the application service.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html#submit-java.lang.String-java.lang.String-">submit</a></span>(java.lang.String&nbsp;applicationName,
-      java.lang.String&nbsp;jsonConfig)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html#submit-java.lang.String-java.lang.String-">submit</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
 <div class="block">Submit an application registered with the application service.</div>
 </td>
 </tr>
@@ -169,8 +170,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -192,9 +193,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>submit</h4>
-<pre>public&nbsp;void&nbsp;submit(java.lang.String&nbsp;applicationName,
-                   java.lang.String&nbsp;jsonConfig)
-            throws java.lang.Exception</pre>
+<pre>public&nbsp;void&nbsp;submit(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-">ApplicationServiceMXBean</a></code></span></div>
 <div class="block">Submit an application registered with the application service.</div>
 <dl>
@@ -202,10 +203,10 @@
 <dd><code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-">submit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>applicationName</code> - Name of the application.</dd>
-<dd><code>jsonConfig</code> - JSON configuration serialized as a String.
+<dd><code>jsonConfig</code> - JsonObject configuration serialized as a JSON String.
  Null or an empty String is equivalent to an empty JSON object.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - Error submitting application.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Error submitting application.</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>ApplicationService</code></a></dd>
 </dl>
@@ -217,22 +218,24 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>registerJar</h4>
-<pre>public&nbsp;void&nbsp;registerJar(java.lang.String&nbsp;jarURL,
-                        java.lang.String&nbsp;jsonConfig)
-                 throws java.lang.Exception</pre>
+<pre>public&nbsp;void&nbsp;registerJar(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-">ApplicationServiceMXBean</a></code></span></div>
 <div class="block">Register a jar file containing applications with
- the application service. Any service providers
- in the jar of type <a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><code>TopologyBuilder</code></a> will
- be registered as applications.</div>
+ the application service.
+ 
+ <p>See <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-"><code>ApplicationService.registerJar()</code></a>
+ for further semantics and requirements on the jar.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>jarURL</code> - URL for the jar file.</dd>
-<dd><code>jsonConfig</code> - JSON configuration serialized as a String (currently unused).</dd>
+<dd><code>jsonConfig</code> - JsonObject configuration serialized as a JSON String.
+ Null or an empty String is equivalent to an empty JSON object.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - Error registering jar.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Error registering jar.</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>ApplicationService</code></a>, 
 <a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><code>TopologyBuilder</code></a></dd>
@@ -264,7 +267,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -309,6 +311,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/appservice/class-use/AppService.html b/site/javadoc/latest/org/apache/edgent/runtime/appservice/class-use/AppService.html
index 72fbf2d..c2e3f7c 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/appservice/class-use/AppService.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/appservice/class-use/AppService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.appservice.AppService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.appservice.AppService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.appservice.AppService (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.appservice.AppService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/appservice/class-use/AppServiceControl.html b/site/javadoc/latest/org/apache/edgent/runtime/appservice/class-use/AppServiceControl.html
index 80d6bc9..6800318 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/appservice/class-use/AppServiceControl.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/appservice/class-use/AppServiceControl.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.appservice.AppServiceControl (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.appservice.AppServiceControl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.appservice.AppServiceControl (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.appservice.AppServiceControl (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-frame.html b/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-frame.html
index dd1f73c..eaf9c0c 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.appservice (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.appservice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-summary.html b/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-summary.html
index 6eef0a2..be78fcc 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.appservice (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.appservice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.appservice (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.appservice (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -115,7 +116,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -145,6 +145,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-tree.html b/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-tree.html
index 97c0826..8409bcf 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.appservice Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.appservice Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.appservice Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.appservice Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.runtime.appservice.<a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">AppService</span></a> (implements org.apache.edgent.topology.services.<a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a>)</li>
 <li type="circle">org.apache.edgent.runtime.appservice.<a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">AppServiceControl</span></a> (implements org.apache.edgent.topology.mbeans.<a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a>)</li>
@@ -105,7 +106,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -135,6 +135,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-use.html b/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-use.html
index 331c1a8..b62f89e 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/appservice/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.runtime.appservice (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.appservice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.runtime.appservice (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.runtime.appservice (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/AbstractContext.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/AbstractContext.html
index 630b7f7..ee1490b 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/AbstractContext.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/AbstractContext.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>AbstractContext (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractContext (Edgent v1.1.0)";
+            parent.document.title="AbstractContext (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.etiao.AbstractContext&lt;I,O&gt;</li>
@@ -123,7 +124,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">AbstractContext&lt;I,O&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;I,O&gt;</pre>
 <div class="block">Provides a skeletal implementation of the <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><code>OpletContext</code></a>
  interface.</div>
@@ -171,13 +172,13 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#getService-java.lang.Class-">getService</a></span>(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#getService-java.lang.Class-">getService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
 <div class="block">Get a service for this invocation.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#uniquify-java.lang.String-">uniquify</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#uniquify-java.lang.String-">uniquify</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Creates a unique name within the context of the current runtime.</div>
 </td>
 </tr>
@@ -186,8 +187,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.OpletContext">
@@ -234,7 +235,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getService</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getService(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getService-java.lang.Class-">OpletContext</a></code></span></div>
 <div class="block">Get a service for this invocation.
  <P>
@@ -295,7 +296,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>uniquify</h4>
-<pre>public&nbsp;java.lang.String&nbsp;uniquify(java.lang.String&nbsp;name)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uniquify(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Creates a unique name within the context of the current runtime.
  <p>
  The default implementation adds a suffix composed of the package 
@@ -338,7 +339,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -383,6 +383,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/EtiaoJob.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/EtiaoJob.html
index ce82185..271d6ab 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/EtiaoJob.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/EtiaoJob.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>EtiaoJob (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>EtiaoJob (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EtiaoJob (Edgent v1.1.0)";
+            parent.document.title="EtiaoJob (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">org.apache.edgent.graph.spi.execution.AbstractGraphJob</a></li>
@@ -156,7 +157,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#ID_PREFIX">ID_PREFIX</a></span></code>
 <div class="block">Prefix used by job unique identifiers.</div>
 </td>
@@ -185,14 +186,14 @@
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#complete-long-java.util.concurrent.TimeUnit-">complete</a></span>(long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Waits for at most the specified time for the job to complete.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#completeClosing-long-java.util.concurrent.TimeUnit-">completeClosing</a></span>(long&nbsp;timeout,
-               java.util.concurrent.TimeUnit&nbsp;unit)</code>
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Complete job closing.</div>
 </td>
 </tr>
@@ -201,13 +202,13 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#completeTransition--">completeTransition</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#getId--">getId</a></span>()</code>
 <div class="block">Get the runtime identifier for the job containing this <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#getName--">getName</a></span>()</code>
 <div class="block">Get the name of the job containing this <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
 </td>
@@ -234,8 +235,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -257,7 +258,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ID_PREFIX</h4>
-<pre>public static final&nbsp;java.lang.String ID_PREFIX</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ID_PREFIX</pre>
 <div class="block">Prefix used by job unique identifiers.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -279,7 +280,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getName()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/JobContext.html#getName--">JobContext</a></code></span></div>
 <div class="block">Get the name of the job containing this <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
 <dl>
@@ -298,7 +299,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/JobContext.html#getId--">JobContext</a></code></span></div>
 <div class="block">Get the runtime identifier for the job containing this <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
 <dl>
@@ -350,16 +351,16 @@
 <li class="blockList">
 <h4>complete</h4>
 <pre>public&nbsp;void&nbsp;complete()
-              throws java.util.concurrent.ExecutionException,
-                     java.lang.InterruptedException</pre>
+              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Job.html#complete--">Job</a></code></span></div>
 <div class="block">Waits for any outstanding job work to complete.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/edgent/execution/Job.html#complete--">complete</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.util.concurrent.ExecutionException</code> - if the job execution threw an exception.</dd>
-<dd><code>java.lang.InterruptedException</code> - if the current thread was interrupted while waiting</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if the job execution threw an exception.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the current thread was interrupted while waiting</dd>
 </dl>
 </li>
 </ul>
@@ -370,10 +371,10 @@
 <li class="blockList">
 <h4>complete</h4>
 <pre>public&nbsp;void&nbsp;complete(long&nbsp;timeout,
-                     java.util.concurrent.TimeUnit&nbsp;unit)
-              throws java.util.concurrent.ExecutionException,
-                     java.lang.InterruptedException,
-                     java.util.concurrent.TimeoutException</pre>
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
+              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Job.html#complete-long-java.util.concurrent.TimeUnit-">Job</a></code></span></div>
 <div class="block">Waits for at most the specified time for the job to complete.</div>
 <dl>
@@ -383,9 +384,9 @@
 <dd><code>timeout</code> - the time to wait</dd>
 <dd><code>unit</code> - the time unit of the timeout argument</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.util.concurrent.ExecutionException</code> - if the job execution threw an exception.</dd>
-<dd><code>java.lang.InterruptedException</code> - if the current thread was interrupted while waiting</dd>
-<dd><code>java.util.concurrent.TimeoutException</code> - if the wait timed out</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if the job execution threw an exception.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the current thread was interrupted while waiting</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></code> - if the wait timed out</dd>
 </dl>
 </li>
 </ul>
@@ -396,10 +397,10 @@
 <li class="blockList">
 <h4>completeClosing</h4>
 <pre>public&nbsp;void&nbsp;completeClosing(long&nbsp;timeout,
-                            java.util.concurrent.TimeUnit&nbsp;unit)
-                     throws java.util.concurrent.ExecutionException,
-                            java.lang.InterruptedException,
-                            java.util.concurrent.TimeoutException</pre>
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
+                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></pre>
 <div class="block">Complete job closing.  This method can be invoked after a job close 
  has been initiated.</div>
 <dl>
@@ -407,9 +408,9 @@
 <dd><code>timeout</code> - the time to wait</dd>
 <dd><code>unit</code> - TimeUnit</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.util.concurrent.ExecutionException</code> - if the job execution threw an ExecutionException.</dd>
-<dd><code>java.lang.InterruptedException</code> - if the job execution threw an InterruptedException.</dd>
-<dd><code>java.util.concurrent.TimeoutException</code> - if the job execution threw an TimeoutException.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if the job execution threw an ExecutionException.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the job execution threw an InterruptedException.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></code> - if the job execution threw an TimeoutException.</dd>
 </dl>
 </li>
 </ul>
@@ -447,7 +448,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -492,6 +492,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/Executable.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/Executable.html
index f77514e..dafa251 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/Executable.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/Executable.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>Executable (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Executable (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Executable (Edgent v1.1.0)";
+            parent.document.title="Executable (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.etiao.Executable</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Executable</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></pre>
 <div class="block">Executes and provides runtime services to the executable graph 
  elements (oplets and functions).</div>
@@ -136,15 +137,15 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">Executable</a></span>(java.lang.String&nbsp;name,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">Executable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
           <a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices)</code>
 <div class="block">Creates a new <code>Executable</code> for the specified job.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-java.util.concurrent.ThreadFactory-">Executable</a></span>(java.lang.String&nbsp;name,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-java.util.concurrent.ThreadFactory-">Executable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
           <a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices,
-          java.util.concurrent.ThreadFactory&nbsp;threads)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threads)</code>
 <div class="block">Creates a new <code>Executable</code> for the specified topology name, which uses the 
  given thread factory to create new threads for oplet execution.</div>
 </td>
@@ -182,15 +183,15 @@
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#createJob-org.apache.edgent.graph.Graph-java.lang.String-java.lang.String-">createJob</a></span>(<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph,
-         java.lang.String&nbsp;topologyName,
-         java.lang.String&nbsp;jobName)</code>&nbsp;</td>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.Throwable</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#getLastError--">getLastError</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.util.concurrent.ScheduledExecutorService</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#getScheduler--">getScheduler</a></span>()</code>
 <div class="block">Returns the <code>ScheduledExecutorService</code> used for running 
  executable graph elements.</div>
@@ -198,7 +199,7 @@
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#getService-java.lang.Class-">getService</a></span>(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#getService-java.lang.Class-">getService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
 <div class="block">Acts as a service provider for executable elements in the graph, first
  looking for a service specific to this job, and then one from the 
  container.</div>
@@ -227,8 +228,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -250,7 +251,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>Executable</h4>
-<pre>public&nbsp;Executable(java.lang.String&nbsp;name,
+<pre>public&nbsp;Executable(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                   <a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices)</pre>
 <div class="block">Creates a new <code>Executable</code> for the specified job.</div>
 <dl>
@@ -266,9 +267,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Executable</h4>
-<pre>public&nbsp;Executable(java.lang.String&nbsp;name,
+<pre>public&nbsp;Executable(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                   <a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices,
-                  java.util.concurrent.ThreadFactory&nbsp;threads)</pre>
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threads)</pre>
 <div class="block">Creates a new <code>Executable</code> for the specified topology name, which uses the 
  given thread factory to create new threads for oplet execution.</div>
 <dl>
@@ -293,7 +294,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getScheduler</h4>
-<pre>public&nbsp;java.util.concurrent.ScheduledExecutorService&nbsp;getScheduler()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;getScheduler()</pre>
 <div class="block">Returns the <code>ScheduledExecutorService</code> used for running 
  executable graph elements.</div>
 <dl>
@@ -308,7 +309,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getService</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getService(java.lang.Class&lt;T&gt;&nbsp;serviceClass)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
 <div class="block">Acts as a service provider for executable elements in the graph, first
  looking for a service specific to this job, and then one from the 
  container.</div>
@@ -403,7 +404,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastError</h4>
-<pre>public&nbsp;java.lang.Throwable&nbsp;getLastError()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;getLastError()</pre>
 </li>
 </ul>
 <a name="createJob-org.apache.edgent.graph.Graph-java.lang.String-java.lang.String-">
@@ -413,8 +414,8 @@
 <li class="blockList">
 <h4>createJob</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;createJob(<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph,
-                     java.lang.String&nbsp;topologyName,
-                     java.lang.String&nbsp;jobName)</pre>
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName)</pre>
 </li>
 </ul>
 </li>
@@ -442,7 +443,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -487,6 +487,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/Invocation.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/Invocation.html
index 6fb32f0..13967b5 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/Invocation.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/Invocation.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>Invocation (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Invocation (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Invocation (Edgent v1.1.0)";
+            parent.document.title="Invocation (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.etiao.Invocation&lt;T,I,O&gt;</li>
@@ -115,13 +116,13 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.AutoCloseable</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Invocation&lt;T extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;</span>
-extends java.lang.Object
-implements java.lang.AutoCloseable</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></pre>
 <div class="block">An <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a> invocation in the context of the 
  <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">ETIAO</a> runtime.</div>
 </li>
@@ -143,7 +144,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#ID_PREFIX">ID_PREFIX</a></span></code>
 <div class="block">Prefix used by oplet unique identifiers.</div>
 </td>
@@ -165,7 +166,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#Invocation-java.lang.String-T-int-int-">Invocation</a></span>(java.lang.String&nbsp;id,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#Invocation-java.lang.String-T-int-int-">Invocation</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
           <a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">T</a>&nbsp;oplet,
           int&nbsp;inputCount,
           int&nbsp;outputCount)</code>&nbsp;</td>
@@ -202,13 +203,13 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#getId--">getId</a></span>()</code>
 <div class="block">Returns the unique identifier associated with this <code>Invocation</code>.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#getInputs--">getInputs</a></span>()</code>
 <div class="block">Returns the list of input stream forwarders for this invocation.</div>
 </td>
@@ -253,7 +254,7 @@
 </td>
 </tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#toString--">toString</a></span>()</code>
 <div class="block">For debug.</div>
 </td>
@@ -263,8 +264,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -286,7 +287,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ID_PREFIX</h4>
-<pre>public static final&nbsp;java.lang.String ID_PREFIX</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ID_PREFIX</pre>
 <div class="block">Prefix used by oplet unique identifiers.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -310,7 +311,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Invocation</h4>
-<pre>protected&nbsp;Invocation(java.lang.String&nbsp;id,
+<pre>protected&nbsp;Invocation(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
                      <a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">T</a>&nbsp;oplet,
                      int&nbsp;inputCount,
                      int&nbsp;outputCount)</pre>
@@ -330,7 +331,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
 <div class="block">Returns the unique identifier associated with this <code>Invocation</code>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -433,7 +434,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getInputs</h4>
-<pre>public&nbsp;java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>&gt;&gt;&nbsp;getInputs()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>&gt;&gt;&nbsp;getInputs()</pre>
 <div class="block">Returns the list of input stream forwarders for this invocation.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -475,12 +476,12 @@
 <li class="blockList">
 <h4>close</h4>
 <pre>public&nbsp;void&nbsp;close()
-           throws java.lang.Exception</pre>
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -490,11 +491,11 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <div class="block">For debug. Contents subject to change.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -523,7 +524,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -568,6 +568,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/InvocationContext.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/InvocationContext.html
index 7efd705..29569e8 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/InvocationContext.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/InvocationContext.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>InvocationContext (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>InvocationContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InvocationContext (Edgent v1.1.0)";
+            parent.document.title="InvocationContext (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao.AbstractContext</a>&lt;I,O&gt;</li>
@@ -144,12 +145,12 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(java.lang.String&nbsp;id,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
                  <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
                  <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
                  int&nbsp;inputCount,
-                 java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
-                 java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
 <div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
 </td>
 </tr>
@@ -169,7 +170,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getId--">getId</a></span>()</code>
 <div class="block">Get the unique identifier (within the running job)
  for this oplet.</div>
@@ -182,7 +183,7 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputContext--">getOutputContext</a></span>()</code>
 <div class="block">Get the oplet's output port context information.</div>
 </td>
@@ -194,7 +195,7 @@
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputs--">getOutputs</a></span>()</code>
 <div class="block">Get the mechanism to submit tuples on an output port.</div>
 </td>
@@ -211,8 +212,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -234,12 +235,12 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>InvocationContext</h4>
-<pre>public&nbsp;InvocationContext(java.lang.String&nbsp;id,
+<pre>public&nbsp;InvocationContext(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
                          <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
                          <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
                          int&nbsp;inputCount,
-                         java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
-                         java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</pre>
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</pre>
 <div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -266,7 +267,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getId--">OpletContext</a></code></span></div>
 <div class="block">Get the unique identifier (within the running job)
  for this oplet.</div>
@@ -282,7 +283,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getOutputs</h4>
-<pre>public&nbsp;java.util.List&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;getOutputs()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;getOutputs()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputs--">OpletContext</a></code></span></div>
 <div class="block">Get the mechanism to submit tuples on an output port.</div>
 <dl>
@@ -327,7 +328,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getOutputContext</h4>
-<pre>public&nbsp;java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;getOutputContext()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;getOutputContext()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputContext--">OpletContext</a></code></span></div>
 <div class="block">Get the oplet's output port context information.</div>
 <dl>
@@ -361,7 +362,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -406,6 +406,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/SettableForwarder.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/SettableForwarder.html
index d78ef97..43c0c13 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/SettableForwarder.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/SettableForwarder.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>SettableForwarder (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SettableForwarder (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SettableForwarder (Edgent v1.1.0)";
+            parent.document.title="SettableForwarder (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.etiao.SettableForwarder&lt;T&gt;</li>
@@ -113,12 +114,12 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public final class <span class="typeNameLabel">SettableForwarder&lt;T&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</pre>
 <div class="block">A forwarding Streamer whose destination
  can be changed.
@@ -194,8 +195,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -317,7 +318,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -362,6 +362,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html
index dc2b38b..69a0b7c 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>ThreadFactoryTracker (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ThreadFactoryTracker (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ThreadFactoryTracker (Edgent v1.1.0)";
+            parent.document.title="ThreadFactoryTracker (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.etiao.ThreadFactoryTracker</li>
@@ -109,13 +110,13 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.util.concurrent.ThreadFactory</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">ThreadFactoryTracker</span>
-extends java.lang.Object
-implements java.util.concurrent.ThreadFactory</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a></pre>
 <div class="block">Tracks threads created for executing user tasks.
  <p>
  All user threads are interrupted when the tracker is shutdown.
@@ -125,7 +126,7 @@
  to an uncaught exception.</p>
  <p>
  If no <code>ThreadFactory</code> is provided, then this object uses the
- factory returned by <code>Executors.defaultThreadFactory()</code>.</p></div>
+ factory returned by <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executors.html?is-external=true#defaultThreadFactory--" title="class or interface in java.util.concurrent"><code>Executors.defaultThreadFactory()</code></a>.</p></div>
 </li>
 </ul>
 </div>
@@ -152,8 +153,8 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.lang.Thread</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html#newThread-java.lang.Runnable-">newThread</a></span>(java.lang.Runnable&nbsp;r)</code>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html#newThread-java.lang.Runnable-">newThread</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;r)</code>
 <div class="block">Return a thread.</div>
 </td>
 </tr>
@@ -176,8 +177,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -199,11 +200,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>newThread</h4>
-<pre>public&nbsp;java.lang.Thread&nbsp;newThread(java.lang.Runnable&nbsp;r)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a>&nbsp;newThread(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;r)</pre>
 <div class="block">Return a thread.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>newThread</code>&nbsp;in interface&nbsp;<code>java.util.concurrent.ThreadFactory</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true#newThread-java.lang.Runnable-" title="class or interface in java.util.concurrent">newThread</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -228,7 +229,7 @@
 <div class="block">Interrupts all user treads and briefly waits for each thread to finish
  execution.
  
- User tasks must catch <code>InterruptedException</code> and exit the task.</div>
+ User tasks must catch <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang"><code>InterruptedException</code></a> and exit the task.</div>
 </li>
 </ul>
 <a name="hasActiveNonDaemonThreads--">
@@ -272,7 +273,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -317,6 +317,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html
index 0059edc..f602371 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>TrackingScheduledExecutor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TrackingScheduledExecutor (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TrackingScheduledExecutor (Edgent v1.1.0)";
+            parent.document.title="TrackingScheduledExecutor (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,16 +98,16 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>java.util.concurrent.AbstractExecutorService</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">java.util.concurrent.AbstractExecutorService</a></li>
 <li>
 <ul class="inheritance">
-<li>java.util.concurrent.ThreadPoolExecutor</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">java.util.concurrent.ThreadPoolExecutor</a></li>
 <li>
 <ul class="inheritance">
-<li>java.util.concurrent.ScheduledThreadPoolExecutor</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">java.util.concurrent.ScheduledThreadPoolExecutor</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.etiao.TrackingScheduledExecutor</li>
@@ -124,12 +125,12 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.util.concurrent.Executor, java.util.concurrent.ExecutorService, java.util.concurrent.ScheduledExecutorService</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public final class <span class="typeNameLabel">TrackingScheduledExecutor</span>
-extends java.util.concurrent.ScheduledThreadPoolExecutor</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledThreadPoolExecutor</a></pre>
 <div class="block">Extends a <code>ScheduledThreadPoolExecutor</code> with the ability to track 
  scheduled tasks and cancel them in case a task completes abruptly due to 
  an exception.
@@ -152,8 +153,8 @@
 <li class="blockList"><a name="nested.classes.inherited.from.class.java.util.concurrent.ThreadPoolExecutor">
 <!--   -->
 </a>
-<h3>Nested classes/interfaces inherited from class&nbsp;java.util.concurrent.ThreadPoolExecutor</h3>
-<code>java.util.concurrent.ThreadPoolExecutor.AbortPolicy, java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardPolicy</code></li>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.AbortPolicy.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor.AbortPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.CallerRunsPolicy.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor.CallerRunsPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.DiscardOldestPolicy.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor.DiscardOldestPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.DiscardPolicy.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor.DiscardPolicy</a></code></li>
 </ul>
 </li>
 </ul>
@@ -171,20 +172,20 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#afterExecute-java.lang.Runnable-java.lang.Throwable-">afterExecute</a></span>(java.lang.Runnable&nbsp;r,
-            java.lang.Throwable&nbsp;t)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#afterExecute-java.lang.Runnable-java.lang.Throwable-">afterExecute</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;r,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</code>
 <div class="block">Invoked by the super class after each task execution.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>protected &lt;V&gt;&nbsp;java.util.concurrent.RunnableScheduledFuture&lt;V&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#decorateTask-java.util.concurrent.Callable-java.util.concurrent.RunnableScheduledFuture-">decorateTask</a></span>(java.util.concurrent.Callable&lt;V&gt;&nbsp;c,
-            java.util.concurrent.RunnableScheduledFuture&lt;V&gt;&nbsp;task)</code>&nbsp;</td>
+<td class="colFirst"><code>protected &lt;V&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#decorateTask-java.util.concurrent.Callable-java.util.concurrent.RunnableScheduledFuture-">decorateTask</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;&nbsp;c,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;task)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>protected &lt;V&gt;&nbsp;java.util.concurrent.RunnableScheduledFuture&lt;V&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#decorateTask-java.lang.Runnable-java.util.concurrent.RunnableScheduledFuture-">decorateTask</a></span>(java.lang.Runnable&nbsp;runnable,
-            java.util.concurrent.RunnableScheduledFuture&lt;V&gt;&nbsp;task)</code>&nbsp;</td>
+<td class="colFirst"><code>protected &lt;V&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#decorateTask-java.lang.Runnable-java.util.concurrent.RunnableScheduledFuture-">decorateTask</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;runnable,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;task)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
@@ -194,8 +195,8 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">newScheduler</a></span>(java.util.concurrent.ThreadFactory&nbsp;threadFactory,
-            <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.lang.Object,java.lang.Throwable&gt;&nbsp;completionHandler)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">newScheduler</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threadFactory,
+            <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;completionHandler)</code>
 <div class="block">Creates an <code>TrackingScheduledExecutor</code> using the supplied thread 
  factory and a completion handler.</div>
 </td>
@@ -205,36 +206,36 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.util.concurrent.ScheduledThreadPoolExecutor">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.util.concurrent.ScheduledThreadPoolExecutor</h3>
-<code>execute, getContinueExistingPeriodicTasksAfterShutdownPolicy, getExecuteExistingDelayedTasksAfterShutdownPolicy, getQueue, getRemoveOnCancelPolicy, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, setContinueExistingPeriodicTasksAfterShutdownPolicy, setExecuteExistingDelayedTasksAfterShutdownPolicy, setRemoveOnCancelPolicy, shutdown, shutdownNow, submit, submit, submit</code></li>
+<h3>Methods inherited from class&nbsp;java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledThreadPoolExecutor</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#execute-java.lang.Runnable-" title="class or interface in java.util.concurrent">execute</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#getContinueExistingPeriodicTasksAfterShutdownPolicy--" title="class or interface in java.util.concurrent">getContinueExistingPeriodicTasksAfterShutdownPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#getExecuteExistingDelayedTasksAfterShutdownPolicy--" title="class or interface in java.util.concurrent">getExecuteExistingDelayedTasksAfterShutdownPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#getQueue--" title="class or interface in java.util.concurrent">getQueue</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#getRemoveOnCancelPolicy--" title="class or interface in java.util.concurrent">getRemoveOnCancelPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#schedule-java.util.concurrent.Callable-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">schedule</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#schedule-java.lang.Runnable-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">schedule</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#scheduleAtFixedRate-java.lang.Runnable-long-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">scheduleAtFixedRate</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#scheduleWithFixedDelay-java.lang.Runnable-long-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">scheduleWithFixedDelay</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#setContinueExistingPeriodicTasksAfterShutdownPolicy-boolean-" title="class or interface in java.util.concurrent">setContinueExistingPeriodicTasksAfterShutdownPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#setExecuteExistingDelayedTasksAfterShutdownPolicy-boolean-" title="class or interface in java.util.concurrent">setExecuteExistingDelayedTasksAfterShutdownPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#setRemoveOnCancelPolicy-boolean-" title="class or interface in java.util.concurrent">setRemoveOnCancelPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#shutdown--" title="class or interface in java.util.concurrent">shutdown</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#shutdownNow--" title="class or interface in java.util.concurrent">shutdownNow</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#submit-java.util.concurrent.Callable-" title="class or interface in java.util.concurrent">submit</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#submit-java.lang.Runnable-" title="class or interface in java.util.concurrent">submit</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#submit-java.lang.Runnable-T-" title="class or interface in java.util.concurrent">submit</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.util.concurrent.ThreadPoolExecutor">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.util.concurrent.ThreadPoolExecutor</h3>
-<code>allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, beforeExecute, finalize, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, terminated, toString</code></li>
+<h3>Methods inherited from class&nbsp;java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#allowCoreThreadTimeOut-boolean-" title="class or interface in java.util.concurrent">allowCoreThreadTimeOut</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#allowsCoreThreadTimeOut--" title="class or interface in java.util.concurrent">allowsCoreThreadTimeOut</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#awaitTermination-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">awaitTermination</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#beforeExecute-java.lang.Thread-java.lang.Runnable-" title="class or interface in java.util.concurrent">beforeExecute</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#finalize--" title="class or interface in java.util.concurrent">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getActiveCount--" title="class or interface in java.util.concurrent">getActiveCount</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getCompletedTaskCount--" title="class or interface in java.util.concurrent">getCompletedTaskCount</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getCorePoolSize--" title="class or interface in java.util.concurrent">getCorePoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getKeepAliveTime-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">getKeepAliveTime</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getLargestPoolSize--" title="class or interface in java.util.concurrent">getLargestPoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getMaximumPoolSize--" title="class or interface in java.util.concurrent">getMaximumPoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getPoolSize--" title="class or interface in java.util.concurrent">getPoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getRejectedExecutionHandler--" title="class or interface in java.util.concurrent">getRejectedExecutionHandler</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getTaskCount--" title="class or interface in java.util.concurrent">getTaskCount</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getThreadFactory--" title="class or interface in java.util.concurrent">getThreadFactory</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#isShutdown--" title="class or interface in java.util.concurrent">isShutdown</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#isTerminated--" title="class or interface in java.util.concurrent">isTerminated</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#isTerminating--" title="class or interface in java.util.concurrent">isTerminating</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#prestartAllCoreThreads--" title="class or interface in java.util.concurrent">prestartAllCoreThreads</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#prestartCoreThread--" title="class or interface in java.util.concurrent">prestartCoreThread</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#purge--" title="class or interface in java.util.concurrent">purge</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#remove-java.lang.Runnable-" title="class or interface in java.util.concurrent">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#setCorePoolSize-int-" title="class or interface in java.util.concurrent">setCorePoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#setKeepAliveTime-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">setKeepAliveTime</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#setMaximumPoolSize-int-" title="class or interface in java.util.concurrent">setMaximumPoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#setRejectedExecutionHandler-java.util.concurrent.RejectedExecutionHandler-" title="class or interface in java.util.concurrent">setRejectedExecutionHandler</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#setThreadFactory-java.util.concurrent.ThreadFactory-" title="class or interface in java.util.concurrent">setThreadFactory</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#terminated--" title="class or interface in java.util.concurrent">terminated</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#toString--" title="class or interface in java.util.concurrent">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.util.concurrent.AbstractExecutorService">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.util.concurrent.AbstractExecutorService</h3>
-<code>invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor</code></li>
+<h3>Methods inherited from class&nbsp;java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">AbstractExecutorService</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#invokeAll-java.util.Collection-" title="class or interface in java.util.concurrent">invokeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#invokeAll-java.util.Collection-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">invokeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#invokeAny-java.util.Collection-" title="class or interface in java.util.concurrent">invokeAny</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#invokeAny-java.util.Collection-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">invokeAny</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#newTaskFor-java.util.concurrent.Callable-" title="class or interface in java.util.concurrent">newTaskFor</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#newTaskFor-java.lang.Runnable-T-" title="class or interface in java.util.concurrent">newTaskFor</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.util.concurrent.ExecutorService">
 <!--   -->
 </a>
-<h3>Methods inherited from interface&nbsp;java.util.concurrent.ExecutorService</h3>
-<code>awaitTermination, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isTerminated</code></li>
+<h3>Methods inherited from interface&nbsp;java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#awaitTermination-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">awaitTermination</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#invokeAll-java.util.Collection-" title="class or interface in java.util.concurrent">invokeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#invokeAll-java.util.Collection-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">invokeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#invokeAny-java.util.Collection-" title="class or interface in java.util.concurrent">invokeAny</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#invokeAny-java.util.Collection-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">invokeAny</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#isShutdown--" title="class or interface in java.util.concurrent">isShutdown</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#isTerminated--" title="class or interface in java.util.concurrent">isTerminated</a></code></li>
 </ul>
 </li>
 </ul>
@@ -256,8 +257,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>newScheduler</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a>&nbsp;newScheduler(java.util.concurrent.ThreadFactory&nbsp;threadFactory,
-                                                     <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.lang.Object,java.lang.Throwable&gt;&nbsp;completionHandler)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a>&nbsp;newScheduler(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threadFactory,
+                                                     <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;completionHandler)</pre>
 <div class="block">Creates an <code>TrackingScheduledExecutor</code> using the supplied thread 
  factory and a completion handler.</div>
 <dl>
@@ -276,12 +277,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>afterExecute</h4>
-<pre>protected&nbsp;void&nbsp;afterExecute(java.lang.Runnable&nbsp;r,
-                            java.lang.Throwable&nbsp;t)</pre>
+<pre>protected&nbsp;void&nbsp;afterExecute(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;r,
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</pre>
 <div class="block">Invoked by the super class after each task execution.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>afterExecute</code>&nbsp;in class&nbsp;<code>java.util.concurrent.ThreadPoolExecutor</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#afterExecute-java.lang.Runnable-java.lang.Throwable-" title="class or interface in java.util.concurrent">afterExecute</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -291,11 +292,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>decorateTask</h4>
-<pre>protected&nbsp;&lt;V&gt;&nbsp;java.util.concurrent.RunnableScheduledFuture&lt;V&gt;&nbsp;decorateTask(java.lang.Runnable&nbsp;runnable,
-                                                                           java.util.concurrent.RunnableScheduledFuture&lt;V&gt;&nbsp;task)</pre>
+<pre>protected&nbsp;&lt;V&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;decorateTask(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;runnable,
+                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;task)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>decorateTask</code>&nbsp;in class&nbsp;<code>java.util.concurrent.ScheduledThreadPoolExecutor</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#decorateTask-java.lang.Runnable-java.util.concurrent.RunnableScheduledFuture-" title="class or interface in java.util.concurrent">decorateTask</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledThreadPoolExecutor</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -305,11 +306,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>decorateTask</h4>
-<pre>protected&nbsp;&lt;V&gt;&nbsp;java.util.concurrent.RunnableScheduledFuture&lt;V&gt;&nbsp;decorateTask(java.util.concurrent.Callable&lt;V&gt;&nbsp;c,
-                                                                           java.util.concurrent.RunnableScheduledFuture&lt;V&gt;&nbsp;task)</pre>
+<pre>protected&nbsp;&lt;V&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;decorateTask(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;&nbsp;c,
+                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;task)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>decorateTask</code>&nbsp;in class&nbsp;<code>java.util.concurrent.ScheduledThreadPoolExecutor</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#decorateTask-java.util.concurrent.Callable-java.util.concurrent.RunnableScheduledFuture-" title="class or interface in java.util.concurrent">decorateTask</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledThreadPoolExecutor</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -355,7 +356,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -400,6 +400,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/AbstractContext.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/AbstractContext.html
index dc77ac3..aa74b5e 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/AbstractContext.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/AbstractContext.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.AbstractContext (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.AbstractContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.AbstractContext (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.AbstractContext (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -131,12 +132,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/EtiaoJob.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/EtiaoJob.html
index 2ca991b..a8ae76a 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/EtiaoJob.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/EtiaoJob.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.EtiaoJob (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.EtiaoJob (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.EtiaoJob (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.EtiaoJob (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -131,12 +132,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/Executable.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/Executable.html
index 1a58735..5f6484f 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/Executable.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/Executable.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.Executable (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.Executable (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.Executable (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.Executable (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -128,12 +129,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/Invocation.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/Invocation.html
index 0a56187..35d9878 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/Invocation.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/Invocation.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.Invocation (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.Invocation (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.Invocation (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.Invocation (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -133,12 +134,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -168,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/InvocationContext.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/InvocationContext.html
index 7c8d0f1..8ace00f 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/InvocationContext.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/InvocationContext.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.InvocationContext (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.InvocationContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.InvocationContext (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.InvocationContext (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/SettableForwarder.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/SettableForwarder.html
index 94b6e94..7793054 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/SettableForwarder.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/SettableForwarder.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.SettableForwarder (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.SettableForwarder (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.SettableForwarder (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.SettableForwarder (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/ThreadFactoryTracker.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/ThreadFactoryTracker.html
index 0fde128..cb61ffc 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/ThreadFactoryTracker.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/ThreadFactoryTracker.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.ThreadFactoryTracker (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.ThreadFactoryTracker (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.ThreadFactoryTracker (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.ThreadFactoryTracker (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/TrackingScheduledExecutor.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/TrackingScheduledExecutor.html
index 9c799c8..2b5bbed 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/TrackingScheduledExecutor.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/class-use/TrackingScheduledExecutor.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.TrackingScheduledExecutor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.TrackingScheduledExecutor (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.TrackingScheduledExecutor (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.TrackingScheduledExecutor (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -107,8 +108,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TrackingScheduledExecutor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">newScheduler</a></span>(java.util.concurrent.ThreadFactory&nbsp;threadFactory,
-            <a href="../../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.lang.Object,java.lang.Throwable&gt;&nbsp;completionHandler)</code>
+<td class="colLast"><span class="typeNameLabel">TrackingScheduledExecutor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">newScheduler</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threadFactory,
+            <a href="../../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;completionHandler)</code>
 <div class="block">Creates an <code>TrackingScheduledExecutor</code> using the supplied thread 
  factory and a completion handler.</div>
 </td>
@@ -133,12 +134,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -168,6 +168,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/DirectGraph.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/DirectGraph.html
index efe1795..a75c08d 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/DirectGraph.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/DirectGraph.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>DirectGraph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DirectGraph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DirectGraph (Edgent v1.1.0)";
+            parent.document.title="DirectGraph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">org.apache.edgent.graph.spi.AbstractGraph</a>&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a>&gt;</li>
@@ -140,7 +141,7 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#DirectGraph-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">DirectGraph</a></span>(java.lang.String&nbsp;topologyName,
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#DirectGraph-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">DirectGraph</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
            <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;container)</code>
 <div class="block">Creates a new <code>DirectGraph</code> instance underlying the specified 
  topology.</div>
@@ -168,13 +169,13 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getEdges--">getEdges</a></span>()</code>
 <div class="block">Return an unmodifiable view of all edges in this graph.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.util.Collection&lt;<a href="../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getVertices--">getVertices</a></span>()</code>
 <div class="block">Return an unmodifiable view of all vertices in this graph.</div>
 </td>
@@ -199,8 +200,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -222,7 +223,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DirectGraph</h4>
-<pre>public&nbsp;DirectGraph(java.lang.String&nbsp;topologyName,
+<pre>public&nbsp;DirectGraph(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
                    <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;container)</pre>
 <div class="block">Creates a new <code>DirectGraph</code> instance underlying the specified 
  topology.</div>
@@ -289,7 +290,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getVertices</h4>
-<pre>public&nbsp;java.util.Collection&lt;<a href="../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;&nbsp;getVertices()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;&nbsp;getVertices()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/graph/Graph.html#getVertices--">Graph</a></code></span></div>
 <div class="block">Return an unmodifiable view of all vertices in this graph.</div>
 <dl>
@@ -304,7 +305,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getEdges</h4>
-<pre>public&nbsp;java.util.Collection&lt;<a href="../../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;&nbsp;getEdges()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;&nbsp;getEdges()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/graph/Graph.html#getEdges--">Graph</a></code></span></div>
 <div class="block">Return an unmodifiable view of all edges in this graph.</div>
 <dl>
@@ -338,7 +339,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -383,6 +383,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html
index 0eaa06b..60bbb07 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>ExecutableVertex (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ExecutableVertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExecutableVertex (Edgent v1.1.0)";
+            parent.document.title="ExecutableVertex (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">org.apache.edgent.graph.spi.AbstractVertex</a>&lt;N,C,P&gt;</li>
@@ -145,7 +146,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;org.apache.edgent.runtime.etiao.graph.EtiaoConnector&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.edgent.runtime.etiao.graph.EtiaoConnector&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#getConnectors--">getConnectors</a></span>()</code>
 <div class="block">Get the vertice's collection of output connectors.</div>
 </td>
@@ -157,7 +158,7 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#getInvocationId--">getInvocationId</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
@@ -167,7 +168,7 @@
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#toString--">toString</a></span>()</code>
 <div class="block">For debug.</div>
 </td>
@@ -177,8 +178,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -245,7 +246,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnectors</h4>
-<pre>public&nbsp;java.util.List&lt;org.apache.edgent.runtime.etiao.graph.EtiaoConnector&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt;&gt;&nbsp;getConnectors()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.edgent.runtime.etiao.graph.EtiaoConnector&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt;&gt;&nbsp;getConnectors()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/graph/Vertex.html#getConnectors--">Vertex</a></code></span></div>
 <div class="block">Get the vertice's collection of output connectors.</div>
 <dl>
@@ -260,7 +261,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getInvocationId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getInvocationId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getInvocationId()</pre>
 </li>
 </ul>
 <a name="toString--">
@@ -269,11 +270,11 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <div class="block">For debug. Contents subject to change.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -302,7 +303,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -347,6 +347,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/class-use/DirectGraph.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/class-use/DirectGraph.html
index e443bb5..665b086 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/class-use/DirectGraph.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/class-use/DirectGraph.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.graph.DirectGraph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.DirectGraph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.DirectGraph (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.DirectGraph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -151,12 +152,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -186,6 +186,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/class-use/ExecutableVertex.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/class-use/ExecutableVertex.html
index dc3819f..25e7f78 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/class-use/ExecutableVertex.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/class-use/ExecutableVertex.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.graph.ExecutableVertex (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.ExecutableVertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.ExecutableVertex (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.ExecutableVertex (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -128,12 +129,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/EdgeType.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/EdgeType.html
index 74aa853..471ceca 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/EdgeType.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/EdgeType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>EdgeType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>EdgeType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EdgeType (Edgent v1.1.0)";
+            parent.document.title="EdgeType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.etiao.graph.model.EdgeType</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">EdgeType</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Represents an edge between two <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>VertexType</code></a> nodes.</div>
 </li>
 </ul>
@@ -134,7 +135,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#EdgeType-org.apache.edgent.graph.Edge-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">EdgeType</a></span>(<a href="../../../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&nbsp;value,
-        org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;java.lang.String&gt;&nbsp;ids)</code>&nbsp;</td>
+        org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -152,11 +153,11 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getAlias--">getAlias</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getSourceId--">getSourceId</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
@@ -164,11 +165,11 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getSourceOutputPort--">getSourceOutputPort</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getTags--">getTags</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getTargetId--">getTargetId</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
@@ -180,8 +181,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -213,7 +214,7 @@
 <li class="blockList">
 <h4>EdgeType</h4>
 <pre>public&nbsp;EdgeType(<a href="../../../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&nbsp;value,
-                org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;java.lang.String&gt;&nbsp;ids)</pre>
+                org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</pre>
 </li>
 </ul>
 </li>
@@ -230,7 +231,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getSourceId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getSourceId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getSourceId()</pre>
 </li>
 </ul>
 <a name="getSourceOutputPort--">
@@ -248,7 +249,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getTargetId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getTargetId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTargetId()</pre>
 </li>
 </ul>
 <a name="getTargetInputPort--">
@@ -266,7 +267,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getTags</h4>
-<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getTags()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
 </li>
 </ul>
 <a name="getAlias--">
@@ -275,7 +276,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getAlias</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getAlias()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
 </li>
 </ul>
 </li>
@@ -303,7 +304,6 @@
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -348,6 +348,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/GraphType.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/GraphType.html
index 04dcf71..3afe84a 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/GraphType.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/GraphType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>GraphType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GraphType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GraphType (Edgent v1.1.0)";
+            parent.document.title="GraphType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.etiao.graph.model.GraphType</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">GraphType</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">A generic directed graph of vertices, connectors and edges.
  <p>
  The graph consists of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>VertexType</code></a> objects, each having
@@ -148,7 +149,7 @@
 </tr>
 <tr class="altColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#GraphType-org.apache.edgent.graph.Graph-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">GraphType</a></span>(<a href="../../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;g,
-         org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;java.lang.String&gt;&nbsp;ids)</code>
+         org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>
 <div class="block">Create an instance of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a> using the specified 
  <code>IdMapper</code> to generate unique object identifiers.</div>
 </td>
@@ -169,11 +170,11 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#getEdges--">getEdges</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a>&lt;?,?&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a>&lt;?,?&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#getVertices--">getVertices</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -181,8 +182,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -219,7 +220,7 @@
 <li class="blockList">
 <h4>GraphType</h4>
 <pre>public&nbsp;GraphType(<a href="../../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;g,
-                 org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;java.lang.String&gt;&nbsp;ids)</pre>
+                 org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</pre>
 <div class="block">Create an instance of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a> using the specified 
  <code>IdMapper</code> to generate unique object identifiers.</div>
 <dl>
@@ -253,7 +254,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getVertices</h4>
-<pre>public&nbsp;java.util.List&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a>&lt;?,?&gt;&gt;&nbsp;getVertices()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a>&lt;?,?&gt;&gt;&nbsp;getVertices()</pre>
 </li>
 </ul>
 <a name="getEdges--">
@@ -262,7 +263,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getEdges</h4>
-<pre>public&nbsp;java.util.List&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a>&gt;&nbsp;getEdges()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a>&gt;&nbsp;getEdges()</pre>
 </li>
 </ul>
 </li>
@@ -290,7 +291,6 @@
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -335,6 +335,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/InvocationType.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/InvocationType.html
index 2d39cd7..2b62758 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/InvocationType.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/InvocationType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>InvocationType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>InvocationType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InvocationType (Edgent v1.1.0)";
+            parent.document.title="InvocationType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.etiao.graph.model.InvocationType&lt;I,O&gt;</li>
@@ -115,7 +116,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">InvocationType&lt;I,O&gt;</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Generic type for an oplet invocation instance.</div>
 </li>
 </ul>
@@ -153,7 +154,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html#getClassName--">getClassName</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -161,8 +162,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -201,7 +202,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getClassName</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getClassName()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClassName()</pre>
 </li>
 </ul>
 </li>
@@ -229,7 +230,6 @@
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -274,6 +274,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/VertexType.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/VertexType.html
index 8914a4e..9611e54 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/VertexType.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/VertexType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>VertexType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>VertexType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="VertexType (Edgent v1.1.0)";
+            parent.document.title="VertexType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.etiao.graph.model.VertexType&lt;I,O&gt;</li>
@@ -115,7 +116,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">VertexType&lt;I,O&gt;</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">A <code>VertexType</code> in a graph.
  <p>
  A <code>VertexType</code> has an <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>InvocationType</code></a> instance.</div>
@@ -141,7 +142,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html#VertexType-org.apache.edgent.graph.Vertex-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">VertexType</a></span>(<a href="../../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&nbsp;value,
-          org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;java.lang.String&gt;&nbsp;ids)</code>&nbsp;</td>
+          org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -159,7 +160,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html#getId--">getId</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -171,8 +172,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -195,7 +196,7 @@
 <li class="blockList">
 <h4>VertexType</h4>
 <pre>public&nbsp;VertexType(<a href="../../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&nbsp;value,
-                  org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;java.lang.String&gt;&nbsp;ids)</pre>
+                  org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</pre>
 </li>
 </ul>
 <a name="VertexType--">
@@ -221,7 +222,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
 </li>
 </ul>
 <a name="getInvocation--">
@@ -258,7 +259,6 @@
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -303,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/EdgeType.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/EdgeType.html
index 2590a02..2cf1a11 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/EdgeType.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/EdgeType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.EdgeType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.EdgeType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.EdgeType (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.EdgeType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</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>
@@ -103,7 +104,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">GraphType.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#getEdges--">getEdges</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -126,12 +127,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/GraphType.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/GraphType.html
index 8dfc77b..66fa3f4 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/GraphType.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/GraphType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.GraphType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.GraphType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.GraphType (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.GraphType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/InvocationType.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/InvocationType.html
index cf49fe0..4350ff2 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/InvocationType.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/InvocationType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.InvocationType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.InvocationType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.InvocationType (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.InvocationType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</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>
@@ -126,12 +127,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/VertexType.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/VertexType.html
index e179035..1a7a8b5 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/VertexType.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/class-use/VertexType.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.VertexType (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.VertexType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.VertexType (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.VertexType (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</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>
@@ -103,7 +104,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a>&lt;?,?&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a>&lt;?,?&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">GraphType.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#getVertices--">getVertices</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -126,12 +127,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-frame.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-frame.html
index 146e44b..38a33c0 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao.graph.model (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph.model (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-summary.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-summary.html
index 636e905..1c7c1d2 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao.graph.model (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph.model (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.etiao.graph.model (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.etiao.graph.model (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -129,7 +130,6 @@
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -159,6 +159,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-tree.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-tree.html
index e9b576e..2417d78 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao.graph.model Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph.model Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.etiao.graph.model Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.etiao.graph.model Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">EdgeType</span></a></li>
 <li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">GraphType</span></a></li>
@@ -107,7 +108,6 @@
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -137,6 +137,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-use.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-use.html
index 27480b1..1814a14 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/model/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.runtime.etiao.graph.model (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.etiao.graph.model (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao.graph.model (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao.graph.model (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -136,7 +137,6 @@
 <li><a href="../../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-frame.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-frame.html
index d47fba0..99a2ccf 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao.graph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-summary.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-summary.html
index 6d91c15..63a6306 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao.graph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.etiao.graph (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.etiao.graph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -116,7 +117,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -146,6 +146,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-tree.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-tree.html
index debbb58..d6e3308 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao.graph Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.etiao.graph Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.etiao.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.graph.spi.<a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">AbstractGraph</span></a>&lt;G&gt; (implements org.apache.edgent.graph.<a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>)
 <ul>
@@ -113,7 +114,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -143,6 +143,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-use.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-use.html
index 8759cf6..57314a0 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/graph/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.runtime.etiao.graph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.etiao.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao.graph (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao.graph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -155,7 +156,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -185,6 +185,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html
index 88494f3..ed7e4d4 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>EtiaoJobBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>EtiaoJobBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EtiaoJobBean (Edgent v1.1.0)";
+            parent.document.title="EtiaoJobBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.etiao.mbeans.EtiaoJobBean</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">EtiaoJobBean</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></pre>
 <div class="block">Implementation of a control interface for the <code>EtiaoJob</code>.</div>
 </li>
@@ -151,7 +152,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getControlId--">getControlId</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
@@ -167,19 +168,19 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getId--">getId</a></span>()</code>
 <div class="block">Returns the identifier of the job.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getLastError--">getLastError</a></span>()</code>
 <div class="block">Returns the last error message caught by the current job execution.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getName--">getName</a></span>()</code>
 <div class="block">Returns the name of the job.</div>
 </td>
@@ -192,7 +193,7 @@
 </td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#graphSnapshot--">graphSnapshot</a></span>()</code>
 <div class="block">Takes a current snapshot of the running graph and returns it in JSON format.</div>
 </td>
@@ -221,8 +222,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -264,7 +265,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getControlId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getControlId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getControlId()</pre>
 </li>
 </ul>
 <a name="wasRegistered--">
@@ -282,7 +283,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getId()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getId--">JobMXBean</a></code></span></div>
 <div class="block">Returns the identifier of the job.</div>
 <dl>
@@ -299,7 +300,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getName()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getName--">JobMXBean</a></code></span></div>
 <div class="block">Returns the name of the job.</div>
 <dl>
@@ -351,7 +352,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>graphSnapshot</h4>
-<pre>public&nbsp;java.lang.String&nbsp;graphSnapshot()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;graphSnapshot()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#graphSnapshot--">JobMXBean</a></code></span></div>
 <div class="block">Takes a current snapshot of the running graph and returns it in JSON format.
  <p>
@@ -405,7 +406,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastError</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getLastError()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLastError()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getLastError--">JobMXBean</a></code></span></div>
 <div class="block">Returns the last error message caught by the current job execution.</div>
 <dl>
@@ -459,7 +460,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -504,6 +504,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/class-use/EtiaoJobBean.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/class-use/EtiaoJobBean.html
index 737bd80..b53b7ad 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/class-use/EtiaoJobBean.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/class-use/EtiaoJobBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.etiao.mbeans.EtiaoJobBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.mbeans.EtiaoJobBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.mbeans.EtiaoJobBean (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.mbeans.EtiaoJobBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -131,12 +132,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-frame.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-frame.html
index 4cab60b..ad614c9 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-summary.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-summary.html
index 5adf3e9..62323f1 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.etiao.mbeans (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.etiao.mbeans (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -111,7 +112,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -141,6 +141,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-tree.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-tree.html
index 6af7a27..43994cd 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao.mbeans Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.etiao.mbeans Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.etiao.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.runtime.etiao.mbeans.<a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans"><span class="typeNameLink">EtiaoJobBean</span></a> (implements org.apache.edgent.execution.mbeans.<a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a>)</li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-use.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-use.html
index c98ebb3..43b036d 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/mbeans/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.runtime.etiao.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.etiao.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao.mbeans (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao.mbeans (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -126,7 +127,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-frame.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-frame.html
index 8e451c8..d69dd9e 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-summary.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-summary.html
index a2493fb..b57b4e7 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.etiao (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.etiao (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -179,7 +180,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -209,6 +209,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-tree.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-tree.html
index 80aa059..58db9f4 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.etiao Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.etiao Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.etiao Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,18 +80,18 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">AbstractContext</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;I,O&gt;)
 <ul>
 <li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">InvocationContext</span></a>&lt;I,O&gt;</li>
 </ul>
 </li>
-<li type="circle">java.util.concurrent.AbstractExecutorService (implements java.util.concurrent.ExecutorService)
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">AbstractExecutorService</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>)
 <ul>
-<li type="circle">java.util.concurrent.ThreadPoolExecutor
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">ThreadPoolExecutor</span></a>
 <ul>
-<li type="circle">java.util.concurrent.ScheduledThreadPoolExecutor (implements java.util.concurrent.ScheduledExecutorService)
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">ScheduledThreadPoolExecutor</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>)
 <ul>
 <li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">TrackingScheduledExecutor</span></a></li>
 </ul>
@@ -105,9 +106,9 @@
 </ul>
 </li>
 <li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Executable</span></a> (implements org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>)</li>
-<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Invocation</span></a>&lt;T,I,O&gt; (implements java.lang.AutoCloseable)</li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Invocation</span></a>&lt;T,I,O&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
 <li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">SettableForwarder</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">ThreadFactoryTracker</span></a> (implements java.util.concurrent.ThreadFactory)</li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">ThreadFactoryTracker</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>)</li>
 </ul>
 </li>
 </ul>
@@ -130,7 +131,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-use.html b/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-use.html
index 333b910..0ce1cfc 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/etiao/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.runtime.etiao (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.etiao (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -186,7 +187,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -216,6 +216,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/JMXControlService.html b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/JMXControlService.html
index 5a5fe90..0a19e14 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/JMXControlService.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/JMXControlService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>JMXControlService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JMXControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JMXControlService (Edgent v1.1.0)";
+            parent.document.title="JMXControlService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.jmxcontrol.JMXControlService</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">JMXControlService</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></pre>
 <div class="block">Control service that registers control objects
  as MBeans in a JMX server.</div>
@@ -136,8 +137,8 @@
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#JMXControlService-java.lang.String-java.util.Hashtable-">JMXControlService</a></span>(java.lang.String&nbsp;domain,
-                 java.util.Hashtable&lt;java.lang.String,java.lang.String&gt;&nbsp;additionalKeys)</code>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#JMXControlService-java.lang.String-java.util.Hashtable-">JMXControlService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;domain,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;additionalKeys)</code>
 <div class="block">JMX control service using the platform MBean server.</div>
 </td>
 </tr>
@@ -158,50 +159,50 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#additionalNameKeys-java.util.Hashtable-">additionalNameKeys</a></span>(java.util.Hashtable&lt;java.lang.String,java.lang.String&gt;&nbsp;table)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#additionalNameKeys-java.util.Hashtable-">additionalNameKeys</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;table)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl</a></span>(java.lang.String&nbsp;type,
-          java.lang.String&nbsp;alias,
-          java.lang.Class&lt;T&gt;&nbsp;controlInterface)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
 <div class="block">Return a control Mbean registered with this service.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId</a></span>(java.lang.String&nbsp;type,
-            java.lang.String&nbsp;alias,
-            java.lang.Class&lt;T&gt;&nbsp;controlInterface)</code>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
 <div class="block">Return the unique identifier for a control Mbean registered with 
  this service.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getDomain--">getDomain</a></span>()</code>
 <div class="block">Get the JMX domain being used by this control service.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>javax.management.MBeanServer</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getMbs--">getMbs</a></span>()</code>
 <div class="block">Get the MBean server being used by this control service.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl</a></span>(java.lang.String&nbsp;type,
-               java.lang.String&nbsp;id,
-               java.lang.String&nbsp;alias,
-               java.lang.Class&lt;T&gt;&nbsp;controlInterface,
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
                T&nbsp;control)</code>
 <div class="block">Register a control object as an MBean.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#unregister-java.lang.String-">unregister</a></span>(java.lang.String&nbsp;controlId)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#unregister-java.lang.String-">unregister</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</code>
 <div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>ControlService.registerControl(String, String, String, Class, Object)</code></a></div>
 </td>
 </tr>
@@ -210,8 +211,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -233,8 +234,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>JMXControlService</h4>
-<pre>public&nbsp;JMXControlService(java.lang.String&nbsp;domain,
-                         java.util.Hashtable&lt;java.lang.String,java.lang.String&gt;&nbsp;additionalKeys)</pre>
+<pre>public&nbsp;JMXControlService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;domain,
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;additionalKeys)</pre>
 <div class="block">JMX control service using the platform MBean server.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -257,7 +258,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getMbs</h4>
-<pre>public&nbsp;javax.management.MBeanServer&nbsp;getMbs()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a>&nbsp;getMbs()</pre>
 <div class="block">Get the MBean server being used by this control service.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -271,7 +272,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getDomain</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getDomain()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDomain()</pre>
 <div class="block">Get the JMX domain being used by this control service.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -287,11 +288,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>registerControl</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;java.lang.String&nbsp;registerControl(java.lang.String&nbsp;type,
-                                            java.lang.String&nbsp;id,
-                                            java.lang.String&nbsp;alias,
-                                            java.lang.Class&lt;T&gt;&nbsp;controlInterface,
-                                            T&nbsp;control)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;registerControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
+                                  T&nbsp;control)</pre>
 <div class="block">Register a control object as an MBean.
  
  Register a control MBean.
@@ -327,7 +328,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>additionalNameKeys</h4>
-<pre>protected&nbsp;void&nbsp;additionalNameKeys(java.util.Hashtable&lt;java.lang.String,java.lang.String&gt;&nbsp;table)</pre>
+<pre>protected&nbsp;void&nbsp;additionalNameKeys(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;table)</pre>
 </li>
 </ul>
 <a name="unregister-java.lang.String-">
@@ -336,7 +337,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>unregister</h4>
-<pre>public&nbsp;void&nbsp;unregister(java.lang.String&nbsp;controlId)</pre>
+<pre>public&nbsp;void&nbsp;unregister(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#unregister-java.lang.String-">ControlService</a></code></span></div>
 <div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>ControlService.registerControl(String, String, String, Class, Object)</code></a></div>
 <dl>
@@ -353,9 +354,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getControl</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getControl(java.lang.String&nbsp;type,
-                        java.lang.String&nbsp;alias,
-                        java.lang.Class&lt;T&gt;&nbsp;controlInterface)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">ControlService</a></code></span></div>
 <div class="block">Return a control Mbean registered with this service.</div>
 <dl>
@@ -378,9 +379,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getControlId</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;java.lang.String&nbsp;getControlId(java.lang.String&nbsp;type,
-                                         java.lang.String&nbsp;alias,
-                                         java.lang.Class&lt;T&gt;&nbsp;controlInterface)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getControlId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">ControlService</a></code></span></div>
 <div class="block">Return the unique identifier for a control Mbean registered with 
  this service.</div>
@@ -424,7 +425,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -469,6 +469,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/class-use/JMXControlService.html b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/class-use/JMXControlService.html
index f812cda..657d1fa 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/class-use/JMXControlService.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/class-use/JMXControlService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.jmxcontrol.JMXControlService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.jmxcontrol.JMXControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.jmxcontrol.JMXControlService (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.jmxcontrol.JMXControlService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-frame.html b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-frame.html
index fb5a3cd..131af51 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.jmxcontrol (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jmxcontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-summary.html b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-summary.html
index dec0618..dccc2e3 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.jmxcontrol (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jmxcontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.jmxcontrol (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.jmxcontrol (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -112,7 +113,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -142,6 +142,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-tree.html b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-tree.html
index f710ab6..9dd407a 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.jmxcontrol Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jmxcontrol Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.jmxcontrol Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.jmxcontrol Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.runtime.jmxcontrol.<a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol"><span class="typeNameLink">JMXControlService</span></a> (implements org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>)</li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-use.html b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-use.html
index 08cd51b..324d134 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jmxcontrol/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.runtime.jmxcontrol (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.jmxcontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.runtime.jmxcontrol (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.runtime.jmxcontrol (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/JobEvents.html b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/JobEvents.html
index 17992db..dd6ef1d 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/JobEvents.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/JobEvents.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>JobEvents (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobEvents (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JobEvents (Edgent v1.1.0)";
+            parent.document.title="JobEvents (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.jobregistry.JobEvents</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">JobEvents</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">A source of job event tuples.
  <p>
  A stream of job event tuples is 
@@ -164,8 +165,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -258,7 +259,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -303,6 +303,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/JobRegistry.html b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/JobRegistry.html
index 16dd08f..739f44d 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/JobRegistry.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/JobRegistry.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>JobRegistry (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobRegistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JobRegistry (Edgent v1.1.0)";
+            parent.document.title="JobRegistry (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.jobregistry.JobRegistry</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">JobRegistry</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></pre>
 <div class="block">Maintains a set of registered jobs and a set of listeners.
  Notifies listeners on job additions, deletions and updates.</div>
@@ -192,19 +193,19 @@
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#getJob-java.lang.String-">getJob</a></span>(java.lang.String&nbsp;id)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#getJob-java.lang.String-">getJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>
 <div class="block">Returns a job given its identifier.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#getJobIds--">getJobIds</a></span>()</code>
 <div class="block">Returns a set of all the registered job identifiers.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#removeJob-java.lang.String-">removeJob</a></span>(java.lang.String&nbsp;jobId)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#removeJob-java.lang.String-">removeJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId)</code>
 <div class="block">Removes the job specified by the given identifier.</div>
 </td>
 </tr>
@@ -226,8 +227,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -324,7 +325,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getJobIds</h4>
-<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getJobIds()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getJobIds()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJobIds--">JobRegistryService</a></code></span></div>
 <div class="block">Returns a set of all the registered job identifiers.</div>
 <dl>
@@ -341,7 +342,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getJob</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;getJob(java.lang.String&nbsp;id)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;getJob(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJob-java.lang.String-">JobRegistryService</a></code></span></div>
 <div class="block">Returns a job given its identifier.</div>
 <dl>
@@ -361,7 +362,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>removeJob</h4>
-<pre>public&nbsp;boolean&nbsp;removeJob(java.lang.String&nbsp;jobId)</pre>
+<pre>public&nbsp;boolean&nbsp;removeJob(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeJob-java.lang.String-">JobRegistryService</a></code></span></div>
 <div class="block">Removes the job specified by the given identifier.</div>
 <dl>
@@ -381,7 +382,7 @@
 <li class="blockList">
 <h4>addJob</h4>
 <pre>public&nbsp;void&nbsp;addJob(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)
-            throws java.lang.IllegalArgumentException</pre>
+            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addJob-org.apache.edgent.execution.Job-">JobRegistryService</a></code></span></div>
 <div class="block">Adds the specified job.</div>
 <dl>
@@ -390,7 +391,7 @@
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>job</code> - the job to register</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if a job is null, or if a job with 
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if a job is null, or if a job with 
       the same identifier is already registered</dd>
 </dl>
 </li>
@@ -440,7 +441,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -485,6 +485,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/class-use/JobEvents.html b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/class-use/JobEvents.html
index de06d0f..21e6b82 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/class-use/JobEvents.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/class-use/JobEvents.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.jobregistry.JobEvents (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.jobregistry.JobEvents (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.jobregistry.JobEvents (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.jobregistry.JobEvents (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/class-use/JobRegistry.html b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/class-use/JobRegistry.html
index a8082c2..6c35261 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/class-use/JobRegistry.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/class-use/JobRegistry.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.jobregistry.JobRegistry (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.jobregistry.JobRegistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.jobregistry.JobRegistry (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.jobregistry.JobRegistry (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-frame.html b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-frame.html
index 3a89c14..fbb4f13 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.jobregistry (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jobregistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-summary.html b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-summary.html
index 7e0a240..0d1509b 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.jobregistry (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jobregistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.jobregistry (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.jobregistry (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -117,7 +118,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -147,6 +147,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-tree.html b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-tree.html
index d2abce5..c1e2014 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.jobregistry Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jobregistry Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.jobregistry Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.jobregistry Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.runtime.jobregistry.<a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">JobEvents</span></a></li>
 <li type="circle">org.apache.edgent.runtime.jobregistry.<a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">JobRegistry</span></a> (implements org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a>)</li>
@@ -105,7 +106,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -135,6 +135,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-use.html b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-use.html
index dabdcc3..866774e 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jobregistry/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.runtime.jobregistry (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.jobregistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.runtime.jobregistry (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.runtime.jobregistry (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/JsonControlService.html b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/JsonControlService.html
index c2e41d1..9001501 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/JsonControlService.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/JsonControlService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>JsonControlService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JsonControlService (Edgent v1.1.0)";
+            parent.document.title="JsonControlService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.runtime.jsoncontrol.JsonControlService</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">JsonControlService</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></pre>
 <div class="block">Control service that accepts control instructions as JSON objects.
  <BR>
@@ -144,25 +145,25 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ALIAS_KEY">ALIAS_KEY</a></span></code>
 <div class="block">Key for the alias of the control MBean in a JSON request.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ARGS_KEY">ARGS_KEY</a></span></code>
 <div class="block">Key for the argument list.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#OP_KEY">OP_KEY</a></span></code>
 <div class="block">Key for the operation name.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#TYPE_KEY">TYPE_KEY</a></span></code>
 <div class="block">Key for the type of the control MBean in a JSON request.</div>
 </td>
@@ -207,34 +208,34 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl</a></span>(java.lang.String&nbsp;type,
-          java.lang.String&nbsp;alias,
-          java.lang.Class&lt;T&gt;&nbsp;controlInterface)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
 <div class="block">Return a control Mbean registered with this service.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId</a></span>(java.lang.String&nbsp;type,
-            java.lang.String&nbsp;alias,
-            java.lang.Class&lt;T&gt;&nbsp;controlInterface)</code>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
 <div class="block">Return the unique identifier for a control Mbean registered with 
  this service.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl</a></span>(java.lang.String&nbsp;type,
-               java.lang.String&nbsp;id,
-               java.lang.String&nbsp;alias,
-               java.lang.Class&lt;T&gt;&nbsp;controlInterface,
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
                T&nbsp;control)</code>
 <div class="block">Register a control MBean.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#unregister-java.lang.String-">unregister</a></span>(java.lang.String&nbsp;controlId)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#unregister-java.lang.String-">unregister</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</code>
 <div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>ControlService.registerControl(String, String, String, Class, Object)</code></a></div>
 </td>
 </tr>
@@ -243,8 +244,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -266,7 +267,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>TYPE_KEY</h4>
-<pre>public static final&nbsp;java.lang.String TYPE_KEY</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE_KEY</pre>
 <div class="block">Key for the type of the control MBean in a JSON request.
  <BR>
  Value is "type".</div>
@@ -282,7 +283,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>ALIAS_KEY</h4>
-<pre>public static final&nbsp;java.lang.String ALIAS_KEY</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ALIAS_KEY</pre>
 <div class="block">Key for the alias of the control MBean in a JSON request.
  <BR>
  Value is "alias".</div>
@@ -298,7 +299,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>OP_KEY</h4>
-<pre>public static final&nbsp;java.lang.String OP_KEY</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> OP_KEY</pre>
 <div class="block">Key for the operation name.
  <BR>
  Value is "op".</div>
@@ -314,7 +315,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ARGS_KEY</h4>
-<pre>public static final&nbsp;java.lang.String ARGS_KEY</pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ARGS_KEY</pre>
 <div class="block">Key for the argument list.
  If no arguments are required then 
  "args" can be missing or an empty list.
@@ -358,7 +359,7 @@
 <li class="blockList">
 <h4>controlRequest</h4>
 <pre>public&nbsp;com.google.gson.JsonElement&nbsp;controlRequest(com.google.gson.JsonObject&nbsp;request)
-                                           throws java.lang.Exception</pre>
+                                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Handle a JSON control request.
  
  The control action is executed directly
@@ -369,7 +370,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>JSON response, JSON null if the request was not recognized.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - on failure</dd>
 </dl>
 </li>
 </ul>
@@ -381,11 +382,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>registerControl</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;java.lang.String&nbsp;registerControl(java.lang.String&nbsp;type,
-                                            java.lang.String&nbsp;id,
-                                            java.lang.String&nbsp;alias,
-                                            java.lang.Class&lt;T&gt;&nbsp;controlInterface,
-                                            T&nbsp;control)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;registerControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
+                                  T&nbsp;control)</pre>
 <div class="block">Register a control MBean.
  <P>
  All control service MBeans must be valid according
@@ -416,7 +417,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>unregister</h4>
-<pre>public&nbsp;void&nbsp;unregister(java.lang.String&nbsp;controlId)</pre>
+<pre>public&nbsp;void&nbsp;unregister(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</pre>
 <div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>ControlService.registerControl(String, String, String, Class, Object)</code></a></div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -432,9 +433,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getControl</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getControl(java.lang.String&nbsp;type,
-                        java.lang.String&nbsp;alias,
-                        java.lang.Class&lt;T&gt;&nbsp;controlInterface)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">ControlService</a></code></span></div>
 <div class="block">Return a control Mbean registered with this service.</div>
 <dl>
@@ -457,9 +458,9 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getControlId</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;java.lang.String&nbsp;getControlId(java.lang.String&nbsp;type,
-                                         java.lang.String&nbsp;alias,
-                                         java.lang.Class&lt;T&gt;&nbsp;controlInterface)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getControlId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">ControlService</a></code></span></div>
 <div class="block">Return the unique identifier for a control Mbean registered with 
  this service.</div>
@@ -503,7 +504,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -548,6 +548,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/class-use/JsonControlService.html b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/class-use/JsonControlService.html
index 6b03604..b138da3 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/class-use/JsonControlService.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/class-use/JsonControlService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.runtime.jsoncontrol.JsonControlService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.jsoncontrol.JsonControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.runtime.jsoncontrol.JsonControlService (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.runtime.jsoncontrol.JsonControlService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -129,12 +130,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-frame.html b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-frame.html
index e5f6d2b..26e4fc3 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.jsoncontrol (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jsoncontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-summary.html b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-summary.html
index b288dff..c2009c4 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.jsoncontrol (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jsoncontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.jsoncontrol (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.jsoncontrol (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -44,7 +45,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/package-summary.html" target="_top">Frames</a></li>
@@ -136,12 +137,11 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/package-summary.html" target="_top">Frames</a></li>
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-tree.html b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-tree.html
index 5b1c5af..f23eac6 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.runtime.jsoncontrol Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jsoncontrol Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.runtime.jsoncontrol Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.runtime.jsoncontrol Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -44,7 +45,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/package-tree.html" target="_top">Frames</a></li>
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.runtime.jsoncontrol.<a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol"><span class="typeNameLink">JsonControlService</span></a> (implements org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>)</li>
 </ul>
@@ -104,12 +105,11 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/package-tree.html" target="_top">Frames</a></li>
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-use.html b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-use.html
index 77c7c39..d364f4e 100644
--- a/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/runtime/jsoncontrol/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.runtime.jsoncontrol (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.jsoncontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.runtime.jsoncontrol (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.runtime.jsoncontrol (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -129,7 +130,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -159,6 +159,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/AbstractApplication.html b/site/javadoc/latest/org/apache/edgent/samples/apps/AbstractApplication.html
deleted file mode 100644
index 86d0426..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/AbstractApplication.html
+++ /dev/null
@@ -1,469 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>AbstractApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":6,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/AbstractApplication.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/AbstractApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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">org.apache.edgent.samples.apps</div>
-<h2 title="Class AbstractApplication" class="title">Class AbstractApplication</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.apps.AbstractApplication</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a>, <a href="../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public abstract class <span class="typeNameLabel">AbstractApplication</span>
-extends java.lang.Object</pre>
-<div class="block">An Application base class.
- <p>
- Application instances need to:
- <ul>
- <li>define an implementation for <a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-"><code>buildTopology(Topology)</code></a></li>
- <li>call <a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#run--"><code>run()</code></a> to build and submit the topology for execution.</li>
- </ul>
- <p>
- The class provides some common processing needs:
- <ul>
- <li>Support for an external configuration file</li>
- <li>Provides a <a href="../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps"><code>TopologyProviderFactory</code></a></li>
- <li>Provides a <a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps"><code>ApplicationUtilities</code></a></li>
- </ul></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt"><code>AbstractMqttApplication</code></a></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="memberSummary" 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>protected java.util.Properties</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#props">props</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#propsPath">propsPath</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#t">t</a></span></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#AbstractApplication-java.lang.String-">AbstractApplication</a></span>(java.lang.String&nbsp;propsPath)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>protected abstract void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
-<div class="block">Build the application's topology.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.Properties</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#config--">config</a></span>()</code>
-<div class="block">Get the application's raw configuration information.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#handleRuntimeError-java.lang.String-java.lang.Exception-">handleRuntimeError</a></span>(java.lang.String&nbsp;msg,
-                  java.lang.Exception&nbsp;e)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
-<div class="block">A hook for a subclass to do things prior to the invocation
- of <a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-"><code>buildTopology(Topology)</code></a>.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#run--">run</a></span>()</code>
-<div class="block">Construct and run the application's topology.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#utils--">utils</a></span>()</code>
-<div class="block">Get the application's</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="propsPath">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>propsPath</h4>
-<pre>protected final&nbsp;java.lang.String propsPath</pre>
-</li>
-</ul>
-<a name="props">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>props</h4>
-<pre>protected final&nbsp;java.util.Properties props</pre>
-</li>
-</ul>
-<a name="t">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>t</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> t</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="AbstractApplication-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>AbstractApplication</h4>
-<pre>public&nbsp;AbstractApplication(java.lang.String&nbsp;propsPath)
-                    throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="run--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>run</h4>
-<pre>protected&nbsp;void&nbsp;run()
-            throws java.lang.Exception</pre>
-<div class="block">Construct and run the application's topology.</div>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-</dl>
-</li>
-</ul>
-<a name="config--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>config</h4>
-<pre>public&nbsp;java.util.Properties&nbsp;config()</pre>
-<div class="block">Get the application's raw configuration information.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the configuration</dd>
-</dl>
-</li>
-</ul>
-<a name="utils--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>utils</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a>&nbsp;utils()</pre>
-<div class="block">Get the application's</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the helper</dd>
-</dl>
-</li>
-</ul>
-<a name="preBuildTopology-org.apache.edgent.topology.Topology-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>preBuildTopology</h4>
-<pre>protected&nbsp;void&nbsp;preBuildTopology(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</pre>
-<div class="block">A hook for a subclass to do things prior to the invocation
- of <a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-"><code>buildTopology(Topology)</code></a>.
- <p>
- The default implementation is a no-op.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - the application's topology</dd>
-</dl>
-</li>
-</ul>
-<a name="buildTopology-org.apache.edgent.topology.Topology-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>buildTopology</h4>
-<pre>protected abstract&nbsp;void&nbsp;buildTopology(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</pre>
-<div class="block">Build the application's topology.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - Topology to add to</dd>
-</dl>
-</li>
-</ul>
-<a name="handleRuntimeError-java.lang.String-java.lang.Exception-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>handleRuntimeError</h4>
-<pre>public&nbsp;void&nbsp;handleRuntimeError(java.lang.String&nbsp;msg,
-                               java.lang.Exception&nbsp;e)</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>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/AbstractApplication.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/AbstractApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/ApplicationUtilities.html b/site/javadoc/latest/org/apache/edgent/samples/apps/ApplicationUtilities.html
deleted file mode 100644
index d727de8..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/ApplicationUtilities.html
+++ /dev/null
@@ -1,532 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>ApplicationUtilities (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ApplicationUtilities (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ApplicationUtilities.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/ApplicationUtilities.html" target="_top">Frames</a></li>
-<li><a href="ApplicationUtilities.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.apps</div>
-<h2 title="Class ApplicationUtilities" class="title">Class ApplicationUtilities</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.apps.ApplicationUtilities</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">ApplicationUtilities</span>
-extends java.lang.Object</pre>
-<div class="block">Some general purpose application configuration driven utilities.
- <p>
- Utilities include:
- <ul>
- <li>Get a property name for a sensor configuration item</li>
- <li>Get a Range value for a sensor range item</li>
- <li>Log a stream</li>
- <li>Conditionally trace a stream</li>
- </ul></div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#ApplicationUtilities-java.util.Properties-">ApplicationUtilities</a></span>(java.util.Properties&nbsp;props)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Byte&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeByte-java.lang.String-java.lang.String-">getRangeByte</a></span>(java.lang.String&nbsp;sensorId,
-            java.lang.String&nbsp;label)</code>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeDouble-java.lang.String-java.lang.String-">getRangeDouble</a></span>(java.lang.String&nbsp;sensorId,
-              java.lang.String&nbsp;label)</code>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Float&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeFloat-java.lang.String-java.lang.String-">getRangeFloat</a></span>(java.lang.String&nbsp;sensorId,
-             java.lang.String&nbsp;label)</code>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Integer&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeInteger-java.lang.String-java.lang.String-">getRangeInteger</a></span>(java.lang.String&nbsp;sensorId,
-               java.lang.String&nbsp;label)</code>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Short&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#getRangeShort-java.lang.String-java.lang.String-">getRangeShort</a></span>(java.lang.String&nbsp;sensorId,
-             java.lang.String&nbsp;label)</code>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#getSensorPropertyName-java.lang.String-java.lang.String-java.lang.String-">getSensorPropertyName</a></span>(java.lang.String&nbsp;sensorId,
-                     java.lang.String&nbsp;label,
-                     java.lang.String&nbsp;kind)</code>
-<div class="block">Get the property name for a sensor's configuration item.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#logStream-org.apache.edgent.topology.TStream-java.lang.String-java.lang.String-">logStream</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-         java.lang.String&nbsp;eventTag,
-         java.lang.String&nbsp;baseName)</code>
-<div class="block">Log every tuple on the stream using the <code>FileStreams</code> connector.</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#traceStream-org.apache.edgent.topology.TStream-java.lang.String-org.apache.edgent.function.Supplier-">traceStream</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-           java.lang.String&nbsp;sensorId,
-           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;label)</code>
-<div class="block">Trace a stream to System.out if the sensor id's "label" has been configured
- to enable tracing.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#traceStream-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">traceStream</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;label)</code>
-<div class="block">Trace a stream to System.out if the "label" has been configured
- to enable tracing.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ApplicationUtilities-java.util.Properties-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ApplicationUtilities</h4>
-<pre>public&nbsp;ApplicationUtilities(java.util.Properties&nbsp;props)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="traceStream-org.apache.edgent.topology.TStream-java.lang.String-org.apache.edgent.function.Supplier-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>traceStream</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;traceStream(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                                  java.lang.String&nbsp;sensorId,
-                                  <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;label)</pre>
-<div class="block">Trace a stream to System.out if the sensor id's "label" has been configured
- to enable tracing.
- <p>
- If tracing has not been enabled in the config, the topology will not
- be augmented to trace the stream.</div>
-<dl>
-<dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>T</code> - Tuple type</dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>stream</code> - the stream to trace</dd>
-<dd><code>sensorId</code> - the sensor id</dd>
-<dd><code>label</code> - some unique label</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the input stream</dd>
-</dl>
-</li>
-</ul>
-<a name="traceStream-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>traceStream</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;traceStream(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                                  <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;label)</pre>
-<div class="block">Trace a stream to System.out if the "label" has been configured
- to enable tracing.
- <p>
- If tracing has not been enabled in the config, the topology will not
- be augmented to trace the stream.</div>
-<dl>
-<dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>T</code> - Tuple type</dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>stream</code> - the stream to trace</dd>
-<dd><code>label</code> - some unique label</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the input stream</dd>
-</dl>
-</li>
-</ul>
-<a name="getSensorPropertyName-java.lang.String-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getSensorPropertyName</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getSensorPropertyName(java.lang.String&nbsp;sensorId,
-                                              java.lang.String&nbsp;label,
-                                              java.lang.String&nbsp;kind)</pre>
-<div class="block">Get the property name for a sensor's configuration item.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sensorId</code> - the sensor's id</dd>
-<dd><code>label</code> - the label for an instance of "kind" (e.g., "tempThreshold")</dd>
-<dd><code>kind</code> - the kind of configuration item (e.g., "range")</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the configuration property name</dd>
-</dl>
-</li>
-</ul>
-<a name="getRangeInteger-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRangeInteger</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Integer&gt;&nbsp;getRangeInteger(java.lang.String&nbsp;sensorId,
-                                                java.lang.String&nbsp;label)</pre>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sensorId</code> - the sensor's id</dd>
-<dd><code>label</code> - the range's label</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the Range</dd>
-</dl>
-</li>
-</ul>
-<a name="getRangeByte-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRangeByte</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Byte&gt;&nbsp;getRangeByte(java.lang.String&nbsp;sensorId,
-                                          java.lang.String&nbsp;label)</pre>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sensorId</code> - the sensor's id</dd>
-<dd><code>label</code> - the range's label</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the Range</dd>
-</dl>
-</li>
-</ul>
-<a name="getRangeShort-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRangeShort</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Short&gt;&nbsp;getRangeShort(java.lang.String&nbsp;sensorId,
-                                            java.lang.String&nbsp;label)</pre>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sensorId</code> - the sensor's id</dd>
-<dd><code>label</code> - the range's label</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the Range</dd>
-</dl>
-</li>
-</ul>
-<a name="getRangeFloat-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRangeFloat</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Float&gt;&nbsp;getRangeFloat(java.lang.String&nbsp;sensorId,
-                                            java.lang.String&nbsp;label)</pre>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sensorId</code> - the sensor's id</dd>
-<dd><code>label</code> - the range's label</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the Range</dd>
-</dl>
-</li>
-</ul>
-<a name="getRangeDouble-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRangeDouble</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;&nbsp;getRangeDouble(java.lang.String&nbsp;sensorId,
-                                              java.lang.String&nbsp;label)</pre>
-<div class="block">Get the Range for a sensor range configuration item.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sensorId</code> - the sensor's id</dd>
-<dd><code>label</code> - the range's label</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the Range</dd>
-</dl>
-</li>
-</ul>
-<a name="logStream-org.apache.edgent.topology.TStream-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>logStream</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;logStream(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                                java.lang.String&nbsp;eventTag,
-                                java.lang.String&nbsp;baseName)</pre>
-<div class="block">Log every tuple on the stream using the <code>FileStreams</code> connector.
- <p>
- The logs are added to the directory as specified
- by the "application.log.dir" property.
- The directory will be created as needed.
- <p>
- The "active" (open / being written) log file name is <code>.&lt;baseName&gt;</code>.
- <br>
- Completed stable logs have a name of <code>&lt;baseName&gt;_YYYYMMDD_HHMMSS</code>.
- <p>
- The log entry format being used is:
- <code>[&lt;date&gt;] [&lt;eventTag&gt;] &lt;tuple&gt;.toString()</code>
- <p>
- See <a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-"><code>FileStreams.textFileWriter(TStream, org.apache.edgent.function.Supplier, org.apache.edgent.function.Supplier)</code></a></div>
-<dl>
-<dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>T</code> - Tuple type</dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>stream</code> - the TStream</dd>
-<dd><code>baseName</code> - the base log name</dd>
-<dd><code>eventTag</code> - a tag that gets added to the log entry</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the input stream</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ApplicationUtilities.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/ApplicationUtilities.html" target="_top">Frames</a></li>
-<li><a href="ApplicationUtilities.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/JsonTuples.html b/site/javadoc/latest/org/apache/edgent/samples/apps/JsonTuples.html
deleted file mode 100644
index e5901d5..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/JsonTuples.html
+++ /dev/null
@@ -1,560 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>JsonTuples (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JsonTuples (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/JsonTuples.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/JsonTuples.html" target="_top">Frames</a></li>
-<li><a href="JsonTuples.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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">org.apache.edgent.samples.apps</div>
-<h2 title="Class JsonTuples" class="title">Class JsonTuples</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.apps.JsonTuples</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">JsonTuples</span>
-extends java.lang.Object</pre>
-<div class="block">Utilties to ease working working with sensor "samples" by wrapping them
- in JsonObjects.
- <p>
- The Json Tuple sensor "samples" have a standard collection of properties.</div>
-</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="memberSummary" 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 java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#KEY_AGG_BEGIN_TS">KEY_AGG_BEGIN_TS</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#KEY_AGG_COUNT">KEY_AGG_COUNT</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#KEY_ID">KEY_ID</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#KEY_READING">KEY_READING</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#KEY_TS">KEY_TS</a></span></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#JsonTuples--">JsonTuples</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static com.google.gson.JsonElement</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#getStatistic-com.google.gson.JsonObject-org.apache.edgent.analytics.math3.stat.Statistic-">getStatistic</a></span>(com.google.gson.JsonObject&nbsp;jo,
-            <a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;stat)</code>
-<div class="block">Get a statistic value from a sample.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static com.google.gson.JsonElement</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#getStatistic-com.google.gson.JsonObject-java.lang.String-org.apache.edgent.analytics.math3.stat.Statistic-">getStatistic</a></span>(com.google.gson.JsonObject&nbsp;jo,
-            java.lang.String&nbsp;valueKey,
-            <a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;stat)</code>
-<div class="block">Get a statistic value from a sample.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#keyFn--">keyFn</a></span>()</code>
-<div class="block">The partition key function for wrapped sensor samples.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,java.lang.String,com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#statistics-org.apache.edgent.analytics.math3.stat.Statistic...-">statistics</a></span>(<a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>...&nbsp;statistics)</code>
-<div class="block">Create a function that computes the specified statistics on the list of
- samples and returns a new sample containing the result.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;com.google.gson.JsonObject</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#wrap-org.apache.commons.math3.util.Pair-java.lang.String-">wrap</a></span>(org.apache.commons.math3.util.Pair&lt;java.lang.Long,T&gt;&nbsp;sample,
-    java.lang.String&nbsp;id)</code>
-<div class="block">Create a JsonObject wrapping a raw <code>Pair&lt;Long msec,T reading&gt;&gt;</code> sample.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#wrap-org.apache.edgent.topology.TStream-java.lang.String-">wrap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,T&gt;&gt;&nbsp;stream,
-    java.lang.String&nbsp;id)</code>
-<div class="block">Create a stream of JsonObject wrapping a stream of 
- raw <code>Pair&lt;Long msec,T reading&gt;&gt;</code> samples.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="KEY_ID">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>KEY_ID</h4>
-<pre>public static final&nbsp;java.lang.String KEY_ID</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.edgent.samples.apps.JsonTuples.KEY_ID">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="KEY_TS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>KEY_TS</h4>
-<pre>public static final&nbsp;java.lang.String KEY_TS</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.edgent.samples.apps.JsonTuples.KEY_TS">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="KEY_READING">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>KEY_READING</h4>
-<pre>public static final&nbsp;java.lang.String KEY_READING</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.edgent.samples.apps.JsonTuples.KEY_READING">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="KEY_AGG_BEGIN_TS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>KEY_AGG_BEGIN_TS</h4>
-<pre>public static final&nbsp;java.lang.String KEY_AGG_BEGIN_TS</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.edgent.samples.apps.JsonTuples.KEY_AGG_BEGIN_TS">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="KEY_AGG_COUNT">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>KEY_AGG_COUNT</h4>
-<pre>public static final&nbsp;java.lang.String KEY_AGG_COUNT</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.edgent.samples.apps.JsonTuples.KEY_AGG_COUNT">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="JsonTuples--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>JsonTuples</h4>
-<pre>public&nbsp;JsonTuples()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="wrap-org.apache.commons.math3.util.Pair-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>wrap</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;com.google.gson.JsonObject&nbsp;wrap(org.apache.commons.math3.util.Pair&lt;java.lang.Long,T&gt;&nbsp;sample,
-                                                  java.lang.String&nbsp;id)</pre>
-<div class="block">Create a JsonObject wrapping a raw <code>Pair&lt;Long msec,T reading&gt;&gt;</code> sample.</div>
-<dl>
-<dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>T</code> - Tuple type</dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sample</code> - the raw sample</dd>
-<dd><code>id</code> - the sensor's Id</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the wrapped sample</dd>
-</dl>
-</li>
-</ul>
-<a name="wrap-org.apache.edgent.topology.TStream-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>wrap</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;wrap(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,T&gt;&gt;&nbsp;stream,
-                                                           java.lang.String&nbsp;id)</pre>
-<div class="block">Create a stream of JsonObject wrapping a stream of 
- raw <code>Pair&lt;Long msec,T reading&gt;&gt;</code> samples.</div>
-<dl>
-<dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>T</code> - Tuple type</dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>stream</code> - the raw input stream</dd>
-<dd><code>id</code> - the sensor's Id</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the wrapped stream</dd>
-</dl>
-</li>
-</ul>
-<a name="keyFn--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>keyFn</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;keyFn()</pre>
-<div class="block">The partition key function for wrapped sensor samples.
- <p>
- The <code>KEY_ID</code> property is returned for the key.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the function</dd>
-</dl>
-</li>
-</ul>
-<a name="getStatistic-com.google.gson.JsonObject-org.apache.edgent.analytics.math3.stat.Statistic-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getStatistic</h4>
-<pre>public static&nbsp;com.google.gson.JsonElement&nbsp;getStatistic(com.google.gson.JsonObject&nbsp;jo,
-                                                       <a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;stat)</pre>
-<div class="block">Get a statistic value from a sample.
- <p>
- Same as <code>getStatistic(jo, JsonTuples.KEY_READING, stat)</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>jo</code> - the sample</dd>
-<dd><code>stat</code> - the Statistic of interest</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the JsonElement for the Statistic</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.RuntimeException</code> - of the stat isn't present</dd>
-</dl>
-</li>
-</ul>
-<a name="getStatistic-com.google.gson.JsonObject-java.lang.String-org.apache.edgent.analytics.math3.stat.Statistic-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getStatistic</h4>
-<pre>public static&nbsp;com.google.gson.JsonElement&nbsp;getStatistic(com.google.gson.JsonObject&nbsp;jo,
-                                                       java.lang.String&nbsp;valueKey,
-                                                       <a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;stat)</pre>
-<div class="block">Get a statistic value from a sample.
- <p>
- Convenience for working with samples containing a property
- whose value is one or more <a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><code>Statistic</code></a>
- as created by 
- <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-"><code>JsonAnalytics.aggregate()</code></a></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>jo</code> - the sample</dd>
-<dd><code>valueKey</code> - the name of the property containing the JsonObject of Statistics</dd>
-<dd><code>stat</code> - the Statistic of interest</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the JsonElement for the Statistic</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.RuntimeException</code> - of the stat isn't present</dd>
-</dl>
-</li>
-</ul>
-<a name="statistics-org.apache.edgent.analytics.math3.stat.Statistic...-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>statistics</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;com.google.gson.JsonObject&gt;,java.lang.String,com.google.gson.JsonObject&gt;&nbsp;statistics(<a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>...&nbsp;statistics)</pre>
-<div class="block">Create a function that computes the specified statistics on the list of
- samples and returns a new sample containing the result.
- <p>
- The single tuple contains the specified statistics computed over
- all of the <code>JsonTuple.KEY_READING</code> 
- values from <code>List&lt;JsonObject&gt;</code>.
- <p>
- The resulting sample contains the properties:
- <ul>
- <li>JsonTuple.KEY_ID</li>
- <li>JsonTuple.KEY_MSEC - msecTimestamp of the last sample in the window</li>
- <li>JsonTuple.KEY_AGG_BEGIN_MSEC - msecTimestamp of the first sample in the window</li>
- <li>JsonTuple.KEY_AGG_COUNT - number of samples in the window (<code>value=factor</code>)</li>
- <li>JsonTuple.KEY_READING - a JsonObject of the statistics
-                      as defined by
-                     <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-"><code>JsonAnalytics.aggregate()</code></a>
- </ul>
- <p>
- Sample use:
- <pre><code>
- TStream&lt;JsonObject&gt; s = ...
- // reduce s by a factor of 100 with stats MEAN and STDEV 
- TStream&lt;JsonObject&gt; reduced = s.batch(100, statistics(Statistic.MEAN, Statistic.STDDEV));
- </code></pre></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>statistics</code> - the statistics to calculate over the window</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd><code>TStream&lt;JsonObject&gt;</code> for the reduced <code>stream</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/JsonTuples.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/JsonTuples.html" target="_top">Frames</a></li>
-<li><a href="JsonTuples.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/TopologyProviderFactory.html b/site/javadoc/latest/org/apache/edgent/samples/apps/TopologyProviderFactory.html
deleted file mode 100644
index e650c89..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/TopologyProviderFactory.html
+++ /dev/null
@@ -1,296 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>TopologyProviderFactory (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TopologyProviderFactory (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/TopologyProviderFactory.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/TopologyProviderFactory.html" target="_top">Frames</a></li>
-<li><a href="TopologyProviderFactory.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.apps</div>
-<h2 title="Class TopologyProviderFactory" class="title">Class TopologyProviderFactory</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.apps.TopologyProviderFactory</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">TopologyProviderFactory</span>
-extends java.lang.Object</pre>
-<div class="block">A configuration driven factory for an Edgent topology provider.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html#TopologyProviderFactory-java.util.Properties-">TopologyProviderFactory</a></span>(java.util.Properties&nbsp;props)</code>
-<div class="block">Construct a factory</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html#newProvider--">newProvider</a></span>()</code>
-<div class="block">Get a new topology provider.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="TopologyProviderFactory-java.util.Properties-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TopologyProviderFactory</h4>
-<pre>public&nbsp;TopologyProviderFactory(java.util.Properties&nbsp;props)</pre>
-<div class="block">Construct a factory</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>props</code> - configuration information.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="newProvider--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>newProvider</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;newProvider()
-                           throws java.lang.Exception</pre>
-<div class="block">Get a new topology provider.
- <p>
- The default provider is <code>org.apache.edgent.providers.direct.DirectProvider</code>.
- <p>
- The <code>topology.provider</code> configuration property can specify
- an alternative.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the provider</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - if the provider couldn't be created</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/TopologyProviderFactory.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/TopologyProviderFactory.html" target="_top">Frames</a></li>
-<li><a href="TopologyProviderFactory.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/AbstractApplication.html b/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/AbstractApplication.html
deleted file mode 100644
index 64ce35f..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/AbstractApplication.html
+++ /dev/null
@@ -1,255 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.apps.AbstractApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.apps.AbstractApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/class-use/AbstractApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.apps.AbstractApplication" class="title">Uses of Class<br>org.apache.edgent.samples.apps.AbstractApplication</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.mqtt">org.apache.edgent.samples.apps.mqtt</a></td>
-<td class="colLast">
-<div class="block">Base support for Edgent MQTT based application samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.sensorAnalytics">org.apache.edgent.samples.apps.sensorAnalytics</a></td>
-<td class="colLast">
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps">org.apache.edgent.test.svt.apps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps.iotp">org.apache.edgent.test.svt.apps.iotp</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.apps.mqtt">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a> in <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a> in <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></span></code>
-<div class="block">An MQTT Application base class.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt">DeviceCommsApp</a></span></code>
-<div class="block">An MQTT Device Communications client for watching device events
- and sending commands.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.sensorAnalytics">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a> in <a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a> in <a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a></span></code>
-<div class="block">A sample application demonstrating some common sensor analytic processing
- themes.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a> in <a href="../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a> in <a href="../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a></span></code>
-<div class="block">A Global Positional System and On-Board Diagnostics application to perform
- analytics defined in <a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>GpsAnalyticsApplication</code></a> and
- <a href="../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>ObdAnalyticsApplication</code></a>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps.iotp">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a> in <a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a> in <a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a></span></code>
-<div class="block">An IotF Application base class.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/class-use/AbstractApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/ApplicationUtilities.html b/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/ApplicationUtilities.html
deleted file mode 100644
index 6506a43..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/ApplicationUtilities.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.apps.ApplicationUtilities (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.apps.ApplicationUtilities (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/class-use/ApplicationUtilities.html" target="_top">Frames</a></li>
-<li><a href="ApplicationUtilities.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.apps.ApplicationUtilities" class="title">Uses of Class<br>org.apache.edgent.samples.apps.ApplicationUtilities</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a> in <a href="../../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> that return <a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractApplication.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#utils--">utils</a></span>()</code>
-<div class="block">Get the application's</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/class-use/ApplicationUtilities.html" target="_top">Frames</a></li>
-<li><a href="ApplicationUtilities.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/JsonTuples.html b/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/JsonTuples.html
deleted file mode 100644
index b6e2449..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/JsonTuples.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.apps.JsonTuples (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.apps.JsonTuples (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/class-use/JsonTuples.html" target="_top">Frames</a></li>
-<li><a href="JsonTuples.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.apps.JsonTuples" class="title">Uses of Class<br>org.apache.edgent.samples.apps.JsonTuples</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.apps.JsonTuples</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/class-use/JsonTuples.html" target="_top">Frames</a></li>
-<li><a href="JsonTuples.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/TopologyProviderFactory.html b/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/TopologyProviderFactory.html
deleted file mode 100644
index 27af39a..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/class-use/TopologyProviderFactory.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.apps.TopologyProviderFactory (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.apps.TopologyProviderFactory (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/class-use/TopologyProviderFactory.html" target="_top">Frames</a></li>
-<li><a href="TopologyProviderFactory.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.apps.TopologyProviderFactory" class="title">Uses of Class<br>org.apache.edgent.samples.apps.TopologyProviderFactory</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.apps.TopologyProviderFactory</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/class-use/TopologyProviderFactory.html" target="_top">Frames</a></li>
-<li><a href="TopologyProviderFactory.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html b/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html
deleted file mode 100644
index 243c3ab..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html
+++ /dev/null
@@ -1,437 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>AbstractMqttApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractMqttApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/AbstractMqttApplication.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractMqttApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">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>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.apps.mqtt</div>
-<h2 title="Class AbstractMqttApplication" class="title">Class AbstractMqttApplication</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">org.apache.edgent.samples.apps.AbstractApplication</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.apps.mqtt.AbstractMqttApplication</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt">DeviceCommsApp</a>, <a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public abstract class <span class="typeNameLabel">AbstractMqttApplication</span>
-extends <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></pre>
-<div class="block">An MQTT Application base class.
- <p>
- Application instances need to:
- <ul>
- <li>define an implementation for <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-"><code>AbstractApplication.buildTopology(Topology)</code></a></li>
- <li>call <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#run--"><code>AbstractApplication.run()</code></a> to build and submit the topology for execution.</li>
- </ul>
- <p>
- The class provides some common processing needs:
- <ul>
- <li>Support for an external configuration file</li>
- <li>Provides a <a href="../../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps"><code>TopologyProviderFactory</code></a></li>
- <li>Provides a <a href="../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps"><code>ApplicationUtilities</code></a></li>
- <li>Provides a <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot"><code>MqttDevice</code></a></li>
- </ul></div>
-</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>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.edgent.samples.apps.<a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#props">props</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#propsPath">propsPath</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#t">t</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#AbstractMqttApplication-java.lang.String-">AbstractMqttApplication</a></span>(java.lang.String&nbsp;propsPath)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#commandId-java.lang.String-java.lang.String-">commandId</a></span>(java.lang.String&nbsp;sensorId,
-         java.lang.String&nbsp;commandId)</code>
-<div class="block">Compose a MqttDevice commandId for the sensor</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#getCommandValueString-com.google.gson.JsonObject-">getCommandValueString</a></span>(com.google.gson.JsonObject&nbsp;jo)</code>
-<div class="block">Extract a simple string valued command arg 
- from a <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-"><code>MqttDevice.commands(String...)</code></a> returned
- JsonObject tuple.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#mqttDevice--">mqttDevice</a></span>()</code>
-<div class="block">Get the application's MqttDevice</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
-<div class="block">A hook for a subclass to do things prior to the invocation
- of <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-"><code>AbstractApplication.buildTopology(Topology)</code></a>.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#sensorEventId-java.lang.String-java.lang.String-">sensorEventId</a></span>(java.lang.String&nbsp;sensorId,
-             java.lang.String&nbsp;eventId)</code>
-<div class="block">Compose a MqttDevice eventId for the sensor.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.edgent.samples.apps.<a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#config--">config</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#handleRuntimeError-java.lang.String-java.lang.Exception-">handleRuntimeError</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#run--">run</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#utils--">utils</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="AbstractMqttApplication-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>AbstractMqttApplication</h4>
-<pre>public&nbsp;AbstractMqttApplication(java.lang.String&nbsp;propsPath)
-                        throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="preBuildTopology-org.apache.edgent.topology.Topology-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>preBuildTopology</h4>
-<pre>protected&nbsp;void&nbsp;preBuildTopology(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">AbstractApplication</a></code></span></div>
-<div class="block">A hook for a subclass to do things prior to the invocation
- of <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-"><code>AbstractApplication.buildTopology(Topology)</code></a>.
- <p>
- The default implementation is a no-op.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - the application's topology</dd>
-</dl>
-</li>
-</ul>
-<a name="mqttDevice--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>mqttDevice</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a>&nbsp;mqttDevice()</pre>
-<div class="block">Get the application's MqttDevice</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the MqttDevice</dd>
-</dl>
-</li>
-</ul>
-<a name="sensorEventId-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>sensorEventId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;sensorEventId(java.lang.String&nbsp;sensorId,
-                                      java.lang.String&nbsp;eventId)</pre>
-<div class="block">Compose a MqttDevice eventId for the sensor.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sensorId</code> - the sensor id</dd>
-<dd><code>eventId</code> - the sensor's eventId</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the device eventId</dd>
-</dl>
-</li>
-</ul>
-<a name="commandId-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>commandId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;commandId(java.lang.String&nbsp;sensorId,
-                                  java.lang.String&nbsp;commandId)</pre>
-<div class="block">Compose a MqttDevice commandId for the sensor</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sensorId</code> - the sensor id</dd>
-<dd><code>commandId</code> - the sensor's commandId</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the device commandId</dd>
-</dl>
-</li>
-</ul>
-<a name="getCommandValueString-com.google.gson.JsonObject-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getCommandValueString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getCommandValueString(com.google.gson.JsonObject&nbsp;jo)</pre>
-<div class="block">Extract a simple string valued command arg 
- from a <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-"><code>MqttDevice.commands(String...)</code></a> returned
- JsonObject tuple.
- <p>
- Interpret the JsonObject's embedded payload as a JsonObject with a single
- "value" property.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>jo</code> - the command tuple.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the command's argument value</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/AbstractMqttApplication.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractMqttApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">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>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html b/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html
deleted file mode 100644
index b048b9d..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html
+++ /dev/null
@@ -1,314 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>DeviceCommsApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DeviceCommsApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DeviceCommsApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" target="_top">Frames</a></li>
-<li><a href="DeviceCommsApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.apps.mqtt</div>
-<h2 title="Class DeviceCommsApp" class="title">Class DeviceCommsApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">org.apache.edgent.samples.apps.AbstractApplication</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">org.apache.edgent.samples.apps.mqtt.AbstractMqttApplication</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.apps.mqtt.DeviceCommsApp</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">DeviceCommsApp</span>
-extends <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></pre>
-<div class="block">An MQTT Device Communications client for watching device events
- and sending commands.
- <p>
- This is an "application properties" aware client that gets MQTT configuration
- from an Edgent sample app application configuration properties file.
- <p>
- This client avoids the need for other MQTT clients (e.g., from a mosquitto
- installation) to observe and control the applications.</div>
-</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>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.edgent.samples.apps.<a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#props">props</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#propsPath">propsPath</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#t">t</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
-<div class="block">Build the application's topology.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.samples.apps.mqtt.AbstractMqttApplication">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.edgent.samples.apps.mqtt.<a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#commandId-java.lang.String-java.lang.String-">commandId</a>, <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#getCommandValueString-com.google.gson.JsonObject-">getCommandValueString</a>, <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#mqttDevice--">mqttDevice</a>, <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology</a>, <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#sensorEventId-java.lang.String-java.lang.String-">sensorEventId</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.edgent.samples.apps.<a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#config--">config</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#handleRuntimeError-java.lang.String-java.lang.Exception-">handleRuntimeError</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#run--">run</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#utils--">utils</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-<a name="buildTopology-org.apache.edgent.topology.Topology-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>buildTopology</h4>
-<pre>protected&nbsp;void&nbsp;buildTopology(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-">AbstractApplication</a></code></span></div>
-<div class="block">Build the application's topology.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - Topology to add to</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DeviceCommsApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" target="_top">Frames</a></li>
-<li><a href="DeviceCommsApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/class-use/AbstractMqttApplication.html b/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/class-use/AbstractMqttApplication.html
deleted file mode 100644
index f32573d..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/class-use/AbstractMqttApplication.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.apps.mqtt.AbstractMqttApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.apps.mqtt.AbstractMqttApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/class-use/AbstractMqttApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractMqttApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.apps.mqtt.AbstractMqttApplication" class="title">Uses of Class<br>org.apache.edgent.samples.apps.mqtt.AbstractMqttApplication</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.mqtt">org.apache.edgent.samples.apps.mqtt</a></td>
-<td class="colLast">
-<div class="block">Base support for Edgent MQTT based application samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.sensorAnalytics">org.apache.edgent.samples.apps.sensorAnalytics</a></td>
-<td class="colLast">
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.apps.mqtt">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a> in <a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a> in <a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt">DeviceCommsApp</a></span></code>
-<div class="block">An MQTT Device Communications client for watching device events
- and sending commands.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.sensorAnalytics">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a> in <a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a> in <a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a></span></code>
-<div class="block">A sample application demonstrating some common sensor analytic processing
- themes.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/class-use/AbstractMqttApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractMqttApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/class-use/DeviceCommsApp.html b/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/class-use/DeviceCommsApp.html
deleted file mode 100644
index 7fdbefe..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/class-use/DeviceCommsApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.apps.mqtt.DeviceCommsApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.apps.mqtt.DeviceCommsApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/class-use/DeviceCommsApp.html" target="_top">Frames</a></li>
-<li><a href="DeviceCommsApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.apps.mqtt.DeviceCommsApp" class="title">Uses of Class<br>org.apache.edgent.samples.apps.mqtt.DeviceCommsApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.apps.mqtt.DeviceCommsApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/class-use/DeviceCommsApp.html" target="_top">Frames</a></li>
-<li><a href="DeviceCommsApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-frame.html
deleted file mode 100644
index d2c8efb..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-frame.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.apps.mqtt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html" target="classFrame">org.apache.edgent.samples.apps.mqtt</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt" target="classFrame">AbstractMqttApplication</a></li>
-<li><a href="DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt" target="classFrame">DeviceCommsApp</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-summary.html
deleted file mode 100644
index 46f8d3d..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-summary.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.apps.mqtt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.apps.mqtt (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.apps.mqtt</h1>
-<div class="docSummary">
-<div class="block">Base support for Edgent MQTT based application samples.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></td>
-<td class="colLast">
-<div class="block">An MQTT Application base class.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt">DeviceCommsApp</a></td>
-<td class="colLast">
-<div class="block">An MQTT Device Communications client for watching device events
- and sending commands.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.apps.mqtt Description">Package org.apache.edgent.samples.apps.mqtt Description</h2>
-<div class="block">Base support for Edgent MQTT based application samples.
- <p>
- This package builds on <code>org.apache.edgent.samples.apps</code> providing
- additional common capabilities in the area of MQTT based device appliations.</div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-tree.html
deleted file mode 100644
index bade3b9..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-tree.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.apps.mqtt Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.apps.mqtt Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.apps.mqtt</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.apps.<a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">AbstractApplication</span></a>
-<ul>
-<li type="circle">org.apache.edgent.samples.apps.mqtt.<a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt"><span class="typeNameLink">AbstractMqttApplication</span></a>
-<ul>
-<li type="circle">org.apache.edgent.samples.apps.mqtt.<a href="../../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt"><span class="typeNameLink">DeviceCommsApp</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-use.html
deleted file mode 100644
index 33b6296..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/mqtt/package-use.html
+++ /dev/null
@@ -1,187 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.apps.mqtt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.apps.mqtt (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.apps.mqtt" class="title">Uses of Package<br>org.apache.edgent.samples.apps.mqtt</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.mqtt">org.apache.edgent.samples.apps.mqtt</a></td>
-<td class="colLast">
-<div class="block">Base support for Edgent MQTT based application samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.sensorAnalytics">org.apache.edgent.samples.apps.sensorAnalytics</a></td>
-<td class="colLast">
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.mqtt">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a> used by <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/class-use/AbstractMqttApplication.html#org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a>
-<div class="block">An MQTT Application base class.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.sensorAnalytics">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a> used by <a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/class-use/AbstractMqttApplication.html#org.apache.edgent.samples.apps.sensorAnalytics">AbstractMqttApplication</a>
-<div class="block">An MQTT Application base class.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/mqtt/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/apps/package-frame.html
deleted file mode 100644
index 3c5abd4..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/package-frame.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.apps (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../org/apache/edgent/samples/apps/package-summary.html" target="classFrame">org.apache.edgent.samples.apps</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="AbstractApplication.html" title="class in org.apache.edgent.samples.apps" target="classFrame">AbstractApplication</a></li>
-<li><a href="ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps" target="classFrame">ApplicationUtilities</a></li>
-<li><a href="JsonTuples.html" title="class in org.apache.edgent.samples.apps" target="classFrame">JsonTuples</a></li>
-<li><a href="TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps" target="classFrame">TopologyProviderFactory</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/apps/package-summary.html
deleted file mode 100644
index 0b66ff0..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/package-summary.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.apps (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.apps (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.apps</h1>
-<div class="docSummary">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></td>
-<td class="colLast">
-<div class="block">An Application base class.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps">ApplicationUtilities</a></td>
-<td class="colLast">
-<div class="block">Some general purpose application configuration driven utilities.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps">JsonTuples</a></td>
-<td class="colLast">
-<div class="block">Utilties to ease working working with sensor "samples" by wrapping them
- in JsonObjects.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps">TopologyProviderFactory</a></td>
-<td class="colLast">
-<div class="block">A configuration driven factory for an Edgent topology provider.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.apps Description">Package org.apache.edgent.samples.apps Description</h2>
-<div class="block">Support for some more complex Edgent application samples.
- <p>
- This package provides some commonly needed capabilities particularly in
- the area of an external configuration description influence on various
- things.
- <p>
- Focal areas:
- <ul>
- <li><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps"><code>AbstractApplication</code></a> - a base class for
-     Edgent applications providing commonly needed features.
-     </li>
- <li><a href="../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps"><code>TopologyProviderFactory</code></a> - a configuration
-     driven factory for an Edgent topology provider.
-     </li>
- <li><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps"><code>ApplicationUtilities</code></a> - some
-     general configuration driven utilities. 
-     </li>
- <li><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps"><code>JsonTuples</code></a> - utilities for wrapping
-     sensor samples in a JsonObject and operating on it.
-     </li>
- </ul></div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/apps/package-tree.html
deleted file mode 100644
index 1d629d7..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/package-tree.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.apps Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.apps Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/mqtt/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.apps</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.apps.<a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">AbstractApplication</span></a></li>
-<li type="circle">org.apache.edgent.samples.apps.<a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">ApplicationUtilities</span></a></li>
-<li type="circle">org.apache.edgent.samples.apps.<a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">JsonTuples</span></a></li>
-<li type="circle">org.apache.edgent.samples.apps.<a href="../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">TopologyProviderFactory</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/apps/mqtt/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/apps/package-use.html
deleted file mode 100644
index b0e7cdc..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/package-use.html
+++ /dev/null
@@ -1,252 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.apps (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.apps (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.apps" class="title">Uses of Package<br>org.apache.edgent.samples.apps</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.mqtt">org.apache.edgent.samples.apps.mqtt</a></td>
-<td class="colLast">
-<div class="block">Base support for Edgent MQTT based application samples.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.sensorAnalytics">org.apache.edgent.samples.apps.sensorAnalytics</a></td>
-<td class="colLast">
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps">org.apache.edgent.test.svt.apps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps.iotp">org.apache.edgent.test.svt.apps.iotp</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> used by <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/samples/apps/class-use/ApplicationUtilities.html#org.apache.edgent.samples.apps">ApplicationUtilities</a>
-<div class="block">Some general purpose application configuration driven utilities.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.mqtt">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> used by <a href="../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/samples/apps/class-use/AbstractApplication.html#org.apache.edgent.samples.apps.mqtt">AbstractApplication</a>
-<div class="block">An Application base class.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.sensorAnalytics">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> used by <a href="../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/samples/apps/class-use/AbstractApplication.html#org.apache.edgent.samples.apps.sensorAnalytics">AbstractApplication</a>
-<div class="block">An Application base class.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> used by <a href="../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/samples/apps/class-use/AbstractApplication.html#org.apache.edgent.test.svt.apps">AbstractApplication</a>
-<div class="block">An Application base class.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps.iotp">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> used by <a href="../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/samples/apps/class-use/AbstractApplication.html#org.apache.edgent.test.svt.apps.iotp">AbstractApplication</a>
-<div class="block">An Application base class.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/apps/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html b/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html
deleted file mode 100644
index 3a7371f..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html
+++ /dev/null
@@ -1,319 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Sensor1 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Sensor1 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Sensor1.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" target="_top">Frames</a></li>
-<li><a href="Sensor1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.apps.sensorAnalytics</div>
-<h2 title="Class Sensor1" class="title">Class Sensor1</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.apps.sensorAnalytics.Sensor1</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Sensor1</span>
-extends java.lang.Object</pre>
-<div class="block">Analytics for "Sensor1".
- <p>
- This sample demonstrates some common continuous sensor analytic themes.
- <p>
- In this case we have a simulated sensor producing 1000 samples per second
- of an integer type in the range of 0-255.
- <p>
- The processing pipeline created is roughly:
- <ul>
- <li>Batched Data Reduction - reduce the sensor's 1000 samples per second
-     down to 1 sample per second simple statistical aggregation of the readings.
-     </li>
- <li>Compute historical information - each 1hz sample is augmented
-     with a 30 second trailing average of the 1hz readings.
-     </li>
- <li>Threshold detection - each 1hz sample's value is compared
-     against a target range and outliers are identified.
-     </li>
- <li>Local logging - outliers are logged to a local file
-     </li>
- <li>Publishing results to a MQTT broker:
-     <ul>
-     <li>when enabled, invdividual outliers are published.</li>
-     <li>Every 30 seconds a list of the last 10 outliers is published.</li>
-     </ul>
-     </li>
- </ul>
- <p>
- The sample also demonstrates:
- <ul>
- <li>Dynamic configuration control - subscribe to a MQTT broker
-     to receive commands to adjust the threshold detection range value. 
-     </li>
- <li>Generally, the configuration of the processing is driven via an
-     external configuration description.
-     </li>
- <li>Conditional stream tracing - configuration controlled inclusion of tracing.
-     </li>
- <li>Use of <a href="../../../../../../org/apache/edgent/topology/TStream.html#tag-java.lang.String...-"><code>TStream.tag(String...)</code></a> to improve information provided by
-     the Edgent DevelopmentProvider console.</li>
- </ul></div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html#Sensor1-org.apache.edgent.topology.Topology-org.apache.edgent.samples.apps.sensorAnalytics.SensorAnalyticsApplication-">Sensor1</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-       <a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a>&nbsp;app)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html#addAnalytics--">addAnalytics</a></span>()</code>
-<div class="block">Add the sensor's analytics to the topology.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Sensor1-org.apache.edgent.topology.Topology-org.apache.edgent.samples.apps.sensorAnalytics.SensorAnalyticsApplication-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Sensor1</h4>
-<pre>public&nbsp;Sensor1(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-               <a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a>&nbsp;app)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="addAnalytics--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>addAnalytics</h4>
-<pre>public&nbsp;void&nbsp;addAnalytics()</pre>
-<div class="block">Add the sensor's analytics to the topology.</div>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Sensor1.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" target="_top">Frames</a></li>
-<li><a href="Sensor1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html b/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html
deleted file mode 100644
index 93fc4d6..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>SensorAnalyticsApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SensorAnalyticsApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SensorAnalyticsApplication.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="SensorAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.apps.sensorAnalytics</div>
-<h2 title="Class SensorAnalyticsApplication" class="title">Class SensorAnalyticsApplication</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">org.apache.edgent.samples.apps.AbstractApplication</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">org.apache.edgent.samples.apps.mqtt.AbstractMqttApplication</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.apps.sensorAnalytics.SensorAnalyticsApplication</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SensorAnalyticsApplication</span>
-extends <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></pre>
-<div class="block">A sample application demonstrating some common sensor analytic processing
- themes.</div>
-</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>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.edgent.samples.apps.<a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#props">props</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#propsPath">propsPath</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#t">t</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
-<div class="block">Build the application's topology.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.samples.apps.mqtt.AbstractMqttApplication">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.edgent.samples.apps.mqtt.<a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt">AbstractMqttApplication</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#commandId-java.lang.String-java.lang.String-">commandId</a>, <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#getCommandValueString-com.google.gson.JsonObject-">getCommandValueString</a>, <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#mqttDevice--">mqttDevice</a>, <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology</a>, <a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#sensorEventId-java.lang.String-java.lang.String-">sensorEventId</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.edgent.samples.apps.<a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#config--">config</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#handleRuntimeError-java.lang.String-java.lang.Exception-">handleRuntimeError</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#run--">run</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#utils--">utils</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-<a name="buildTopology-org.apache.edgent.topology.Topology-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>buildTopology</h4>
-<pre>protected&nbsp;void&nbsp;buildTopology(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-">AbstractApplication</a></code></span></div>
-<div class="block">Build the application's topology.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - Topology to add to</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SensorAnalyticsApplication.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="SensorAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/class-use/Sensor1.html b/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/class-use/Sensor1.html
deleted file mode 100644
index ac2369d..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/class-use/Sensor1.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.apps.sensorAnalytics.Sensor1 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.apps.sensorAnalytics.Sensor1 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/class-use/Sensor1.html" target="_top">Frames</a></li>
-<li><a href="Sensor1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.apps.sensorAnalytics.Sensor1" class="title">Uses of Class<br>org.apache.edgent.samples.apps.sensorAnalytics.Sensor1</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.apps.sensorAnalytics.Sensor1</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/class-use/Sensor1.html" target="_top">Frames</a></li>
-<li><a href="Sensor1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/class-use/SensorAnalyticsApplication.html b/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/class-use/SensorAnalyticsApplication.html
deleted file mode 100644
index 6961f2b..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/class-use/SensorAnalyticsApplication.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.apps.sensorAnalytics.SensorAnalyticsApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.apps.sensorAnalytics.SensorAnalyticsApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/class-use/SensorAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="SensorAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.apps.sensorAnalytics.SensorAnalyticsApplication" class="title">Uses of Class<br>org.apache.edgent.samples.apps.sensorAnalytics.SensorAnalyticsApplication</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.sensorAnalytics">org.apache.edgent.samples.apps.sensorAnalytics</a></td>
-<td class="colLast">
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.apps.sensorAnalytics">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a> in <a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a> with parameters of type <a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html#Sensor1-org.apache.edgent.topology.Topology-org.apache.edgent.samples.apps.sensorAnalytics.SensorAnalyticsApplication-">Sensor1</a></span>(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-       <a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a>&nbsp;app)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/class-use/SensorAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="SensorAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-frame.html
deleted file mode 100644
index 9d78eec..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-frame.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.apps.sensorAnalytics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html" target="classFrame">org.apache.edgent.samples.apps.sensorAnalytics</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics" target="classFrame">Sensor1</a></li>
-<li><a href="SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics" target="classFrame">SensorAnalyticsApplication</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html
deleted file mode 100644
index 0530258..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html
+++ /dev/null
@@ -1,304 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.apps.sensorAnalytics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.apps.sensorAnalytics (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.apps.sensorAnalytics</h1>
-<div class="docSummary">
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">Sensor1</a></td>
-<td class="colLast">
-<div class="block">Analytics for "Sensor1".</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a></td>
-<td class="colLast">
-<div class="block">A sample application demonstrating some common sensor analytic processing
- themes.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.apps.sensorAnalytics Description">Package org.apache.edgent.samples.apps.sensorAnalytics Description</h2>
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.
- See <a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><code>Sensor1</code></a> for the
- core of the analytics processing and  
- <a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><code>SensorAnalyticsApplication</code></a>
- for the main program.
- <p>
- The themes include:
- <ul>
- <li>Batched Data Reduction - reducing higher frequency sensor reading
-     samples down to a lower frequency using statistical aggregations
-     of the raw readings.
-     </li>
- <li>Computing continuous historical statistics such as a
-     30 second trailing average of sensor readings.
-     </li>
- <li>Outlier / threshold detection against a configurable range</li>
- <li>Local logging of stream tuples</li>
- <li>Publishing analytic results to an MQTT broker</li>
- <li>Dynamic configuration control - subscribing to a MQTT broker
-     to receive commands to adjust the threshold detection range value. 
-     </li>
- <li>Generally, the configuration of the processing is driven via an
-     external configuration description.
-     </li>
- <li>Conditional stream tracing - configuration controlled inclusion of tracing.
-     </li>
- </ul>
- 
- <h2>Prerequisites:</h2>
- <p>
- The default configuration is for a local MQTT broker.
- A good resource is <a href="http://mosquitto.org">mosquitto.org</a>
- if you want to download and setup your own MQTT broker.
- Or you can use some other broker available in your environment.
- <p>
- Alternatively, there are some public MQTT brokers available to experiment with.
- Their availability status isn't guaranteed.  If you're unable to connect
- to the broker, it's likely that it isn't up or your firewalls don't
- allow you to connect.  DO NOT PUBLISH ANYTHING SENSITIVE - anyone
- can be listing.  A couple of public broker locations are noted
- in the application's properties file.
- <p>
- The default <code>mqttDevice.topic.prefix</code> value, used by default in 
- generated MQTT topic values and MQTT clientId, contains the user's
- local login id.  The SensorAnalytics sample application does not have any
- other sensitive information.
- <p>
- Edit <code>&lt;edgent-release&gt;/java8/scripts/apps/sensorAnalytics/sensoranalytics.properties</code>
- to change the broker location or topic prefix.
- 
- <h2>Application output:</h2>
- <p>
- The application periodically (every 30sec), publishes a list of
- the last 10 outliers to MQTT.  When enabled, it also publishes 
- full details of individual outliers as they occur.
- It also subscribes to MQTT topics for commands to dynamically change the
- threshold range and whether to publish individual outliers.
- <p>
- All MQTT configuration information, including topic patterns,
- are in the application.properties file.
- <p>
- The application logs outlier events in local files.  The actual location
- is specified in the application.properties file.
- <p>
- The application generates some output on stdout and stderr.
- The information includes:
- <ul>
- <li>MQTT device info. Lines 1 through 5 in the sample console output below.</li>
- <li>URL for the Edgent development console.  Line 6.</li>
- <li>Trace of the outlier event stream. Line 7.
-     The output is a label, which includes the active threshold range,
-     followed by the event's JSON.
-     These are the events that will also be logged and conditionally published
-     as well as included in the periodic lastN info published every 30sec.
-     </li>
- <li>Announcement when a "change threshold" or "enable publish of 1khz outliers"
-     command is received and processed.
-     Line 8 and 9. 
-     </li>
- <li>At this time some INFO trace output from the MQTT connector</li>
- <li>At this time some INFO trace output from the File connector</li>
- </ul>
- Sample console output:
- <pre><code>
- [1] MqttDevice serverURLs [tcp://localhost:1883]
- [2] MqttDevice clientId id/012345
- [3] MqttDevice deviceId 012345
- [4] MqttDevice event topic pattern id/012345/evt/+/fmt/json
- [5] MqttDevice command topic pattern id/012345/cmd/+/fmt/json
- [6] Edgent Console URL for the job: http://localhost:57324/console
- [7] sensor1.outside1hzMeanRange[124..129]: {"id":"sensor1","reading":{"N":1000,"MIN":0.0,"MAX":254.0,"MEAN":130.23200000000006,"STDDEV":75.5535473324351},"msec":1454623874408,"agg.begin.msec":1454623873410,"agg.count":1000,"AvgTrailingMean":128,"AvgTrailingMeanCnt":4}
- ...
- [8] ===== Changing range to [125..127] ======
- sensor1.outside1hzMeanRange[125..127]: {"id":"sensor1","reading":{"N":1000,"MIN":0.0,"MAX":254.0,"MEAN":129.00099999999978,"STDDEV":74.3076080870567},"msec":1454624142419,"agg.begin.msec":1454624141420,"agg.count":1000,"AvgTrailingMean":127,"AvgTrailingMeanCnt":30}
- [9] ===== Changing isPublish1hzOutsideRange to true ======
- ...
- </code></pre>
- 
- <h2>Running, observing and controlling the application:</h2>
- <pre><code>
- $ ./runSensorAnalytics.sh
- </code></pre>
- <p>
- To observe the locally logged outlier events:
- <pre><code>
- $ tail -f /tmp/SensorAnalytics/logs/.outside1hzMeanRange
- </code></pre>
- <p>
- To observe the events that are getting published to MQTT:
- <pre><code>
- $ ./runDeviceComms.sh watch
- </code></pre>
- <p>
- To change the outlier threshold setting:
- <br>The command value is the new range string: <code>[&lt;lowerBound&gt;..&lt;upperBound&gt;]</code>.
- <pre><code>
- $ ./runDeviceComms.sh send sensor1.set1hzMeanRangeThreshold "[125..127]"
- </code></pre>
- <p>
- To change the "publish individual 1hz outliers" control:
- <pre><code>
- $ ./runDeviceComms.sh send sensor1.setPublish1hzOutsideRange true
- </code></pre>
- 
- <h3>Alternative MQTT clients</h3>
- You can use any MQTT client but you will have to specify the 
- MQTT server, the event topics to watch / subscribe to, and the command topics
- and JSON for publish commands.  The MqttDevice output above provides most
- of the necessary information.
- <p>
- For example, the <code>mosquitto_pub</code> and
- <code>mosquitto_sub</code> commands equivalent to the above runDeviceComms.sh
- commands are:
- <pre><code>
- # Watch the device's event topics
- $ /usr/local/bin/mosquitto_sub -t id/012345/evt/+/fmt/json
- # change the outlier threshold setting
- $ /usr/local/bin/mosquitto_pub -m '{"value":"[125..127]"}' -t id/012345/cmd/sensor1.set1hzMeanRangeThreshold/fmt/json
- # change the "publish individual 1hz outliers" control
- $ /usr/local/bin/mosquitto_pub -m '{"value":"true"}' -t id/012345/cmd/sensor1.setPublish1hzOutsideRange/fmt/json
- </code></pre></div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-tree.html
deleted file mode 100644
index 20395a2..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-tree.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.apps.sensorAnalytics Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.apps.sensorAnalytics Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.apps.sensorAnalytics</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.apps.<a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">AbstractApplication</span></a>
-<ul>
-<li type="circle">org.apache.edgent.samples.apps.mqtt.<a href="../../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt"><span class="typeNameLink">AbstractMqttApplication</span></a>
-<ul>
-<li type="circle">org.apache.edgent.samples.apps.sensorAnalytics.<a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><span class="typeNameLink">SensorAnalyticsApplication</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li type="circle">org.apache.edgent.samples.apps.sensorAnalytics.<a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><span class="typeNameLink">Sensor1</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/mqtt/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-use.html
deleted file mode 100644
index 2032486..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/apps/sensorAnalytics/package-use.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.apps.sensorAnalytics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.apps.sensorAnalytics (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.apps.sensorAnalytics" class="title">Uses of Package<br>org.apache.edgent.samples.apps.sensorAnalytics</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.sensorAnalytics">org.apache.edgent.samples.apps.sensorAnalytics</a></td>
-<td class="colLast">
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.sensorAnalytics">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a> used by <a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/samples/apps/sensorAnalytics/class-use/SensorAnalyticsApplication.html#org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a>
-<div class="block">A sample application demonstrating some common sensor analytic processing
- themes.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/apps/sensorAnalytics/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/MsgSupplier.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/MsgSupplier.html
deleted file mode 100644
index d31c800..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/MsgSupplier.html
+++ /dev/null
@@ -1,295 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>MsgSupplier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MsgSupplier (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MsgSupplier.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/MsgSupplier.html" target="_top">Frames</a></li>
-<li><a href="MsgSupplier.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors</div>
-<h2 title="Class MsgSupplier" class="title">Class MsgSupplier</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.MsgSupplier</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;</dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">MsgSupplier</span>
-extends java.lang.Object
-implements <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;</pre>
-<div class="block">A Supplier&lt;String&gt; for creating sample messages to publish.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../serialized-form.html#org.apache.edgent.samples.connectors.MsgSupplier">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/MsgSupplier.html#MsgSupplier-int-">MsgSupplier</a></span>(int&nbsp;maxCnt)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/MsgSupplier.html#get--">get</a></span>()</code>
-<div class="block">Supply a value, each call to this function may return
- a different value.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="MsgSupplier-int-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>MsgSupplier</h4>
-<pre>public&nbsp;MsgSupplier(int&nbsp;maxCnt)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="get--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>get</h4>
-<pre>public&nbsp;java.lang.String&nbsp;get()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Supplier.html#get--">Supplier</a></code></span></div>
-<div class="block">Supply a value, each call to this function may return
- a different value.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;</code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Value supplied by this function.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MsgSupplier.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/MsgSupplier.html" target="_top">Frames</a></li>
-<li><a href="MsgSupplier.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/Options.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/Options.html
deleted file mode 100644
index faab063..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/Options.html
+++ /dev/null
@@ -1,366 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Options (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Options (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Options.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/Options.html" target="_top">Frames</a></li>
-<li><a href="Options.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors</div>
-<h2 title="Class Options" class="title">Class Options</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.Options</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Options</span>
-extends java.lang.Object</pre>
-<div class="block">Simple command option processor.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Options.html#Options--">Options</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Options.html#addHandler-java.lang.String-org.apache.edgent.function.Function-">addHandler</a></span>(java.lang.String&nbsp;opt,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,T&gt;&nbsp;cvtFn)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Options.html#addHandler-java.lang.String-org.apache.edgent.function.Function-T-">addHandler</a></span>(java.lang.String&nbsp;opt,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,T&gt;&nbsp;cvtFn,
-          T&nbsp;dflt)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Options.html#get-java.lang.String-">get</a></span>(java.lang.String&nbsp;opt)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Options.html#get-java.lang.String-T-">get</a></span>(java.lang.String&nbsp;opt,
-   T&nbsp;dflt)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>java.util.Set&lt;java.util.Map.Entry&lt;java.lang.String,java.lang.Object&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Options.html#getAll--">getAll</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Options.html#processArgs-java.lang.String:A-">processArgs</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Options.html#put-java.lang.String-java.lang.Object-">put</a></span>(java.lang.String&nbsp;opt,
-   java.lang.Object&nbsp;value)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Options--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Options</h4>
-<pre>public&nbsp;Options()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="addHandler-java.lang.String-org.apache.edgent.function.Function-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addHandler</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;void&nbsp;addHandler(java.lang.String&nbsp;opt,
-                           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,T&gt;&nbsp;cvtFn)</pre>
-</li>
-</ul>
-<a name="addHandler-java.lang.String-org.apache.edgent.function.Function-java.lang.Object-">
-<!--   -->
-</a><a name="addHandler-java.lang.String-org.apache.edgent.function.Function-T-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addHandler</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;void&nbsp;addHandler(java.lang.String&nbsp;opt,
-                           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,T&gt;&nbsp;cvtFn,
-                           T&nbsp;dflt)</pre>
-</li>
-</ul>
-<a name="processArgs-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>processArgs</h4>
-<pre>public&nbsp;void&nbsp;processArgs(java.lang.String[]&nbsp;args)</pre>
-</li>
-</ul>
-<a name="get-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>get</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;get(java.lang.String&nbsp;opt)</pre>
-</li>
-</ul>
-<a name="get-java.lang.String-java.lang.Object-">
-<!--   -->
-</a><a name="get-java.lang.String-T-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>get</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;get(java.lang.String&nbsp;opt,
-                 T&nbsp;dflt)</pre>
-</li>
-</ul>
-<a name="getAll--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getAll</h4>
-<pre>public&nbsp;java.util.Set&lt;java.util.Map.Entry&lt;java.lang.String,java.lang.Object&gt;&gt;&nbsp;getAll()</pre>
-</li>
-</ul>
-<a name="put-java.lang.String-java.lang.Object-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>put</h4>
-<pre>public&nbsp;void&nbsp;put(java.lang.String&nbsp;opt,
-                java.lang.Object&nbsp;value)</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>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Options.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/Options.html" target="_top">Frames</a></li>
-<li><a href="Options.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/Util.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/Util.html
deleted file mode 100644
index 9faf2cd..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/Util.html
+++ /dev/null
@@ -1,315 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Util (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Util (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Util.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/Util.html" target="_top">Frames</a></li>
-<li><a href="Util.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors</div>
-<h2 title="Class Util" class="title">Class Util</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.Util</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Util</span>
-extends java.lang.Object</pre>
-<div class="block">Utilities for connector samples.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Util.html#Util--">Util</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Util.html#awaitState-org.apache.edgent.execution.Job-org.apache.edgent.execution.Job.State-long-java.util.concurrent.TimeUnit-">awaitState</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job,
-          <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;state,
-          long&nbsp;timeout,
-          java.util.concurrent.TimeUnit&nbsp;unit)</code>
-<div class="block">Wait for the job to reach the specified state.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/Util.html#simpleTS--">simpleTS</a></span>()</code>
-<div class="block">Generate a simple timestamp with the form <code>HH:mm:ss.SSS</code></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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Util--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Util</h4>
-<pre>public&nbsp;Util()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="simpleTS--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>simpleTS</h4>
-<pre>public static&nbsp;java.lang.String&nbsp;simpleTS()</pre>
-<div class="block">Generate a simple timestamp with the form <code>HH:mm:ss.SSS</code></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the timestamp</dd>
-</dl>
-</li>
-</ul>
-<a name="awaitState-org.apache.edgent.execution.Job-org.apache.edgent.execution.Job.State-long-java.util.concurrent.TimeUnit-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>awaitState</h4>
-<pre>public static&nbsp;boolean&nbsp;awaitState(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job,
-                                 <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;state,
-                                 long&nbsp;timeout,
-                                 java.util.concurrent.TimeUnit&nbsp;unit)</pre>
-<div class="block">Wait for the job to reach the specified state.
- <p>
- A placeholder till GraphJob directly supports awaitState()?</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>job</code> - the job</dd>
-<dd><code>state</code> - the state to wait for</dd>
-<dd><code>timeout</code> - specify -1 to wait forever (until interrupted)</dd>
-<dd><code>unit</code> - may be null if timeout is -1</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if the state was reached, false otherwise: the time limit
- was reached of the thread was interrupted.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Util.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/Util.html" target="_top">Frames</a></li>
-<li><a href="Util.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/class-use/MsgSupplier.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/class-use/MsgSupplier.html
deleted file mode 100644
index 50fe408..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/class-use/MsgSupplier.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.MsgSupplier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.MsgSupplier (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/class-use/MsgSupplier.html" target="_top">Frames</a></li>
-<li><a href="MsgSupplier.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.MsgSupplier" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.MsgSupplier</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.MsgSupplier</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/class-use/MsgSupplier.html" target="_top">Frames</a></li>
-<li><a href="MsgSupplier.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/class-use/Options.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/class-use/Options.html
deleted file mode 100644
index 50ea3e3..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/class-use/Options.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.Options (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.Options (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/class-use/Options.html" target="_top">Frames</a></li>
-<li><a href="Options.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.Options" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.Options</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.kafka">org.apache.edgent.samples.connectors.kafka</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the
- <a href="../../../../../../org/apache/edgent/connectors/kafka/package-summary.html">
-     Apache Kafka stream connector</a>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.mqtt">org.apache.edgent.samples.connectors.mqtt</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the
- <a href="../../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">
-     MQTT stream connector</a>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.kafka">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a> in <a href="../../../../../../org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a> with parameters of type <a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</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 void</code></td>
-<td class="colLast"><span class="typeNameLabel">Runner.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/Runner.html#run-org.apache.edgent.samples.connectors.Options-">run</a></span>(<a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a>&nbsp;options)</code>
-<div class="block">Build and run the publisher or subscriber application.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.mqtt">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a> in <a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a> with parameters of type <a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</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 void</code></td>
-<td class="colLast"><span class="typeNameLabel">Runner.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/Runner.html#run-org.apache.edgent.samples.connectors.Options-">run</a></span>(<a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a>&nbsp;options)</code>
-<div class="block">Build and run the publisher or subscriber application.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/class-use/Options.html" target="_top">Frames</a></li>
-<li><a href="Options.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/class-use/Util.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/class-use/Util.html
deleted file mode 100644
index c94612d..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/class-use/Util.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.Util (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.Util (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/class-use/Util.html" target="_top">Frames</a></li>
-<li><a href="Util.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.Util" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.Util</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.Util</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/class-use/Util.html" target="_top">Frames</a></li>
-<li><a href="Util.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Cmd.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Cmd.html
deleted file mode 100644
index 6e04d60..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Cmd.html
+++ /dev/null
@@ -1,368 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Cmd (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Cmd (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":6,"i1":6,"i2":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Cmd.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/Cmd.html" target="_top">Frames</a></li>
-<li><a href="Cmd.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.elm327</div>
-<h2 title="Interface Cmd" class="title">Interface Cmd</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>, <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public interface <span class="typeNameLabel">Cmd</span></pre>
-<div class="block">ELM327 and OBD-II command interface.</div>
-</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="memberSummary" 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 java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#PID">PID</a></span></code>
-<div class="block">Key ("pid") for PID identifier in JSON result.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#TS">TS</a></span></code>
-<div class="block">Key ("ts") for timestamp in JSON result.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#VALUE">VALUE</a></span></code>
-<div class="block">Key ("value") for the returned value in JSON result.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#id--">id</a></span>()</code>
-<div class="block">Unique identifier of the command.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#result-com.google.gson.JsonObject-byte:A-">result</a></span>(com.google.gson.JsonObject&nbsp;result,
-      byte[]&nbsp;reply)</code>
-<div class="block">Process the reply into a result.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#writeCmd-java.io.OutputStream-">writeCmd</a></span>(java.io.OutputStream&nbsp;out)</code>
-<div class="block">How the command is written to the serial port.</div>
-</td>
-</tr>
-</table>
-</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="PID">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>PID</h4>
-<pre>static final&nbsp;java.lang.String PID</pre>
-<div class="block">Key ("pid") for PID identifier in JSON result.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.edgent.samples.connectors.elm327.Cmd.PID">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="TS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>TS</h4>
-<pre>static final&nbsp;java.lang.String TS</pre>
-<div class="block">Key ("ts") for timestamp in JSON result. Timestamp value is the
- number of milliseconds since the 1907 epoch.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.edgent.samples.connectors.elm327.Cmd.TS">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="VALUE">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>VALUE</h4>
-<pre>static final&nbsp;java.lang.String VALUE</pre>
-<div class="block">Key ("value") for the returned value in JSON result.
- May not be present.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../constant-values.html#org.apache.edgent.samples.connectors.elm327.Cmd.VALUE">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="writeCmd-java.io.OutputStream-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>writeCmd</h4>
-<pre>void&nbsp;writeCmd(java.io.OutputStream&nbsp;out)
-       throws java.io.IOException</pre>
-<div class="block">How the command is written to the serial port.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>out</code> - OutputStream to write bytes to.</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code> - Exception writing bytes.</dd>
-</dl>
-</li>
-</ul>
-<a name="result-com.google.gson.JsonObject-byte:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>result</h4>
-<pre>boolean&nbsp;result(com.google.gson.JsonObject&nbsp;result,
-               byte[]&nbsp;reply)</pre>
-<div class="block">Process the reply into a result.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>result</code> - JSON object to populate with the result.</dd>
-<dd><code>reply</code> - Bytes that were returned from the command execution.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd><code>true</code> result is valid, <code>false</code> otherwise.</dd>
-</dl>
-</li>
-</ul>
-<a name="id--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>id</h4>
-<pre>java.lang.String&nbsp;id()</pre>
-<div class="block">Unique identifier of the command.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Unique identifier of the command.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Cmd.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/Cmd.html" target="_top">Frames</a></li>
-<li><a href="Cmd.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html
deleted file mode 100644
index 9de3892..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html
+++ /dev/null
@@ -1,520 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Elm327Cmds (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Elm327Cmds (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":9,"i2":10,"i3":9,"i4":9,"i5":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Elm327Cmds.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" target="_top">Frames</a></li>
-<li><a href="Elm327Cmds.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.elm327</div>
-<h2 title="Enum Elm327Cmds" class="title">Enum Elm327Cmds</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>java.lang.Enum&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>&gt;</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.elm327.Elm327Cmds</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>&gt;, <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public enum <span class="typeNameLabel">Elm327Cmds</span>
-extends java.lang.Enum&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>&gt;
-implements <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></pre>
-<div class="block">ELM327 commands.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== ENUM CONSTANT SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.summary">
-<!--   -->
-</a>
-<h3>Enum Constant Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
-<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Enum Constant and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#BYPASS_INIT">BYPASS_INIT</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#ECHO_OFF">ECHO_OFF</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#FAST_INIT">FAST_INIT</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#INIT">INIT</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#PROTOCOL_3">PROTOCOL_3</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#PROTOCOL_5">PROTOCOL_5</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#SLOW_INIT">SLOW_INIT</a></span></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.samples.connectors.elm327.Cmd">
-<!--   -->
-</a>
-<h3>Fields inherited from interface&nbsp;org.apache.edgent.samples.connectors.elm327.<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#PID">PID</a>, <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#TS">TS</a>, <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#VALUE">VALUE</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#id--">id</a></span>()</code>
-<div class="block">Unique identifier of the command.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#initializeProtocol-org.apache.edgent.connectors.serial.SerialDevice-org.apache.edgent.samples.connectors.elm327.Elm327Cmds-">initializeProtocol</a></span>(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device,
-                  <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>&nbsp;protocol)</code>
-<div class="block">Initialize the ELM327 to a specific protocol.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#result-com.google.gson.JsonObject-byte:A-">result</a></span>(com.google.gson.JsonObject&nbsp;result,
-      byte[]&nbsp;data)</code>
-<div class="block">Process the reply into a result.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#writeCmd-java.io.OutputStream-">writeCmd</a></span>(java.io.OutputStream&nbsp;out)</code>
-<div class="block">How the command is written to the serial port.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ ENUM CONSTANT DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.detail">
-<!--   -->
-</a>
-<h3>Enum Constant Detail</h3>
-<a name="INIT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>INIT</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a> INIT</pre>
-</li>
-</ul>
-<a name="ECHO_OFF">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ECHO_OFF</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a> ECHO_OFF</pre>
-</li>
-</ul>
-<a name="PROTOCOL_3">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>PROTOCOL_3</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a> PROTOCOL_3</pre>
-</li>
-</ul>
-<a name="PROTOCOL_5">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>PROTOCOL_5</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a> PROTOCOL_5</pre>
-</li>
-</ul>
-<a name="BYPASS_INIT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>BYPASS_INIT</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a> BYPASS_INIT</pre>
-</li>
-</ul>
-<a name="FAST_INIT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>FAST_INIT</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a> FAST_INIT</pre>
-</li>
-</ul>
-<a name="SLOW_INIT">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SLOW_INIT</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a> SLOW_INIT</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="values--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>[]&nbsp;values()</pre>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.  This method may be used to iterate
-over the constants as follows:
-<pre>
-for (Elm327Cmds c : Elm327Cmds.values())
-&nbsp;   System.out.println(c);
-</pre></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an array containing the constants of this enum type, in the order they are declared</dd>
-</dl>
-</li>
-</ul>
-<a name="valueOf-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
-<div class="block">Returns the enum constant of this type with the specified name.
-The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are 
-not permitted.)</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>name</code> - the name of the enum constant to be returned.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the enum constant with the specified name</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
-</dl>
-</li>
-</ul>
-<a name="writeCmd-java.io.OutputStream-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>writeCmd</h4>
-<pre>public&nbsp;void&nbsp;writeCmd(java.io.OutputStream&nbsp;out)
-              throws java.io.IOException</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#writeCmd-java.io.OutputStream-">Cmd</a></code></span></div>
-<div class="block">How the command is written to the serial port.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#writeCmd-java.io.OutputStream-">writeCmd</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>out</code> - OutputStream to write bytes to.</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code> - Exception writing bytes.</dd>
-</dl>
-</li>
-</ul>
-<a name="result-com.google.gson.JsonObject-byte:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>result</h4>
-<pre>public&nbsp;boolean&nbsp;result(com.google.gson.JsonObject&nbsp;result,
-                      byte[]&nbsp;data)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#result-com.google.gson.JsonObject-byte:A-">Cmd</a></code></span></div>
-<div class="block">Process the reply into a result.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#result-com.google.gson.JsonObject-byte:A-">result</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>result</code> - JSON object to populate with the result.</dd>
-<dd><code>data</code> - Bytes that were returned from the command execution.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd><code>true</code> result is valid, <code>false</code> otherwise.</dd>
-</dl>
-</li>
-</ul>
-<a name="id--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>id</h4>
-<pre>public&nbsp;java.lang.String&nbsp;id()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#id--">Cmd</a></code></span></div>
-<div class="block">Unique identifier of the command.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#id--">id</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Unique identifier of the command.</dd>
-</dl>
-</li>
-</ul>
-<a name="initializeProtocol-org.apache.edgent.connectors.serial.SerialDevice-org.apache.edgent.samples.connectors.elm327.Elm327Cmds-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>initializeProtocol</h4>
-<pre>public static&nbsp;void&nbsp;initializeProtocol(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device,
-                                      <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>&nbsp;protocol)</pre>
-<div class="block">Initialize the ELM327 to a specific protocol.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>device</code> - Serial device the ELM327 is connected to.</dd>
-<dd><code>protocol</code> - OBD-II protocol to initialize to.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Elm327Cmds.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" target="_top">Frames</a></li>
-<li><a href="Elm327Cmds.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&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; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Elm327Streams.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Elm327Streams.html
deleted file mode 100644
index b55ac37..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Elm327Streams.html
+++ /dev/null
@@ -1,304 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Elm327Streams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Elm327Streams (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Elm327Streams.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" target="_top">Frames</a></li>
-<li><a href="Elm327Streams.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.elm327</div>
-<h2 title="Class Elm327Streams" class="title">Class Elm327Streams</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.elm327.Elm327Streams</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Elm327Streams</span>
-extends java.lang.Object</pre>
-<div class="block">Streams fetching OBD-II data from an ELM327 through
- a serial device.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="https://en.wikipedia.org/wiki/ELM327">ELM327</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html#Elm327Streams--">Elm327Streams</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonArray&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html#poll-org.apache.edgent.connectors.serial.SerialDevice-long-java.util.concurrent.TimeUnit-org.apache.edgent.samples.connectors.elm327.Cmd...-">poll</a></span>(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device,
-    long&nbsp;period,
-    java.util.concurrent.TimeUnit&nbsp;unit,
-    <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>...&nbsp;cmds)</code>
-<div class="block">Periodically execute a number of ELM327 commands.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Elm327Streams--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Elm327Streams</h4>
-<pre>public&nbsp;Elm327Streams()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="poll-org.apache.edgent.connectors.serial.SerialDevice-long-java.util.concurrent.TimeUnit-org.apache.edgent.samples.connectors.elm327.Cmd...-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>poll</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonArray&gt;&nbsp;poll(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device,
-                                                      long&nbsp;period,
-                                                      java.util.concurrent.TimeUnit&nbsp;unit,
-                                                      <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>...&nbsp;cmds)</pre>
-<div class="block">Periodically execute a number of ELM327 commands.
- Each tuple on the returned stream is a JSON array containing
- the result for each command.
- <BR>
- Each result is a JSON object containing the
- <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#id--"><code>command identifier</code></a> with key <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#PID"><code>pid</code></a>
- and any result set by the individual command, typically with
- the key <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#VALUE"><code>value</code></a>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>device</code> - Serial device the ELM327 is connected to.</dd>
-<dd><code>period</code> - Period to poll.</dd>
-<dd><code>unit</code> - Unit of <code>period</code>.</dd>
-<dd><code>cmds</code> - Commands to execute.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Stream containing the results of the command exections.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Elm327Streams.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" target="_top">Frames</a></li>
-<li><a href="Elm327Streams.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Pids01.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Pids01.html
deleted file mode 100644
index 323f96e..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/Pids01.html
+++ /dev/null
@@ -1,492 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Pids01 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Pids01 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Pids01.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/Pids01.html" target="_top">Frames</a></li>
-<li><a href="Pids01.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.elm327</div>
-<h2 title="Enum Pids01" class="title">Enum Pids01</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>java.lang.Enum&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a>&gt;</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.elm327.Pids01</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a>&gt;, <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public enum <span class="typeNameLabel">Pids01</span>
-extends java.lang.Enum&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a>&gt;
-implements <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></pre>
-<div class="block">OBD-II Standard Mode 01 Pids.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="https://en.wikipedia.org/wiki/OBD-II_PIDs#Mode_01">OBD-II Mode 01 Pids</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== ENUM CONSTANT SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.summary">
-<!--   -->
-</a>
-<h3>Enum Constant Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
-<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Enum Constant and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#AIR_INTAKE_TEMP">AIR_INTAKE_TEMP</a></span></code>
-<div class="block">Engine air intake temperature in degrees C.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#AVAILABLE_PIDS">AVAILABLE_PIDS</a></span></code>
-<div class="block">Get the list of available PIDs.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#ENGINE_COOLANT_TEMP">ENGINE_COOLANT_TEMP</a></span></code>
-<div class="block">Engine coolant temperature in degrees C.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#RPM">RPM</a></span></code>
-<div class="block">Engine speed in rpm.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#SPEED">SPEED</a></span></code>
-<div class="block">Vehicle speed in km/h.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.samples.connectors.elm327.Cmd">
-<!--   -->
-</a>
-<h3>Fields inherited from interface&nbsp;org.apache.edgent.samples.connectors.elm327.<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#PID">PID</a>, <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#TS">TS</a>, <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#VALUE">VALUE</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#id--">id</a></span>()</code>
-<div class="block">Unique identifier of the command.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#result-com.google.gson.JsonObject-byte:A-">result</a></span>(com.google.gson.JsonObject&nbsp;result,
-      byte[]&nbsp;data)</code>
-<div class="block">Process the reply into a result.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#writeCmd-java.io.OutputStream-">writeCmd</a></span>(java.io.OutputStream&nbsp;out)</code>
-<div class="block">How the command is written to the serial port.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ ENUM CONSTANT DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.detail">
-<!--   -->
-</a>
-<h3>Enum Constant Detail</h3>
-<a name="AVAILABLE_PIDS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>AVAILABLE_PIDS</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a> AVAILABLE_PIDS</pre>
-<div class="block">Get the list of available PIDs.</div>
-</li>
-</ul>
-<a name="ENGINE_COOLANT_TEMP">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ENGINE_COOLANT_TEMP</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a> ENGINE_COOLANT_TEMP</pre>
-<div class="block">Engine coolant temperature in degrees C.</div>
-</li>
-</ul>
-<a name="RPM">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>RPM</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a> RPM</pre>
-<div class="block">Engine speed in rpm.</div>
-</li>
-</ul>
-<a name="SPEED">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SPEED</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a> SPEED</pre>
-<div class="block">Vehicle speed in km/h.</div>
-</li>
-</ul>
-<a name="AIR_INTAKE_TEMP">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>AIR_INTAKE_TEMP</h4>
-<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a> AIR_INTAKE_TEMP</pre>
-<div class="block">Engine air intake temperature in degrees C.</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="values--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a>[]&nbsp;values()</pre>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.  This method may be used to iterate
-over the constants as follows:
-<pre>
-for (Pids01 c : Pids01.values())
-&nbsp;   System.out.println(c);
-</pre></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an array containing the constants of this enum type, in the order they are declared</dd>
-</dl>
-</li>
-</ul>
-<a name="valueOf-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
-<div class="block">Returns the enum constant of this type with the specified name.
-The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are 
-not permitted.)</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>name</code> - the name of the enum constant to be returned.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the enum constant with the specified name</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
-</dl>
-</li>
-</ul>
-<a name="id--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>id</h4>
-<pre>public&nbsp;java.lang.String&nbsp;id()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#id--">Cmd</a></code></span></div>
-<div class="block">Unique identifier of the command.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#id--">id</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Unique identifier of the command.</dd>
-</dl>
-</li>
-</ul>
-<a name="writeCmd-java.io.OutputStream-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>writeCmd</h4>
-<pre>public&nbsp;void&nbsp;writeCmd(java.io.OutputStream&nbsp;out)
-              throws java.io.IOException</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#writeCmd-java.io.OutputStream-">Cmd</a></code></span></div>
-<div class="block">How the command is written to the serial port.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#writeCmd-java.io.OutputStream-">writeCmd</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>out</code> - OutputStream to write bytes to.</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code> - Exception writing bytes.</dd>
-</dl>
-</li>
-</ul>
-<a name="result-com.google.gson.JsonObject-byte:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>result</h4>
-<pre>public final&nbsp;boolean&nbsp;result(com.google.gson.JsonObject&nbsp;result,
-                            byte[]&nbsp;data)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#result-com.google.gson.JsonObject-byte:A-">Cmd</a></code></span></div>
-<div class="block">Process the reply into a result.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#result-com.google.gson.JsonObject-byte:A-">result</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>result</code> - JSON object to populate with the result.</dd>
-<dd><code>data</code> - Bytes that were returned from the command execution.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd><code>true</code> result is valid, <code>false</code> otherwise.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Pids01.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/Pids01.html" target="_top">Frames</a></li>
-<li><a href="Pids01.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&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; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Cmd.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Cmd.html
deleted file mode 100644
index 43314b3..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Cmd.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.samples.connectors.elm327.Cmd (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.samples.connectors.elm327.Cmd (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/class-use/Cmd.html" target="_top">Frames</a></li>
-<li><a href="Cmd.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Interface org.apache.edgent.samples.connectors.elm327.Cmd" class="title">Uses of Interface<br>org.apache.edgent.samples.connectors.elm327.Cmd</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.elm327">org.apache.edgent.samples.connectors.elm327</a></td>
-<td class="colLast">
-<div class="block">OBD-II protocol sample using ELM327.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.elm327.runtime">org.apache.edgent.samples.connectors.elm327.runtime</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.elm327">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a> in <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a> that implement <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></span></code>
-<div class="block">ELM327 commands.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></span></code>
-<div class="block">OBD-II Standard Mode 01 Pids.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a> with parameters of type <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</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="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonArray&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Elm327Streams.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html#poll-org.apache.edgent.connectors.serial.SerialDevice-long-java.util.concurrent.TimeUnit-org.apache.edgent.samples.connectors.elm327.Cmd...-">poll</a></span>(<a href="../../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device,
-    long&nbsp;period,
-    java.util.concurrent.TimeUnit&nbsp;unit,
-    <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>...&nbsp;cmds)</code>
-<div class="block">Periodically execute a number of ELM327 commands.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.elm327.runtime">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a> in <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html">org.apache.edgent.samples.connectors.elm327.runtime</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html">org.apache.edgent.samples.connectors.elm327.runtime</a> with parameters of type <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</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 com.google.gson.JsonObject</code></td>
-<td class="colLast"><span class="typeNameLabel">CommandExecutor.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#execute-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">execute</a></span>(<a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>&nbsp;cmd,
-       java.io.OutputStream&nbsp;out,
-       java.io.InputStream&nbsp;in)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static com.google.gson.JsonObject</code></td>
-<td class="colLast"><span class="typeNameLabel">CommandExecutor.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#executeUntilOK-int-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">executeUntilOK</a></span>(int&nbsp;n,
-              <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>&nbsp;cmd,
-              java.io.OutputStream&nbsp;out,
-              java.io.InputStream&nbsp;in)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><span class="typeNameLabel">CommandExecutor.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#initialize-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">initialize</a></span>(<a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>&nbsp;protocol,
-          java.io.OutputStream&nbsp;out,
-          java.io.InputStream&nbsp;in)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/class-use/Cmd.html" target="_top">Frames</a></li>
-<li><a href="Cmd.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Elm327Cmds.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Elm327Cmds.html
deleted file mode 100644
index 87937a4..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Elm327Cmds.html
+++ /dev/null
@@ -1,193 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.elm327.Elm327Cmds (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.elm327.Elm327Cmds (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/class-use/Elm327Cmds.html" target="_top">Frames</a></li>
-<li><a href="Elm327Cmds.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.elm327.Elm327Cmds" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.elm327.Elm327Cmds</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.elm327">org.apache.edgent.samples.connectors.elm327</a></td>
-<td class="colLast">
-<div class="block">OBD-II protocol sample using ELM327.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.elm327">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a> in <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a> that return <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</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="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Elm327Cmds.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">Elm327Cmds.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a> with parameters of type <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</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 void</code></td>
-<td class="colLast"><span class="typeNameLabel">Elm327Cmds.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html#initializeProtocol-org.apache.edgent.connectors.serial.SerialDevice-org.apache.edgent.samples.connectors.elm327.Elm327Cmds-">initializeProtocol</a></span>(<a href="../../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device,
-                  <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>&nbsp;protocol)</code>
-<div class="block">Initialize the ELM327 to a specific protocol.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/class-use/Elm327Cmds.html" target="_top">Frames</a></li>
-<li><a href="Elm327Cmds.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Elm327Streams.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Elm327Streams.html
deleted file mode 100644
index baefd51..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Elm327Streams.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.elm327.Elm327Streams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.elm327.Elm327Streams (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/class-use/Elm327Streams.html" target="_top">Frames</a></li>
-<li><a href="Elm327Streams.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.elm327.Elm327Streams" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.elm327.Elm327Streams</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.elm327.Elm327Streams</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/class-use/Elm327Streams.html" target="_top">Frames</a></li>
-<li><a href="Elm327Streams.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Pids01.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Pids01.html
deleted file mode 100644
index fd35d01..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/class-use/Pids01.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.elm327.Pids01 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.elm327.Pids01 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/class-use/Pids01.html" target="_top">Frames</a></li>
-<li><a href="Pids01.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.elm327.Pids01" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.elm327.Pids01</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.elm327">org.apache.edgent.samples.connectors.elm327</a></td>
-<td class="colLast">
-<div class="block">OBD-II protocol sample using ELM327.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.elm327">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a> in <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a> that return <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</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="../../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Pids01.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">Pids01.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/class-use/Pids01.html" target="_top">Frames</a></li>
-<li><a href="Pids01.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-frame.html
deleted file mode 100644
index 1cb0a73..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-frame.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.elm327 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html" target="classFrame">org.apache.edgent.samples.connectors.elm327</a></h1>
-<div class="indexContainer">
-<h2 title="Interfaces">Interfaces</h2>
-<ul title="Interfaces">
-<li><a href="Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327" target="classFrame"><span class="interfaceName">Cmd</span></a></li>
-</ul>
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327" target="classFrame">Elm327Streams</a></li>
-</ul>
-<h2 title="Enums">Enums</h2>
-<ul title="Enums">
-<li><a href="Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327" target="classFrame">Elm327Cmds</a></li>
-<li><a href="Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327" target="classFrame">Pids01</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-summary.html
deleted file mode 100644
index f61994b..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-summary.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.elm327 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.elm327 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.connectors.elm327</h1>
-<div class="docSummary">
-<div class="block">OBD-II protocol sample using ELM327.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
-<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Interface</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a></td>
-<td class="colLast">
-<div class="block">ELM327 and OBD-II command interface.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327">Elm327Streams</a></td>
-<td class="colLast">
-<div class="block">Streams fetching OBD-II data from an ELM327 through
- a serial device.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
-<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Enum</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a></td>
-<td class="colLast">
-<div class="block">ELM327 commands.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327">Pids01</a></td>
-<td class="colLast">
-<div class="block">OBD-II Standard Mode 01 Pids.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.connectors.elm327 Description">Package org.apache.edgent.samples.connectors.elm327 Description</h2>
-<div class="block">OBD-II protocol sample using ELM327.
- 
- ELM327 devices allow connectivity to a vehicle's OBD-II information.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="https://en.wikipedia.org/wiki/OBD-II">OBD-II</a>, 
-<a href="https://en.wikipedia.org/wiki/ELM327">ELM327</a></dd>
-</dl>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-tree.html
deleted file mode 100644
index 025f776..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-tree.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.elm327 Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.elm327 Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.connectors.elm327</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.connectors.elm327.<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Elm327Streams</span></a></li>
-</ul>
-</li>
-</ul>
-<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
-<ul>
-<li type="circle">org.apache.edgent.samples.connectors.elm327.<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Cmd</span></a></li>
-</ul>
-<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
-<ul>
-<li type="circle">org.apache.edgent.samples.connectors.elm327.<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Pids01</span></a> (implements org.apache.edgent.samples.connectors.elm327.<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>)</li>
-<li type="circle">org.apache.edgent.samples.connectors.elm327.<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Elm327Cmds</span></a> (implements org.apache.edgent.samples.connectors.elm327.<a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>)</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-use.html
deleted file mode 100644
index c33e3e8..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/package-use.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.connectors.elm327 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.connectors.elm327 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.connectors.elm327" class="title">Uses of Package<br>org.apache.edgent.samples.connectors.elm327</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.elm327">org.apache.edgent.samples.connectors.elm327</a></td>
-<td class="colLast">
-<div class="block">OBD-II protocol sample using ELM327.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.elm327.runtime">org.apache.edgent.samples.connectors.elm327.runtime</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.elm327">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a> used by <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/class-use/Cmd.html#org.apache.edgent.samples.connectors.elm327">Cmd</a>
-<div class="block">ELM327 and OBD-II command interface.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/class-use/Elm327Cmds.html#org.apache.edgent.samples.connectors.elm327">Elm327Cmds</a>
-<div class="block">ELM327 commands.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/class-use/Pids01.html#org.apache.edgent.samples.connectors.elm327">Pids01</a>
-<div class="block">OBD-II Standard Mode 01 Pids.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.elm327.runtime">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a> used by <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html">org.apache.edgent.samples.connectors.elm327.runtime</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/class-use/Cmd.html#org.apache.edgent.samples.connectors.elm327.runtime">Cmd</a>
-<div class="block">ELM327 and OBD-II command interface.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html
deleted file mode 100644
index 67ec3c2..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html
+++ /dev/null
@@ -1,336 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>CommandExecutor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CommandExecutor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/CommandExecutor.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>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" target="_top">Frames</a></li>
-<li><a href="CommandExecutor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.elm327.runtime</div>
-<h2 title="Class CommandExecutor" class="title">Class CommandExecutor</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.elm327.runtime.CommandExecutor</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">CommandExecutor</span>
-extends java.lang.Object</pre>
-<div class="block">Runtime execution of ELM327 &amp; OBD-II commands.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#CommandExecutor--">CommandExecutor</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static int[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#binary-byte:A-int-int-">binary</a></span>(byte[]&nbsp;reply,
-      int&nbsp;offset,
-      int&nbsp;length)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static com.google.gson.JsonObject</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#execute-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">execute</a></span>(<a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>&nbsp;cmd,
-       java.io.OutputStream&nbsp;out,
-       java.io.InputStream&nbsp;in)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static com.google.gson.JsonObject</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#executeUntilOK-int-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">executeUntilOK</a></span>(int&nbsp;n,
-              <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>&nbsp;cmd,
-              java.io.OutputStream&nbsp;out,
-              java.io.InputStream&nbsp;in)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html#initialize-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">initialize</a></span>(<a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>&nbsp;protocol,
-          java.io.OutputStream&nbsp;out,
-          java.io.InputStream&nbsp;in)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="CommandExecutor--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>CommandExecutor</h4>
-<pre>public&nbsp;CommandExecutor()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="binary-byte:A-int-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>binary</h4>
-<pre>public static&nbsp;int[]&nbsp;binary(byte[]&nbsp;reply,
-                           int&nbsp;offset,
-                           int&nbsp;length)</pre>
-</li>
-</ul>
-<a name="initialize-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>initialize</h4>
-<pre>public static&nbsp;void&nbsp;initialize(<a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>&nbsp;protocol,
-                              java.io.OutputStream&nbsp;out,
-                              java.io.InputStream&nbsp;in)</pre>
-</li>
-</ul>
-<a name="executeUntilOK-int-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>executeUntilOK</h4>
-<pre>public static&nbsp;com.google.gson.JsonObject&nbsp;executeUntilOK(int&nbsp;n,
-                                                        <a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>&nbsp;cmd,
-                                                        java.io.OutputStream&nbsp;out,
-                                                        java.io.InputStream&nbsp;in)
-                                                 throws java.io.IOException</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code></dd>
-</dl>
-</li>
-</ul>
-<a name="execute-org.apache.edgent.samples.connectors.elm327.Cmd-java.io.OutputStream-java.io.InputStream-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>execute</h4>
-<pre>public static&nbsp;com.google.gson.JsonObject&nbsp;execute(<a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>&nbsp;cmd,
-                                                 java.io.OutputStream&nbsp;out,
-                                                 java.io.InputStream&nbsp;in)</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>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/CommandExecutor.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" target="_top">Frames</a></li>
-<li><a href="CommandExecutor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/class-use/CommandExecutor.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/class-use/CommandExecutor.html
deleted file mode 100644
index d5a5781..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/class-use/CommandExecutor.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.elm327.runtime.CommandExecutor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.elm327.runtime.CommandExecutor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/runtime/class-use/CommandExecutor.html" target="_top">Frames</a></li>
-<li><a href="CommandExecutor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.elm327.runtime.CommandExecutor" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.elm327.runtime.CommandExecutor</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.elm327.runtime.CommandExecutor</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/runtime/class-use/CommandExecutor.html" target="_top">Frames</a></li>
-<li><a href="CommandExecutor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-frame.html
deleted file mode 100644
index d3e21fa..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-frame.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.elm327.runtime (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html" target="classFrame">org.apache.edgent.samples.connectors.elm327.runtime</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime" target="classFrame">CommandExecutor</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html
deleted file mode 100644
index b46e9a6..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.elm327.runtime (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.elm327.runtime (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/file/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.connectors.elm327.runtime</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime">CommandExecutor</a></td>
-<td class="colLast">
-<div class="block">Runtime execution of ELM327 &amp; OBD-II commands.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/file/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-tree.html
deleted file mode 100644
index 2307c35..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-tree.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.elm327.runtime Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.elm327.runtime Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/file/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/runtime/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.connectors.elm327.runtime</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.connectors.elm327.runtime.<a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime"><span class="typeNameLink">CommandExecutor</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/elm327/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/file/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/runtime/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-use.html
deleted file mode 100644
index cf673db..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/elm327/runtime/package-use.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.connectors.elm327.runtime (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.connectors.elm327.runtime (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/runtime/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.connectors.elm327.runtime" class="title">Uses of Package<br>org.apache.edgent.samples.connectors.elm327.runtime</h1>
-</div>
-<div class="contentContainer">No usage of org.apache.edgent.samples.connectors.elm327.runtime</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/elm327/runtime/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/FileReaderApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/file/FileReaderApp.html
deleted file mode 100644
index 1fbf0aa..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/FileReaderApp.html
+++ /dev/null
@@ -1,301 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>FileReaderApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FileReaderApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/FileReaderApp.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/file/FileReaderApp.html" target="_top">Frames</a></li>
-<li><a href="FileReaderApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.file</div>
-<h2 title="Class FileReaderApp" class="title">Class FileReaderApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.file.FileReaderApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">FileReaderApp</span>
-extends java.lang.Object</pre>
-<div class="block">Watch a directory for files and convert their contents into a stream.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileReaderApp.html#FileReaderApp-java.lang.String-">FileReaderApp</a></span>(java.lang.String&nbsp;directory)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileReaderApp.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileReaderApp.html#run--">run</a></span>()</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="FileReaderApp-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>FileReaderApp</h4>
-<pre>public&nbsp;FileReaderApp(java.lang.String&nbsp;directory)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>directory</code> - an existing directory to watch for file</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-<a name="run--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>run</h4>
-<pre>public&nbsp;void&nbsp;run()
-         throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/FileReaderApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/file/FileReaderApp.html" target="_top">Frames</a></li>
-<li><a href="FileReaderApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/FileWriterApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/file/FileWriterApp.html
deleted file mode 100644
index 820146d..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/FileWriterApp.html
+++ /dev/null
@@ -1,301 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>FileWriterApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FileWriterApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/FileWriterApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/file/FileWriterApp.html" target="_top">Frames</a></li>
-<li><a href="FileWriterApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.file</div>
-<h2 title="Class FileWriterApp" class="title">Class FileWriterApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.file.FileWriterApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">FileWriterApp</span>
-extends java.lang.Object</pre>
-<div class="block">Write a TStream&lt;String&gt; to files.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileWriterApp.html#FileWriterApp-java.lang.String-">FileWriterApp</a></span>(java.lang.String&nbsp;directory)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileWriterApp.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileWriterApp.html#run--">run</a></span>()</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="FileWriterApp-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>FileWriterApp</h4>
-<pre>public&nbsp;FileWriterApp(java.lang.String&nbsp;directory)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>directory</code> - an existing directory to create files in</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-<a name="run--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>run</h4>
-<pre>public&nbsp;void&nbsp;run()
-         throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/FileWriterApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/file/FileWriterApp.html" target="_top">Frames</a></li>
-<li><a href="FileWriterApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/class-use/FileReaderApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/file/class-use/FileReaderApp.html
deleted file mode 100644
index 20969a6..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/class-use/FileReaderApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.file.FileReaderApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.file.FileReaderApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/file/class-use/FileReaderApp.html" target="_top">Frames</a></li>
-<li><a href="FileReaderApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.file.FileReaderApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.file.FileReaderApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.file.FileReaderApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/file/class-use/FileReaderApp.html" target="_top">Frames</a></li>
-<li><a href="FileReaderApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/class-use/FileWriterApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/file/class-use/FileWriterApp.html
deleted file mode 100644
index 4bc7f6b..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/class-use/FileWriterApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.file.FileWriterApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.file.FileWriterApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/file/class-use/FileWriterApp.html" target="_top">Frames</a></li>
-<li><a href="FileWriterApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.file.FileWriterApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.file.FileWriterApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.file.FileWriterApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/file/class-use/FileWriterApp.html" target="_top">Frames</a></li>
-<li><a href="FileWriterApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-frame.html
deleted file mode 100644
index 6e4322d..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-frame.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.file (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/connectors/file/package-summary.html" target="classFrame">org.apache.edgent.samples.connectors.file</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file" target="classFrame">FileReaderApp</a></li>
-<li><a href="FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file" target="classFrame">FileWriterApp</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-summary.html
deleted file mode 100644
index 016bb52..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-summary.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.file (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.file (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/file/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.connectors.file</h1>
-<div class="docSummary">
-<div class="block">Samples showing use of the 
- <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">
-     File stream connector</a>.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file">FileReaderApp</a></td>
-<td class="colLast">
-<div class="block">Watch a directory for files and convert their contents into a stream.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file">FileWriterApp</a></td>
-<td class="colLast">
-<div class="block">Write a TStream&lt;String&gt; to files.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.connectors.file Description">Package org.apache.edgent.samples.connectors.file Description</h2>
-<div class="block">Samples showing use of the 
- <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">
-     File stream connector</a>.
- <p>
- See &lt;edgent-release&gt;/scripts/connectors/file/README to run the samples.
- <p>
- The following samples are provided:
- <ul>
- <li>FileReaderApp.java - a simple directory watcher and file reader application topology</li>
- <li>FileWriterApp.java - a simple file writer application topology</li>
- </ul></div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/file/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-tree.html
deleted file mode 100644
index 0d4d7f0..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-tree.html
+++ /dev/null
@@ -1,140 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.file Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.file Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/file/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.connectors.file</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.connectors.file.<a href="../../../../../../org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file"><span class="typeNameLink">FileReaderApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.file.<a href="../../../../../../org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file"><span class="typeNameLink">FileWriterApp</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/elm327/runtime/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/file/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-use.html
deleted file mode 100644
index 4fa9269..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/file/package-use.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.connectors.file (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.connectors.file (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/file/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.connectors.file" class="title">Uses of Package<br>org.apache.edgent.samples.connectors.file</h1>
-</div>
-<div class="contentContainer">No usage of org.apache.edgent.samples.connectors.file</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/file/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpAppClient.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpAppClient.html
deleted file mode 100644
index 56a55d3..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpAppClient.html
+++ /dev/null
@@ -1,290 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>IotpAppClient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotpAppClient (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpAppClient.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" target="_top">Frames</a></li>
-<li><a href="IotpAppClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.iotp</div>
-<h2 title="Class IotpAppClient" class="title">Class IotpAppClient</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.iotp.IotpAppClient</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">IotpAppClient</span>
-extends java.lang.Object</pre>
-<div class="block">A WIoTP ApplicationClient that publishes cmds 
- and subscribes to events for the
- IotpDeviceSample and IotpGWDeviceSample device samples.
- <p>
- Usage: <code>[useGw] &lt;app-cfg-path&gt; # see scripts/connectors/iotp/iotp-app-client.cfg</code>
- <p>
- This connects to your IBM Watson IoT Platform service
- as the Application defined in a application config file.
- The file format is the standard one for IBM Watson IoT Platform.
- <p>
- Note, the config file also contains some additional information for this application.
- A sample iot-app-client.cfg is in the scripts/connectors/iotp directory.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpAppClient.html#IotpAppClient--">IotpAppClient</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpAppClient.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="IotpAppClient--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>IotpAppClient</h4>
-<pre>public&nbsp;IotpAppClient()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpAppClient.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" target="_top">Frames</a></li>
-<li><a href="IotpAppClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html
deleted file mode 100644
index 08eacff..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html
+++ /dev/null
@@ -1,297 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>IotpDeviceSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotpDeviceSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpDeviceSample.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" target="_top">Frames</a></li>
-<li><a href="IotpDeviceSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.iotp</div>
-<h2 title="Class IotpDeviceSample" class="title">Class IotpDeviceSample</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.iotp.IotpDeviceSample</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">IotpDeviceSample</span>
-extends java.lang.Object</pre>
-<div class="block">Similar to IotpQuickstart2 but for a real/non-quickstart WIoTP account
- for a registered device AND it subscribes to/prints device cmds.
- <P>
- Use IotpAppClient to print published events and generate a command
- (start this app before running IotpAppClient). 
- <P>
- This sample demonstrates:
- <UL>
- <LI>Using the IotpDevice connector</LI>
- <LI>Initializing the IotpDevice connector using the WIoTP API objects</LI>
- <LI>Publishing and subscribing to device events and commands</LI>
- </UL>
- <p>
- This connects to your IBM Watson IoT Platform service
- as the Device defined in a device config file.
- The file format is the standard one for IBM Watson IoT Platform.
- <p>
- Note, the config file also contains some additional information for this application.
- A sample iot-device-sample.cfg is in the scripts/connectors/iotp directory.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html#IotpDeviceSample--">IotpDeviceSample</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="IotpDeviceSample--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>IotpDeviceSample</h4>
-<pre>public&nbsp;IotpDeviceSample()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpDeviceSample.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" target="_top">Frames</a></li>
-<li><a href="IotpDeviceSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html
deleted file mode 100644
index 30aca9b..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html
+++ /dev/null
@@ -1,299 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>IotpGWDeviceSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotpGWDeviceSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpGWDeviceSample.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" target="_top">Frames</a></li>
-<li><a href="IotpGWDeviceSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.iotp</div>
-<h2 title="Class IotpGWDeviceSample" class="title">Class IotpGWDeviceSample</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.iotp.IotpGWDeviceSample</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">IotpGWDeviceSample</span>
-extends java.lang.Object</pre>
-<div class="block">Similar to IotpQuickstart2 but for a real/non-quickstart WIoTP account
- and a registered IoT Gateway device with connected devices
- AND it subscribes to and prints received device cmds.
- <P>
- Use IotpAppClient to print published events and generate a command
- (start this app before running IotpAppClient with the "useGW" option). 
- <P>
- This sample demonstrates:
- <UL>
- <LI>Using the IotpGateway connector</LI>
- <LI>Initializing the IotpGateway connector using the WIoTP API objects</LI>
- <LI>Publishing and subscribing to Gateway device events and commands</LI>
- <LI>Publishing and subscribing to connected device events and commands</LI>
- </UL>
- <p>
- This connects to your IBM Watson IoT Platform service
- as the Gateway defined in a gateway config file.
- The file format is the standard one for IBM Watson IoT Platform.
- <p>
- Note, the config file also contains some additional information for this application.
- A sample iot-gwdevice-sample.cfg is in the scripts/connectors/iotp directory.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html#IotpGWDeviceSample--">IotpGWDeviceSample</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="IotpGWDeviceSample--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>IotpGWDeviceSample</h4>
-<pre>public&nbsp;IotpGWDeviceSample()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpGWDeviceSample.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" target="_top">Frames</a></li>
-<li><a href="IotpGWDeviceSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html
deleted file mode 100644
index 2e40062..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html
+++ /dev/null
@@ -1,285 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>IotpQuickstart (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotpQuickstart (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpQuickstart.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" target="_top">Frames</a></li>
-<li><a href="IotpQuickstart.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.iotp</div>
-<h2 title="Class IotpQuickstart" class="title">Class IotpQuickstart</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.iotp.IotpQuickstart</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">IotpQuickstart</span>
-extends java.lang.Object</pre>
-<div class="block">IBM Watson IoT Platform Quickstart sample.
- Submits a JSON device event every second using the
- same format as the Quickstart device simulator,
- with keys <code>temp</code>, <code>humidity</code>  and <code>objectTemp</code>
- and random values.
- <P>
- The device type is <code>iotsamples-edgent</code> and a random
- device identifier is generated. Both are printed out when
- the application starts.
- </P>
- A URL is also printed that allows viewing of the data
- as it received by the Quickstart service.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html#IotpQuickstart--">IotpQuickstart</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="IotpQuickstart--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>IotpQuickstart</h4>
-<pre>public&nbsp;IotpQuickstart()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)</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>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpQuickstart.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" target="_top">Frames</a></li>
-<li><a href="IotpQuickstart.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html
deleted file mode 100644
index 2160410..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html
+++ /dev/null
@@ -1,293 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>IotpQuickstart2 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotpQuickstart2 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpQuickstart2.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" target="_top">Frames</a></li>
-<li><a href="IotpQuickstart2.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.iotp</div>
-<h2 title="Class IotpQuickstart2" class="title">Class IotpQuickstart2</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.iotp.IotpQuickstart2</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">IotpQuickstart2</span>
-extends java.lang.Object</pre>
-<div class="block">IBM Watson IoT Platform Quickstart sample.
- Submits a JSON device event every second using the
- same format as the Quickstart device simulator,
- with keys <code>temp</code>, <code>humidity</code>  and <code>objectTemp</code>
- and random values.
- <P>
- The device type is <code>iotsamples-edgent</code> and a random
- device identifier is generated. Both are printed out when
- the application starts.
- <P>
- A URL is also printed that allows viewing of the data
- as it received by the Quickstart service.
- <P>
- This sample demonstrates using the WIoTP API to initialize the IotpDevice
- connector as well as the ability to publish events using the WIoTP HTTP protocol.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html#IotpQuickstart2--">IotpQuickstart2</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="IotpQuickstart2--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>IotpQuickstart2</h4>
-<pre>public&nbsp;IotpQuickstart2()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpQuickstart2.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" target="_top">Frames</a></li>
-<li><a href="IotpQuickstart2.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpSensors.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpSensors.html
deleted file mode 100644
index 65935d3..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/IotpSensors.html
+++ /dev/null
@@ -1,397 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>IotpSensors (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotpSensors (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpSensors.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpSensors.html" target="_top">Frames</a></li>
-<li><a href="IotpSensors.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.iotp</div>
-<h2 title="Class IotpSensors" class="title">Class IotpSensors</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.iotp.IotpSensors</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">IotpSensors</span>
-extends java.lang.Object</pre>
-<div class="block">Sample sending sensor device events to IBM Watson IoT Platform. <BR>
- Simulates a couple of bursty sensors and sends the readings from the sensors
- to IBM Watson IoT Platform as device events with id <code>sensors</code>. <BR>
- Subscribes to device commands with identifier <code>display</code>.
- <P>
- In addition a device event with id <code>hearbeat</code> is sent
- every minute. This ensure a connection attempt to IBM Watson IoT Platform
- is made immediately rather than waiting for a bursty sensor to become
- active.
- <P>
- This sample requires an IBM Watson IoT Platform service and a device configuration.
- The device configuration is read from the file <code>device.cfg</code> in the
- current directory. <BR>
- In order to see commands send from IBM Watson IoT Platform
- there must be an analytic application
- that sends commands with the identifier <code>display</code>.
- </P></div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html#IotpSensors--">IotpSensors</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html#displayMessages-org.apache.edgent.connectors.iot.IotDevice-boolean-">displayMessages</a></span>(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device,
-               boolean&nbsp;print)</code>
-<div class="block">Subscribe to IoTP device commands with identifier <code>display</code>.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html#heartBeat-org.apache.edgent.connectors.iot.IotDevice-boolean-">heartBeat</a></span>(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device,
-         boolean&nbsp;print)</code>
-<div class="block">Create a heart beat device event with
- identifier <code>heartbeat</code> to
- ensure there is some immediate output and
- the connection to IoTF happens as soon as possible.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>
-<div class="block">Run the IotpSensors application.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html#simulatedSensors-org.apache.edgent.connectors.iot.IotDevice-boolean-">simulatedSensors</a></span>(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device,
-                boolean&nbsp;print)</code>
-<div class="block">Simulate two bursty sensors and send the readings as IoTF device events
- with an identifier of <code>sensors</code>.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="IotpSensors--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>IotpSensors</h4>
-<pre>public&nbsp;IotpSensors()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)</pre>
-<div class="block">Run the IotpSensors application.
- 
- Takes a single argument that is the path to the
- device configuration file containing the connection
- authentication information.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>args</code> - Must contain the path to the device configuration file.</dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.io.File-"><code>IotpDevice.IotpDevice(org.apache.edgent.topology.Topology, File)</code></a></dd>
-</dl>
-</li>
-</ul>
-<a name="simulatedSensors-org.apache.edgent.connectors.iot.IotDevice-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>simulatedSensors</h4>
-<pre>public static&nbsp;void&nbsp;simulatedSensors(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device,
-                                    boolean&nbsp;print)</pre>
-<div class="block">Simulate two bursty sensors and send the readings as IoTF device events
- with an identifier of <code>sensors</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>device</code> - IoT device</dd>
-<dd><code>print</code> - True if the data submitted as events should also be printed to
-            standard out.</dd>
-</dl>
-</li>
-</ul>
-<a name="heartBeat-org.apache.edgent.connectors.iot.IotDevice-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>heartBeat</h4>
-<pre>public static&nbsp;void&nbsp;heartBeat(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device,
-                             boolean&nbsp;print)</pre>
-<div class="block">Create a heart beat device event with
- identifier <code>heartbeat</code> to
- ensure there is some immediate output and
- the connection to IoTF happens as soon as possible.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>device</code> - IoT device</dd>
-<dd><code>print</code> - true to print generated heartbeat tuples to System.out.</dd>
-</dl>
-</li>
-</ul>
-<a name="displayMessages-org.apache.edgent.connectors.iot.IotDevice-boolean-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>displayMessages</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;displayMessages(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device,
-                                                        boolean&nbsp;print)</pre>
-<div class="block">Subscribe to IoTP device commands with identifier <code>display</code>.
- Subscribing to device commands returns a stream of JSON objects that
- include a timestamp (<code>tsms</code>), command identifier (<code>command</code>)
- and payload (<code>payload</code>). Payload is the application specific
- portion of the command. <BR>
- In this case the payload is expected to be a JSON object containing a
- <code>msg</code> key with a string display message. <BR>
- The returned stream consists of the display message string extracted from
- the JSON payload.
- <P>
- Note to receive commands a analytic application must exist that generates
- them through IBM Watson IoT Platform.
- </P></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>device</code> - the device</dd>
-<dd><code>print</code> - true to print the received command's payload to System.out.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the stream</dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-"><code>IotDevice.commands(String...)</code></a></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpSensors.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/IotpSensors.html" target="_top">Frames</a></li>
-<li><a href="IotpSensors.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpAppClient.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpAppClient.html
deleted file mode 100644
index 7b6449b..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpAppClient.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.iotp.IotpAppClient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpAppClient (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpAppClient.html" target="_top">Frames</a></li>
-<li><a href="IotpAppClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpAppClient" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.iotp.IotpAppClient</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.iotp.IotpAppClient</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpAppClient.html" target="_top">Frames</a></li>
-<li><a href="IotpAppClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpDeviceSample.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpDeviceSample.html
deleted file mode 100644
index f6dc45e..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpDeviceSample.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.iotp.IotpDeviceSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpDeviceSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpDeviceSample.html" target="_top">Frames</a></li>
-<li><a href="IotpDeviceSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpDeviceSample" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.iotp.IotpDeviceSample</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.iotp.IotpDeviceSample</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpDeviceSample.html" target="_top">Frames</a></li>
-<li><a href="IotpDeviceSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpGWDeviceSample.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpGWDeviceSample.html
deleted file mode 100644
index bd8c77c..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpGWDeviceSample.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.iotp.IotpGWDeviceSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpGWDeviceSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpGWDeviceSample.html" target="_top">Frames</a></li>
-<li><a href="IotpGWDeviceSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpGWDeviceSample" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.iotp.IotpGWDeviceSample</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.iotp.IotpGWDeviceSample</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpGWDeviceSample.html" target="_top">Frames</a></li>
-<li><a href="IotpGWDeviceSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpQuickstart.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpQuickstart.html
deleted file mode 100644
index 8bb2ddf..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpQuickstart.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.iotp.IotpQuickstart (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpQuickstart (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpQuickstart.html" target="_top">Frames</a></li>
-<li><a href="IotpQuickstart.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpQuickstart" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.iotp.IotpQuickstart</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.iotp.IotpQuickstart</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpQuickstart.html" target="_top">Frames</a></li>
-<li><a href="IotpQuickstart.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpQuickstart2.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpQuickstart2.html
deleted file mode 100644
index 84dda98..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpQuickstart2.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.iotp.IotpQuickstart2 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpQuickstart2 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpQuickstart2.html" target="_top">Frames</a></li>
-<li><a href="IotpQuickstart2.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpQuickstart2" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.iotp.IotpQuickstart2</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.iotp.IotpQuickstart2</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpQuickstart2.html" target="_top">Frames</a></li>
-<li><a href="IotpQuickstart2.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpSensors.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpSensors.html
deleted file mode 100644
index cc0b714..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/class-use/IotpSensors.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.iotp.IotpSensors (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpSensors (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpSensors.html" target="_top">Frames</a></li>
-<li><a href="IotpSensors.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.iotp.IotpSensors" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.iotp.IotpSensors</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.iotp.IotpSensors</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/class-use/IotpSensors.html" target="_top">Frames</a></li>
-<li><a href="IotpSensors.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-frame.html
deleted file mode 100644
index 4306437..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-frame.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/package-summary.html" target="classFrame">org.apache.edgent.samples.connectors.iotp</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpAppClient</a></li>
-<li><a href="IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpDeviceSample</a></li>
-<li><a href="IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpGWDeviceSample</a></li>
-<li><a href="IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpQuickstart</a></li>
-<li><a href="IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpQuickstart2</a></li>
-<li><a href="IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp" target="classFrame">IotpSensors</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-summary.html
deleted file mode 100644
index c92f2ae..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-summary.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.iotp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/file/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.connectors.iotp</h1>
-<div class="docSummary">
-<div class="block">Samples showing device events and commands with IBM Watson IoT Platform.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpAppClient</a></td>
-<td class="colLast">
-<div class="block">A WIoTP ApplicationClient that publishes cmds 
- and subscribes to events for the
- IotpDeviceSample and IotpGWDeviceSample device samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpDeviceSample</a></td>
-<td class="colLast">
-<div class="block">Similar to IotpQuickstart2 but for a real/non-quickstart WIoTP account
- for a registered device AND it subscribes to/prints device cmds.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpGWDeviceSample</a></td>
-<td class="colLast">
-<div class="block">Similar to IotpQuickstart2 but for a real/non-quickstart WIoTP account
- and a registered IoT Gateway device with connected devices
- AND it subscribes to and prints received device cmds.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpQuickstart</a></td>
-<td class="colLast">
-<div class="block">IBM Watson IoT Platform Quickstart sample.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpQuickstart2</a></td>
-<td class="colLast">
-<div class="block">IBM Watson IoT Platform Quickstart sample.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp">IotpSensors</a></td>
-<td class="colLast">
-<div class="block">Sample sending sensor device events to IBM Watson IoT Platform.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.connectors.iotp Description">Package org.apache.edgent.samples.connectors.iotp Description</h2>
-<div class="block">Samples showing device events and commands with IBM Watson IoT Platform.</div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/file/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-tree.html
deleted file mode 100644
index dbe87ae..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-tree.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.iotp Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.iotp Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/file/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.connectors.iotp</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpAppClient</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpDeviceSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpGWDeviceSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpQuickstart</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpQuickstart2</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpSensors</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/file/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-use.html
deleted file mode 100644
index 9a38698..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/iotp/package-use.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.connectors.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.connectors.iotp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.connectors.iotp" class="title">Uses of Package<br>org.apache.edgent.samples.connectors.iotp</h1>
-</div>
-<div class="contentContainer">No usage of org.apache.edgent.samples.connectors.iotp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/iotp/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/DbUtils.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/DbUtils.html
deleted file mode 100644
index 702b2cb..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/DbUtils.html
+++ /dev/null
@@ -1,337 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>DbUtils (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DbUtils (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DbUtils.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/DbUtils.html" target="_top">Frames</a></li>
-<li><a href="DbUtils.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.jdbc</div>
-<h2 title="Class DbUtils" class="title">Class DbUtils</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.jdbc.DbUtils</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">DbUtils</span>
-extends java.lang.Object</pre>
-<div class="block">Utilities for the sample's non-streaming JDBC database related actions.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/DbUtils.html#DbUtils--">DbUtils</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static javax.sql.DataSource</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/DbUtils.html#getDataSource-java.util.Properties-">getDataSource</a></span>(java.util.Properties&nbsp;props)</code>
-<div class="block">Get the JDBC <code>DataSource</code> for the database.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/DbUtils.html#initDb-javax.sql.DataSource-">initDb</a></span>(javax.sql.DataSource&nbsp;ds)</code>
-<div class="block">Initialize the sample's database.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/DbUtils.html#purgeTables-javax.sql.DataSource-">purgeTables</a></span>(javax.sql.DataSource&nbsp;ds)</code>
-<div class="block">Purge the sample's tables</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="DbUtils--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>DbUtils</h4>
-<pre>public&nbsp;DbUtils()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getDataSource-java.util.Properties-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getDataSource</h4>
-<pre>public static&nbsp;javax.sql.DataSource&nbsp;getDataSource(java.util.Properties&nbsp;props)
-                                          throws java.lang.Exception</pre>
-<div class="block">Get the JDBC <code>DataSource</code> for the database.
- <p>
- The "db.name" property specifies the name of the database.
- Defaults to "JdbcConnectorSampleDb".</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>props</code> - configuration properties</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the DataSource</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-</dl>
-</li>
-</ul>
-<a name="initDb-javax.sql.DataSource-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>initDb</h4>
-<pre>public static&nbsp;void&nbsp;initDb(javax.sql.DataSource&nbsp;ds)
-                   throws java.lang.Exception</pre>
-<div class="block">Initialize the sample's database.
- <p>
- Tables are created as needed and purged.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ds</code> - the DataSource</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-</dl>
-</li>
-</ul>
-<a name="purgeTables-javax.sql.DataSource-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>purgeTables</h4>
-<pre>public static&nbsp;void&nbsp;purgeTables(javax.sql.DataSource&nbsp;ds)
-                        throws java.lang.Exception</pre>
-<div class="block">Purge the sample's tables</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>ds</code> - the DataSource</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DbUtils.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/DbUtils.html" target="_top">Frames</a></li>
-<li><a href="DbUtils.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/Person.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/Person.html
deleted file mode 100644
index fce7793..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/Person.html
+++ /dev/null
@@ -1,244 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Person (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Person (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Person.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/Person.html" target="_top">Frames</a></li>
-<li><a href="Person.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.jdbc</div>
-<h2 title="Class Person" class="title">Class Person</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.jdbc.Person</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Person</span>
-extends java.lang.Object</pre>
-<div class="block">A Person object for the sample.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html#toString--">toString</a></span>()</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="toString--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Person.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/Person.html" target="_top">Frames</a></li>
-<li><a href="Person.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/PersonData.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/PersonData.html
deleted file mode 100644
index 3ee53d1..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/PersonData.html
+++ /dev/null
@@ -1,310 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>PersonData (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PersonData (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PersonData.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/PersonData.html" target="_top">Frames</a></li>
-<li><a href="PersonData.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.jdbc</div>
-<h2 title="Class PersonData" class="title">Class PersonData</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.jdbc.PersonData</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">PersonData</span>
-extends java.lang.Object</pre>
-<div class="block">Utilities for loading the sample's person data.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html#PersonData--">PersonData</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html#loadPersonData-java.util.Properties-">loadPersonData</a></span>(java.util.Properties&nbsp;props)</code>
-<div class="block">Load the person data from the path specified by the "persondata.path"
- property.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonId</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html#toPersonIds-java.util.List-">toPersonIds</a></span>(java.util.List&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a>&gt;&nbsp;persons)</code>
-<div class="block">Convert a <code>List&lt;Person&gt;</code> to a <code>List&lt;PersonId&gt;</code></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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="PersonData--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>PersonData</h4>
-<pre>public&nbsp;PersonData()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="loadPersonData-java.util.Properties-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>loadPersonData</h4>
-<pre>public static&nbsp;java.util.List&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a>&gt;&nbsp;loadPersonData(java.util.Properties&nbsp;props)
-                                             throws java.lang.Exception</pre>
-<div class="block">Load the person data from the path specified by the "persondata.path"
- property.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>props</code> - configuration properties</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the loaded person data</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-</dl>
-</li>
-</ul>
-<a name="toPersonIds-java.util.List-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toPersonIds</h4>
-<pre>public static&nbsp;java.util.List&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonId</a>&gt;&nbsp;toPersonIds(java.util.List&lt;<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a>&gt;&nbsp;persons)</pre>
-<div class="block">Convert a <code>List&lt;Person&gt;</code> to a <code>List&lt;PersonId&gt;</code></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>persons</code> - the person list</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the person id list</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PersonData.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/PersonData.html" target="_top">Frames</a></li>
-<li><a href="PersonData.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/PersonId.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/PersonId.html
deleted file mode 100644
index cff4815..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/PersonId.html
+++ /dev/null
@@ -1,244 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>PersonId (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PersonId (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PersonId.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/PersonId.html" target="_top">Frames</a></li>
-<li><a href="PersonId.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.jdbc</div>
-<h2 title="Class PersonId" class="title">Class PersonId</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.jdbc.PersonId</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">PersonId</span>
-extends java.lang.Object</pre>
-<div class="block">Another class containing a person id for the sample.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html#toString--">toString</a></span>()</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="toString--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PersonId.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/PersonId.html" target="_top">Frames</a></li>
-<li><a href="PersonId.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html
deleted file mode 100644
index a838dd2..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html
+++ /dev/null
@@ -1,246 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>SimpleReaderApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimpleReaderApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleReaderApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleReaderApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.jdbc</div>
-<h2 title="Class SimpleReaderApp" class="title">Class SimpleReaderApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.jdbc.SimpleReaderApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimpleReaderApp</span>
-extends java.lang.Object</pre>
-<div class="block">A simple JDBC connector sample demonstrating streaming read access
- of a dbms table and creating stream tuples from the results.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleReaderApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleReaderApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html
deleted file mode 100644
index f515fc6..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html
+++ /dev/null
@@ -1,246 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>SimpleWriterApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimpleWriterApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleWriterApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleWriterApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.jdbc</div>
-<h2 title="Class SimpleWriterApp" class="title">Class SimpleWriterApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.jdbc.SimpleWriterApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimpleWriterApp</span>
-extends java.lang.Object</pre>
-<div class="block">A simple JDBC connector sample demonstrating streaming write access
- of a dbms to add stream tuples to a table.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleWriterApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleWriterApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/DbUtils.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/DbUtils.html
deleted file mode 100644
index 79334da..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/DbUtils.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.jdbc.DbUtils (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.jdbc.DbUtils (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/DbUtils.html" target="_top">Frames</a></li>
-<li><a href="DbUtils.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.jdbc.DbUtils" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.jdbc.DbUtils</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.jdbc.DbUtils</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/DbUtils.html" target="_top">Frames</a></li>
-<li><a href="DbUtils.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/Person.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/Person.html
deleted file mode 100644
index 2e381ef..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/Person.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.jdbc.Person (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.jdbc.Person (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/Person.html" target="_top">Frames</a></li>
-<li><a href="Person.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.jdbc.Person" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.jdbc.Person</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.jdbc">org.apache.edgent.samples.connectors.jdbc</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the
- <a href="../../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">
-     JDBC stream connector</a>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.jdbc">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a> in <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a> that return types with arguments of type <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</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 java.util.List&lt;<a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PersonData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html#loadPersonData-java.util.Properties-">loadPersonData</a></span>(java.util.Properties&nbsp;props)</code>
-<div class="block">Load the person data from the path specified by the "persondata.path"
- property.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Method parameters in <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a> with type arguments of type <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</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 java.util.List&lt;<a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonId</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PersonData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html#toPersonIds-java.util.List-">toPersonIds</a></span>(java.util.List&lt;<a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a>&gt;&nbsp;persons)</code>
-<div class="block">Convert a <code>List&lt;Person&gt;</code> to a <code>List&lt;PersonId&gt;</code></div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/Person.html" target="_top">Frames</a></li>
-<li><a href="Person.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/PersonData.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/PersonData.html
deleted file mode 100644
index de50a99..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/PersonData.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.jdbc.PersonData (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.jdbc.PersonData (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/PersonData.html" target="_top">Frames</a></li>
-<li><a href="PersonData.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.jdbc.PersonData" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.jdbc.PersonData</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.jdbc.PersonData</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/PersonData.html" target="_top">Frames</a></li>
-<li><a href="PersonData.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/PersonId.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/PersonId.html
deleted file mode 100644
index 2ff675b..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/PersonId.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.jdbc.PersonId (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.jdbc.PersonId (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/PersonId.html" target="_top">Frames</a></li>
-<li><a href="PersonId.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.jdbc.PersonId" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.jdbc.PersonId</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonId</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.jdbc">org.apache.edgent.samples.connectors.jdbc</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the
- <a href="../../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">
-     JDBC stream connector</a>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.jdbc">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonId</a> in <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a> that return types with arguments of type <a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonId</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 java.util.List&lt;<a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonId</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PersonData.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html#toPersonIds-java.util.List-">toPersonIds</a></span>(java.util.List&lt;<a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a>&gt;&nbsp;persons)</code>
-<div class="block">Convert a <code>List&lt;Person&gt;</code> to a <code>List&lt;PersonId&gt;</code></div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/PersonId.html" target="_top">Frames</a></li>
-<li><a href="PersonId.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/SimpleReaderApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/SimpleReaderApp.html
deleted file mode 100644
index 0a5c1cb..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/SimpleReaderApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.jdbc.SimpleReaderApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.jdbc.SimpleReaderApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/SimpleReaderApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleReaderApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.jdbc.SimpleReaderApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.jdbc.SimpleReaderApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.jdbc.SimpleReaderApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/SimpleReaderApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleReaderApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/SimpleWriterApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/SimpleWriterApp.html
deleted file mode 100644
index d4264aa..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/class-use/SimpleWriterApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.jdbc.SimpleWriterApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.jdbc.SimpleWriterApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/SimpleWriterApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleWriterApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.jdbc.SimpleWriterApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.jdbc.SimpleWriterApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.jdbc.SimpleWriterApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/class-use/SimpleWriterApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleWriterApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-frame.html
deleted file mode 100644
index 3eca630..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-frame.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.jdbc (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html" target="classFrame">org.apache.edgent.samples.connectors.jdbc</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">DbUtils</a></li>
-<li><a href="Person.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">Person</a></li>
-<li><a href="PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">PersonData</a></li>
-<li><a href="PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">PersonId</a></li>
-<li><a href="SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">SimpleReaderApp</a></li>
-<li><a href="SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc" target="classFrame">SimpleWriterApp</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-summary.html
deleted file mode 100644
index 2b64d08..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-summary.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.jdbc (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.jdbc (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.connectors.jdbc</h1>
-<div class="docSummary">
-<div class="block">Samples showing use of the
- <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">
-     JDBC stream connector</a>.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc">DbUtils</a></td>
-<td class="colLast">
-<div class="block">Utilities for the sample's non-streaming JDBC database related actions.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc">Person</a></td>
-<td class="colLast">
-<div class="block">A Person object for the sample.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonData</a></td>
-<td class="colLast">
-<div class="block">Utilities for loading the sample's person data.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc">PersonId</a></td>
-<td class="colLast">
-<div class="block">Another class containing a person id for the sample.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc">SimpleReaderApp</a></td>
-<td class="colLast">
-<div class="block">A simple JDBC connector sample demonstrating streaming read access
- of a dbms table and creating stream tuples from the results.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc">SimpleWriterApp</a></td>
-<td class="colLast">
-<div class="block">A simple JDBC connector sample demonstrating streaming write access
- of a dbms to add stream tuples to a table.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.connectors.jdbc Description">Package org.apache.edgent.samples.connectors.jdbc Description</h2>
-<div class="block">Samples showing use of the
- <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">
-     JDBC stream connector</a>.
- <p>
- See &lt;edgent-release&gt;/scripts/connectors/jdbc/README to run the samples.
- <p>
- The following samples are provided:
- <ul>
- <li>SimpleReaderApp.java - a simple dbms reader application topology</li>
- <li>SimpleWriterApp.java - a simple dbms writer application topology</li>
- </ul></div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-tree.html
deleted file mode 100644
index 0cf7d57..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-tree.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.jdbc Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.jdbc Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.connectors.jdbc</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">DbUtils</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Person</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">PersonData</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">PersonId</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">SimpleReaderApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">SimpleWriterApp</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/iotp/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-use.html
deleted file mode 100644
index 2380bae..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/jdbc/package-use.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.connectors.jdbc (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.connectors.jdbc (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.connectors.jdbc" class="title">Uses of Package<br>org.apache.edgent.samples.connectors.jdbc</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.jdbc">org.apache.edgent.samples.connectors.jdbc</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the
- <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">
-     JDBC stream connector</a>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.jdbc">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a> used by <a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/class-use/Person.html#org.apache.edgent.samples.connectors.jdbc">Person</a>
-<div class="block">A Person object for the sample.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/class-use/PersonId.html#org.apache.edgent.samples.connectors.jdbc">PersonId</a>
-<div class="block">Another class containing a person id for the sample.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/jdbc/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/KafkaClient.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/KafkaClient.html
deleted file mode 100644
index 90823ac..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/KafkaClient.html
+++ /dev/null
@@ -1,315 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>KafkaClient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="KafkaClient (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/KafkaClient.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/KafkaClient.html" target="_top">Frames</a></li>
-<li><a href="KafkaClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.kafka</div>
-<h2 title="Class KafkaClient" class="title">Class KafkaClient</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.kafka.KafkaClient</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">KafkaClient</span>
-extends java.lang.Object</pre>
-<div class="block">Demonstrate integrating with the Apache Kafka messaging system
- <a href="http://kafka.apache.org">http://kafka.apache.org</a>.
- <p>
- <a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka"><code>KafkaProducer</code></a> is
- a connector used to create a bridge between topology streams
- and publishing to Kafka topics.
- <p>
- <a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka"><code>KafkaConsumer</code></a> is
- a connector used to create a bridge between topology streams
- and subscribing to Kafka topics.
- <p>
- The client either publishes messages to a topic or   
- subscribes to the topic and reports the messages received.
- <p>
- By default, a running Kafka cluster with the following
- characteristics is assumed:
- <ul>
- <li><code>bootstrap.servers="localhost:9092"</code></li>
- <li><code>zookeeper.connect="localhost:2181"</code></li>
- <li>kafka topic <code>"kafkaSampleTopic"</code> exists</li>
- </ul>
- <p>
- See the Apache Kafka link above for information about setting up a Kafka
- cluster as well as creating a topic.
- <p>
- This may be executed from as:
- <UL>
- <LI>
- <code>java -cp samples/lib/org.apache.edgent.samples.connectors.kafka.jar
-  org.apache.edgent.samples.connectors.kafka.KafkaClient -h
- </code> - Run directly from the command line.
- </LI>
- </UL>
- <UL>
- <LI>
- An application execution within your IDE once you set the class path to include the correct jars.</LI>
- </UL></div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/KafkaClient.html#KafkaClient--">KafkaClient</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/KafkaClient.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="KafkaClient--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>KafkaClient</h4>
-<pre>public&nbsp;KafkaClient()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/KafkaClient.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/KafkaClient.html" target="_top">Frames</a></li>
-<li><a href="KafkaClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/PublisherApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/PublisherApp.html
deleted file mode 100644
index 43171f2..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/PublisherApp.html
+++ /dev/null
@@ -1,247 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>PublisherApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PublisherApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PublisherApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/PublisherApp.html" target="_top">Frames</a></li>
-<li><a href="PublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.kafka</div>
-<h2 title="Class PublisherApp" class="title">Class PublisherApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.kafka.PublisherApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">PublisherApp</span>
-extends java.lang.Object</pre>
-<div class="block">A Kafka producer/publisher topology application.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/PublisherApp.html#buildAppTopology--">buildAppTopology</a></span>()</code>
-<div class="block">Create a topology for the publisher application.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="buildAppTopology--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>buildAppTopology</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;buildAppTopology()</pre>
-<div class="block">Create a topology for the publisher application.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the Topology</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PublisherApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/PublisherApp.html" target="_top">Frames</a></li>
-<li><a href="PublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/Runner.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/Runner.html
deleted file mode 100644
index f87f6ed..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/Runner.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>Runner (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Runner (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Runner.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/Runner.html" target="_top">Frames</a></li>
-<li><a href="Runner.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.kafka</div>
-<h2 title="Class Runner" class="title">Class Runner</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.kafka.Runner</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Runner</span>
-extends java.lang.Object</pre>
-<div class="block">Build and run the publisher or subscriber application.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/Runner.html#Runner--">Runner</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/Runner.html#run-org.apache.edgent.samples.connectors.Options-">run</a></span>(<a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a>&nbsp;options)</code>
-<div class="block">Build and run the publisher or subscriber application.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Runner--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Runner</h4>
-<pre>public&nbsp;Runner()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="run-org.apache.edgent.samples.connectors.Options-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>run</h4>
-<pre>public static&nbsp;void&nbsp;run(<a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a>&nbsp;options)
-                throws java.lang.Exception</pre>
-<div class="block">Build and run the publisher or subscriber application.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>options</code> - command line options</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Runner.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/Runner.html" target="_top">Frames</a></li>
-<li><a href="Runner.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html
deleted file mode 100644
index 1bec0ab..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html
+++ /dev/null
@@ -1,245 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>SimplePublisherApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimplePublisherApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimplePublisherApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" target="_top">Frames</a></li>
-<li><a href="SimplePublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.kafka</div>
-<h2 title="Class SimplePublisherApp" class="title">Class SimplePublisherApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.kafka.SimplePublisherApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimplePublisherApp</span>
-extends java.lang.Object</pre>
-<div class="block">A simple Kafka publisher topology application.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimplePublisherApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" target="_top">Frames</a></li>
-<li><a href="SimplePublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html
deleted file mode 100644
index de5bb47..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html
+++ /dev/null
@@ -1,245 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>SimpleSubscriberApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimpleSubscriberApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleSubscriberApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleSubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.kafka</div>
-<h2 title="Class SimpleSubscriberApp" class="title">Class SimpleSubscriberApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.kafka.SimpleSubscriberApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimpleSubscriberApp</span>
-extends java.lang.Object</pre>
-<div class="block">A simple Kafka subscriber topology application.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleSubscriberApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleSubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/SubscriberApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/SubscriberApp.html
deleted file mode 100644
index bbf0fef..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/SubscriberApp.html
+++ /dev/null
@@ -1,247 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>SubscriberApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SubscriberApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SubscriberApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.kafka</div>
-<h2 title="Class SubscriberApp" class="title">Class SubscriberApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.kafka.SubscriberApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SubscriberApp</span>
-extends java.lang.Object</pre>
-<div class="block">A Kafka consumer/subscriber topology application.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SubscriberApp.html#buildAppTopology--">buildAppTopology</a></span>()</code>
-<div class="block">Create a topology for the subscriber application.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="buildAppTopology--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>buildAppTopology</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;buildAppTopology()</pre>
-<div class="block">Create a topology for the subscriber application.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the Topology</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SubscriberApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/KafkaClient.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/KafkaClient.html
deleted file mode 100644
index 6f4696f..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/KafkaClient.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.kafka.KafkaClient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.kafka.KafkaClient (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/KafkaClient.html" target="_top">Frames</a></li>
-<li><a href="KafkaClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.kafka.KafkaClient" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.kafka.KafkaClient</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.kafka.KafkaClient</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/KafkaClient.html" target="_top">Frames</a></li>
-<li><a href="KafkaClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/PublisherApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/PublisherApp.html
deleted file mode 100644
index 29f0687..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/PublisherApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.kafka.PublisherApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.kafka.PublisherApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/PublisherApp.html" target="_top">Frames</a></li>
-<li><a href="PublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.kafka.PublisherApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.kafka.PublisherApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.kafka.PublisherApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/PublisherApp.html" target="_top">Frames</a></li>
-<li><a href="PublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/Runner.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/Runner.html
deleted file mode 100644
index 38045e2..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/Runner.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.kafka.Runner (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.kafka.Runner (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/Runner.html" target="_top">Frames</a></li>
-<li><a href="Runner.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.kafka.Runner" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.kafka.Runner</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.kafka.Runner</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/Runner.html" target="_top">Frames</a></li>
-<li><a href="Runner.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/SimplePublisherApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/SimplePublisherApp.html
deleted file mode 100644
index 18c7089..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/SimplePublisherApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.kafka.SimplePublisherApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.kafka.SimplePublisherApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/SimplePublisherApp.html" target="_top">Frames</a></li>
-<li><a href="SimplePublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.kafka.SimplePublisherApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.kafka.SimplePublisherApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.kafka.SimplePublisherApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/SimplePublisherApp.html" target="_top">Frames</a></li>
-<li><a href="SimplePublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/SimpleSubscriberApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/SimpleSubscriberApp.html
deleted file mode 100644
index 374e241..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/SimpleSubscriberApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.kafka.SimpleSubscriberApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.kafka.SimpleSubscriberApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/SimpleSubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleSubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.kafka.SimpleSubscriberApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.kafka.SimpleSubscriberApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.kafka.SimpleSubscriberApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/SimpleSubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleSubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/SubscriberApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/SubscriberApp.html
deleted file mode 100644
index ba9486b..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/class-use/SubscriberApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.kafka.SubscriberApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.kafka.SubscriberApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/SubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.kafka.SubscriberApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.kafka.SubscriberApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.kafka.SubscriberApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/class-use/SubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-frame.html
deleted file mode 100644
index 6cec481..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-frame.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.kafka (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/package-summary.html" target="classFrame">org.apache.edgent.samples.connectors.kafka</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">KafkaClient</a></li>
-<li><a href="PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">PublisherApp</a></li>
-<li><a href="Runner.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">Runner</a></li>
-<li><a href="SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">SimplePublisherApp</a></li>
-<li><a href="SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">SimpleSubscriberApp</a></li>
-<li><a href="SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka" target="classFrame">SubscriberApp</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-summary.html
deleted file mode 100644
index 7177def..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-summary.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.kafka (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.kafka (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.connectors.kafka</h1>
-<div class="docSummary">
-<div class="block">Samples showing use of the
- <a href="../../../../../../org/apache/edgent/connectors/kafka/package-summary.html">
-     Apache Kafka stream connector</a>.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka">KafkaClient</a></td>
-<td class="colLast">
-<div class="block">Demonstrate integrating with the Apache Kafka messaging system
- <a href="http://kafka.apache.org">http://kafka.apache.org</a>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka">PublisherApp</a></td>
-<td class="colLast">
-<div class="block">A Kafka producer/publisher topology application.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka">Runner</a></td>
-<td class="colLast">
-<div class="block">Build and run the publisher or subscriber application.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka">SimplePublisherApp</a></td>
-<td class="colLast">
-<div class="block">A simple Kafka publisher topology application.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka">SimpleSubscriberApp</a></td>
-<td class="colLast">
-<div class="block">A simple Kafka subscriber topology application.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka">SubscriberApp</a></td>
-<td class="colLast">
-<div class="block">A Kafka consumer/subscriber topology application.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.connectors.kafka Description">Package org.apache.edgent.samples.connectors.kafka Description</h2>
-<div class="block">Samples showing use of the
- <a href="../../../../../../org/apache/edgent/connectors/kafka/package-summary.html">
-     Apache Kafka stream connector</a>.
- <p>
- See &lt;edgent-release&gt;/scripts/connectors/kafka/README to run the samples.
- <p>
- The following simple samples are provided:
- <ul>
- <li>SimplePublisherApp.java - a simple publisher application topology</li>
- <li>SimpleSubscriberApp.java - a simple subscriber application topology</li>
- </ul>
- The remaining classes are part of a sample that more fully exposes
- controlling various configuration options.</div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-tree.html
deleted file mode 100644
index d24343c..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-tree.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.kafka Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.kafka Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.connectors.kafka</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="../../../../../../org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">KafkaClient</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="../../../../../../org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">PublisherApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="../../../../../../org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Runner</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">SimplePublisherApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">SimpleSubscriberApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="../../../../../../org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">SubscriberApp</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/jdbc/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-use.html
deleted file mode 100644
index f18b727..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/kafka/package-use.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.connectors.kafka (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.connectors.kafka (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.connectors.kafka" class="title">Uses of Package<br>org.apache.edgent.samples.connectors.kafka</h1>
-</div>
-<div class="contentContainer">No usage of org.apache.edgent.samples.connectors.kafka</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/kafka/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/MqttClient.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/MqttClient.html
deleted file mode 100644
index a97ff15..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/MqttClient.html
+++ /dev/null
@@ -1,312 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>MqttClient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MqttClient (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MqttClient.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/MqttClient.html" target="_top">Frames</a></li>
-<li><a href="MqttClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.mqtt</div>
-<h2 title="Class MqttClient" class="title">Class MqttClient</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.mqtt.MqttClient</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">MqttClient</span>
-extends java.lang.Object</pre>
-<div class="block">Demonstrate integrating with the MQTT messaging system
- <a href="http://mqtt.org">http://mqtt.org</a>.
- <p>
- <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><code>MqttStreams</code></a> is
- a connector used to create a bridge between topology streams
- and an MQTT broker.
- <p>
- The client either publishes some messages to a MQTT topic  
- or subscribes to the topic and reports the messages received.
- <p>
- By default, a running MQTT broker with the following
- characteristics is assumed:
- <ul>
- <li>the broker's connection is <code>tcp://localhost:1883</code></li>
- <li>the broker is configured for no authentication</li>
- </ul>
- <p>
- See the MQTT link above for information about setting up a MQTT broker.
- <p>
- This may be executed as:
- <UL>
- <LI>
- <code>java -cp samples/lib/org.apache.edgent.samples.connectors.mqtt.jar
-  org.apache.edgent.samples.connectors.mqtt.MqttClient -h
- </code> - Run directly from the command line.
- </LI>
- <LI>
- Specify absolute pathnames if using the <code>trustStore</code>
- or <code>keyStore</code> arguments.
- </LI>
- <LI>
- An application execution within your IDE once you set the class path to include the correct jars.
- </LI>
- </UL></div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/MqttClient.html#MqttClient--">MqttClient</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/MqttClient.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="MqttClient--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>MqttClient</h4>
-<pre>public&nbsp;MqttClient()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MqttClient.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/MqttClient.html" target="_top">Frames</a></li>
-<li><a href="MqttClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/PublisherApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/PublisherApp.html
deleted file mode 100644
index ae63234..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/PublisherApp.html
+++ /dev/null
@@ -1,247 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>PublisherApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PublisherApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PublisherApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" target="_top">Frames</a></li>
-<li><a href="PublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.mqtt</div>
-<h2 title="Class PublisherApp" class="title">Class PublisherApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.mqtt.PublisherApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">PublisherApp</span>
-extends java.lang.Object</pre>
-<div class="block">A MQTT publisher topology application.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/PublisherApp.html#buildAppTopology--">buildAppTopology</a></span>()</code>
-<div class="block">Create a topology for the publisher application.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="buildAppTopology--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>buildAppTopology</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;buildAppTopology()</pre>
-<div class="block">Create a topology for the publisher application.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the Topology</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PublisherApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" target="_top">Frames</a></li>
-<li><a href="PublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/Runner.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/Runner.html
deleted file mode 100644
index 0b123be..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/Runner.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>Runner (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Runner (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Runner.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/Runner.html" target="_top">Frames</a></li>
-<li><a href="Runner.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.mqtt</div>
-<h2 title="Class Runner" class="title">Class Runner</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.mqtt.Runner</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Runner</span>
-extends java.lang.Object</pre>
-<div class="block">Build and run the publisher or subscriber application.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/Runner.html#Runner--">Runner</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/Runner.html#run-org.apache.edgent.samples.connectors.Options-">run</a></span>(<a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a>&nbsp;options)</code>
-<div class="block">Build and run the publisher or subscriber application.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Runner--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Runner</h4>
-<pre>public&nbsp;Runner()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="run-org.apache.edgent.samples.connectors.Options-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>run</h4>
-<pre>public static&nbsp;void&nbsp;run(<a href="../../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a>&nbsp;options)
-                throws java.lang.Exception</pre>
-<div class="block">Build and run the publisher or subscriber application.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>options</code> - command line options</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Runner.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/Runner.html" target="_top">Frames</a></li>
-<li><a href="Runner.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html
deleted file mode 100644
index 479810e..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html
+++ /dev/null
@@ -1,245 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>SimplePublisherApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimplePublisherApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimplePublisherApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" target="_top">Frames</a></li>
-<li><a href="SimplePublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.mqtt</div>
-<h2 title="Class SimplePublisherApp" class="title">Class SimplePublisherApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.mqtt.SimplePublisherApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimplePublisherApp</span>
-extends java.lang.Object</pre>
-<div class="block">A simple MQTT publisher topology application.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimplePublisherApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" target="_top">Frames</a></li>
-<li><a href="SimplePublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html
deleted file mode 100644
index 88ea9af..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html
+++ /dev/null
@@ -1,245 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>SimpleSubscriberApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimpleSubscriberApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleSubscriberApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleSubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.mqtt</div>
-<h2 title="Class SimpleSubscriberApp" class="title">Class SimpleSubscriberApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.mqtt.SimpleSubscriberApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimpleSubscriberApp</span>
-extends java.lang.Object</pre>
-<div class="block">A simple MQTT subscriber topology application.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleSubscriberApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleSubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html
deleted file mode 100644
index ca9b956..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html
+++ /dev/null
@@ -1,247 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>SubscriberApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SubscriberApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SubscriberApp.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.mqtt</div>
-<h2 title="Class SubscriberApp" class="title">Class SubscriberApp</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.mqtt.SubscriberApp</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SubscriberApp</span>
-extends java.lang.Object</pre>
-<div class="block">A MQTT subscriber topology application.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html#buildAppTopology--">buildAppTopology</a></span>()</code>
-<div class="block">Create a topology for the subscriber application.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="buildAppTopology--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>buildAppTopology</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;buildAppTopology()</pre>
-<div class="block">Create a topology for the subscriber application.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the Topology</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SubscriberApp.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/MqttClient.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/MqttClient.html
deleted file mode 100644
index 84199ed..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/MqttClient.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.mqtt.MqttClient (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.mqtt.MqttClient (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/MqttClient.html" target="_top">Frames</a></li>
-<li><a href="MqttClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.mqtt.MqttClient" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.mqtt.MqttClient</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.mqtt.MqttClient</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/MqttClient.html" target="_top">Frames</a></li>
-<li><a href="MqttClient.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/PublisherApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/PublisherApp.html
deleted file mode 100644
index 73d6957..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/PublisherApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.mqtt.PublisherApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.mqtt.PublisherApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/PublisherApp.html" target="_top">Frames</a></li>
-<li><a href="PublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.mqtt.PublisherApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.mqtt.PublisherApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.mqtt.PublisherApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/PublisherApp.html" target="_top">Frames</a></li>
-<li><a href="PublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/Runner.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/Runner.html
deleted file mode 100644
index abd48b4..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/Runner.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.mqtt.Runner (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.mqtt.Runner (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/Runner.html" target="_top">Frames</a></li>
-<li><a href="Runner.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.mqtt.Runner" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.mqtt.Runner</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.mqtt.Runner</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/Runner.html" target="_top">Frames</a></li>
-<li><a href="Runner.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/SimplePublisherApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/SimplePublisherApp.html
deleted file mode 100644
index 0ba6167..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/SimplePublisherApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.mqtt.SimplePublisherApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.mqtt.SimplePublisherApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/SimplePublisherApp.html" target="_top">Frames</a></li>
-<li><a href="SimplePublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.mqtt.SimplePublisherApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.mqtt.SimplePublisherApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.mqtt.SimplePublisherApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/SimplePublisherApp.html" target="_top">Frames</a></li>
-<li><a href="SimplePublisherApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/SimpleSubscriberApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/SimpleSubscriberApp.html
deleted file mode 100644
index 89f5828..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/SimpleSubscriberApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.mqtt.SimpleSubscriberApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.mqtt.SimpleSubscriberApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/SimpleSubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleSubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.mqtt.SimpleSubscriberApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.mqtt.SimpleSubscriberApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.mqtt.SimpleSubscriberApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/SimpleSubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SimpleSubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/SubscriberApp.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/SubscriberApp.html
deleted file mode 100644
index f5779ec..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/class-use/SubscriberApp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.mqtt.SubscriberApp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.mqtt.SubscriberApp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/SubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.mqtt.SubscriberApp" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.mqtt.SubscriberApp</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.mqtt.SubscriberApp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/class-use/SubscriberApp.html" target="_top">Frames</a></li>
-<li><a href="SubscriberApp.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-frame.html
deleted file mode 100644
index 24db34e..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-frame.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.mqtt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/package-summary.html" target="classFrame">org.apache.edgent.samples.connectors.mqtt</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">MqttClient</a></li>
-<li><a href="PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">PublisherApp</a></li>
-<li><a href="Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">Runner</a></li>
-<li><a href="SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">SimplePublisherApp</a></li>
-<li><a href="SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">SimpleSubscriberApp</a></li>
-<li><a href="SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt" target="classFrame">SubscriberApp</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-summary.html
deleted file mode 100644
index e44ac1d..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-summary.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.mqtt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.mqtt (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.connectors.mqtt</h1>
-<div class="docSummary">
-<div class="block">Samples showing use of the
- <a href="../../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">
-     MQTT stream connector</a>.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt">MqttClient</a></td>
-<td class="colLast">
-<div class="block">Demonstrate integrating with the MQTT messaging system
- <a href="http://mqtt.org">http://mqtt.org</a>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">PublisherApp</a></td>
-<td class="colLast">
-<div class="block">A MQTT publisher topology application.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt">Runner</a></td>
-<td class="colLast">
-<div class="block">Build and run the publisher or subscriber application.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">SimplePublisherApp</a></td>
-<td class="colLast">
-<div class="block">A simple MQTT publisher topology application.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">SimpleSubscriberApp</a></td>
-<td class="colLast">
-<div class="block">A simple MQTT subscriber topology application.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt">SubscriberApp</a></td>
-<td class="colLast">
-<div class="block">A MQTT subscriber topology application.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.connectors.mqtt Description">Package org.apache.edgent.samples.connectors.mqtt Description</h2>
-<div class="block">Samples showing use of the
- <a href="../../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">
-     MQTT stream connector</a>.
- <p>
- See &lt;edgent-release&gt;/scripts/connectors/mqtt/README to run the samples.
- <p>
- The following simple samples are provided:
- <ul>
- <li>SimplePublisherApp.java - a simple publisher application topology</li>
- <li>SimpleSubscriberApp.java - a simple subscriber application topology</li>
- </ul>
- The remaining classes are part of a sample that more fully exposes
- controlling various configuration options.</div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-tree.html
deleted file mode 100644
index 2d9c811..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-tree.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.mqtt Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.mqtt Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.connectors.mqtt</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">MqttClient</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">PublisherApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Runner</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">SimplePublisherApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">SimpleSubscriberApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">SubscriberApp</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/kafka/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-use.html
deleted file mode 100644
index f151034..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/mqtt/package-use.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.connectors.mqtt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.connectors.mqtt (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.connectors.mqtt" class="title">Uses of Package<br>org.apache.edgent.samples.connectors.mqtt</h1>
-</div>
-<div class="contentContainer">No usage of org.apache.edgent.samples.connectors.mqtt</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/mqtt/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/Obd2Streams.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/Obd2Streams.html
deleted file mode 100644
index 5cfd1e9..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/Obd2Streams.html
+++ /dev/null
@@ -1,380 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Obd2Streams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Obd2Streams (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Obd2Streams.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>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" target="_top">Frames</a></li>
-<li><a href="Obd2Streams.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.connectors.obd2</div>
-<h2 title="Class Obd2Streams" class="title">Class Obd2Streams</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.connectors.obd2.Obd2Streams</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Obd2Streams</span>
-extends java.lang.Object</pre>
-<div class="block">Sample OBD-II streams.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#Obd2Streams--">Obd2Streams</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#getDouble-com.google.gson.JsonElement-java.lang.String-">getDouble</a></span>(com.google.gson.JsonElement&nbsp;json,
-         java.lang.String&nbsp;key)</code>
-<div class="block">Utility method to simplify accessing a number as a double.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static com.google.gson.JsonObject</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#getObject-com.google.gson.JsonObject-java.lang.String-">getObject</a></span>(com.google.gson.JsonObject&nbsp;json,
-         java.lang.String&nbsp;key)</code>
-<div class="block">Utility method to simplify accessing a JSON object.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#increasingTemps-org.apache.edgent.connectors.serial.SerialDevice-">increasingTemps</a></span>(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device)</code>
-<div class="block">Get a stream of temperature readings which
- are increasing over the last minute.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#tach-org.apache.edgent.connectors.serial.SerialDevice-">tach</a></span>(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device)</code>
-<div class="block">Get a stream containing vehicle speed (km/h)
- and engine revs (rpm).</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Obd2Streams--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Obd2Streams</h4>
-<pre>public&nbsp;Obd2Streams()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="increasingTemps-org.apache.edgent.connectors.serial.SerialDevice-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>increasingTemps</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;increasingTemps(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device)</pre>
-<div class="block">Get a stream of temperature readings which
- are increasing over the last minute.
- 
- Poll temperatures every five seconds and
- calculate the maximum reading and rate of change
- (slope) over the last minute, partitioned by parameter
- <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html#PID"><code>pid</code></a>. Filter so that only
- those with a rate of increase greater than
- or equal to 1 degree C/minute is present on the returned stream.
- 
- Temperatures included are
- <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#AIR_INTAKE_TEMP"><code>AIR_INTAKE_TEMP</code></a> and
- <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#ENGINE_COOLANT_TEMP"><code>ENGINE_COOLANT_TEMP</code></a>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>device</code> - Serial device the ELM327 is connected to.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Stream that will contain parameters with increasing temperatures.</dd>
-</dl>
-</li>
-</ul>
-<a name="tach-org.apache.edgent.connectors.serial.SerialDevice-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>tach</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;tach(<a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device)</pre>
-<div class="block">Get a stream containing vehicle speed (km/h)
- and engine revs (rpm).
- 
- <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#SPEED"><code>Speed</code></a>
- and <a href="../../../../../../org/apache/edgent/samples/connectors/elm327/Pids01.html#RPM"><code>engine revs</code></a>
- are polled every 200ms and returned as a stream
- containing JSON objects with keys <code>speed</code>
- and <code>rpm</code>.
- 
- The two readings may not be exactly consistent with
- each other as there are fetched sequentially from
- the ELM327.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>device</code> - Serial device the ELM327 is connected to.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Stream that will contain speed and engine revolutions.</dd>
-</dl>
-</li>
-</ul>
-<a name="getObject-com.google.gson.JsonObject-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getObject</h4>
-<pre>public static&nbsp;com.google.gson.JsonObject&nbsp;getObject(com.google.gson.JsonObject&nbsp;json,
-                                                   java.lang.String&nbsp;key)</pre>
-<div class="block">Utility method to simplify accessing a JSON object.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>json</code> - JSON object containing the object to be got.</dd>
-<dd><code>key</code> - Key of the object to be got.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>JSON object with key <code>key</code> from <code>json</code>.</dd>
-</dl>
-</li>
-</ul>
-<a name="getDouble-com.google.gson.JsonElement-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getDouble</h4>
-<pre>public static&nbsp;double&nbsp;getDouble(com.google.gson.JsonElement&nbsp;json,
-                               java.lang.String&nbsp;key)</pre>
-<div class="block">Utility method to simplify accessing a number as a double.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>json</code> - JSON object containing the number to be got.</dd>
-<dd><code>key</code> - Key of the number to be got.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Number with key <code>key</code> from <code>json</code>.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Obd2Streams.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" target="_top">Frames</a></li>
-<li><a href="Obd2Streams.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/class-use/Obd2Streams.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/class-use/Obd2Streams.html
deleted file mode 100644
index 8b67aac..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/class-use/Obd2Streams.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.connectors.obd2.Obd2Streams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.connectors.obd2.Obd2Streams (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/obd2/class-use/Obd2Streams.html" target="_top">Frames</a></li>
-<li><a href="Obd2Streams.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.connectors.obd2.Obd2Streams" class="title">Uses of Class<br>org.apache.edgent.samples.connectors.obd2.Obd2Streams</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.connectors.obd2.Obd2Streams</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/connectors/obd2/class-use/Obd2Streams.html" target="_top">Frames</a></li>
-<li><a href="Obd2Streams.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-frame.html
deleted file mode 100644
index c544f63..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-frame.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.obd2 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/package-summary.html" target="classFrame">org.apache.edgent.samples.connectors.obd2</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2" target="classFrame">Obd2Streams</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-summary.html
deleted file mode 100644
index e5e664a..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-summary.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.obd2 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.obd2 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/console/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/obd2/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.connectors.obd2</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2">Obd2Streams</a></td>
-<td class="colLast">
-<div class="block">Sample OBD-II streams.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/console/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/obd2/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-tree.html
deleted file mode 100644
index 7f04fe1..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-tree.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors.obd2 Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors.obd2 Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/console/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/obd2/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.connectors.obd2</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.connectors.obd2.<a href="../../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2"><span class="typeNameLink">Obd2Streams</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/connectors/mqtt/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/console/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/obd2/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-use.html
deleted file mode 100644
index a75bd49..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/obd2/package-use.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.connectors.obd2 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.connectors.obd2 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/obd2/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.connectors.obd2" class="title">Uses of Package<br>org.apache.edgent.samples.connectors.obd2</h1>
-</div>
-<div class="contentContainer">No usage of org.apache.edgent.samples.connectors.obd2</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/connectors/obd2/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/package-frame.html
deleted file mode 100644
index e77f1ac..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/package-frame.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../org/apache/edgent/samples/connectors/package-summary.html" target="classFrame">org.apache.edgent.samples.connectors</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="MsgSupplier.html" title="class in org.apache.edgent.samples.connectors" target="classFrame">MsgSupplier</a></li>
-<li><a href="Options.html" title="class in org.apache.edgent.samples.connectors" target="classFrame">Options</a></li>
-<li><a href="Util.html" title="class in org.apache.edgent.samples.connectors" target="classFrame">Util</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/package-summary.html
deleted file mode 100644
index 3838495..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/package-summary.html
+++ /dev/null
@@ -1,167 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.connectors</h1>
-<div class="docSummary">
-<div class="block">General support for connector samples.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors">MsgSupplier</a></td>
-<td class="colLast">
-<div class="block">A Supplier&lt;String&gt; for creating sample messages to publish.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors">Options</a></td>
-<td class="colLast">
-<div class="block">Simple command option processor.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors">Util</a></td>
-<td class="colLast">
-<div class="block">Utilities for connector samples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.connectors Description">Package org.apache.edgent.samples.connectors Description</h2>
-<div class="block">General support for connector samples.</div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/package-tree.html
deleted file mode 100644
index 2c67bc8..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/package-tree.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.connectors Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.connectors Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/connectors/elm327/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.connectors</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.connectors.<a href="../../../../../org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">MsgSupplier</span></a> (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.samples.connectors.<a href="../../../../../org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Options</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.<a href="../../../../../org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Util</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/connectors/elm327/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/connectors/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/connectors/package-use.html
deleted file mode 100644
index f839826..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/connectors/package-use.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.connectors (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.connectors (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.connectors" class="title">Uses of Package<br>org.apache.edgent.samples.connectors</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.kafka">org.apache.edgent.samples.connectors.kafka</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the
- <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">
-     Apache Kafka stream connector</a>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.kafka">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a> used by <a href="../../../../../org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/samples/connectors/class-use/Options.html#org.apache.edgent.samples.connectors.kafka">Options</a>
-<div class="block">Simple command option processor.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/connectors/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/console/ConsoleWaterDetector.html b/site/javadoc/latest/org/apache/edgent/samples/console/ConsoleWaterDetector.html
deleted file mode 100644
index d14595c..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/console/ConsoleWaterDetector.html
+++ /dev/null
@@ -1,473 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>ConsoleWaterDetector (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConsoleWaterDetector (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ConsoleWaterDetector.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/console/ConsoleWaterDetector.html" target="_top">Frames</a></li>
-<li><a href="ConsoleWaterDetector.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.console</div>
-<h2 title="Class ConsoleWaterDetector" class="title">Class ConsoleWaterDetector</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.console.ConsoleWaterDetector</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">ConsoleWaterDetector</span>
-extends java.lang.Object</pre>
-<div class="block">Demonstrates some of the features of the console.
- <P>
- The topology graph in the console currently allows for 3 distinct "views" of the topology:
- <ul>
- <li>Static flow</li>
- <li>Tuple count</li>
- <li>Oplet kind</li>
- </ul>
- <P>
- Selecting any of these, with the exception of "Static flow", adds a legend to the topology which
- allows the user to identify elements of the view.
- </P>
- <P> The "Static flow" view shows the toology in an unchanging state - that is if tuple counts are available the
- lines (connections) representing the edges of the topology are not updated, nor are the circles (representing the vertices) dimensions updated.  
- The purpose of this view is to give the user an indication of the topology map of the application.
- </P>
- <P>
- The "Oplet kind" view colors the oplets or vertices displayed in the topology graph (the circles) by their
- corresponding Oplet kind.
- </P>
- <P>
- If "Tuple count" is selected the legend reflects ranges of tuple counts measured since the application was started.
- </P>
- <P>
- Note: The DevelopmentProvider class overrides the submit method of the DirectProvider class
- and adds a Metrics counter to the submitted topology.
- If a counter is not added to the topology (or to an individual oplet), the "Tuple count" view selection is not enabled.
- </P>
- 
- <P>
- In the lower half of the edgent console is a chart displaying metrics, if available.  In this example metrics
- are available since the DevelopmentProvider class is being used.  Note that the DevelopmentProvider class adds a Metrics counter
- to all oplets in the topology, with the exception of certain oplet types.  For further information
- about how metrics are added to a topology, see the details in the org.apache.edgent.metrics.Metrics class and the counter method.
- <br>
- A counter can be added to an individual oplet, and not the entire topology.  For an example of this
- see the org.apache.edgent.samples.utils.metrics.DevelopmentMetricsSample.
- </P>
- <P>
- The org.apache.edgent.metric.Metrics class also provides a rate meter.  Rate meters must be added to individual oplets and are not currently
- available for the entire topology.
- </P>
-
- <P>
- The metrics chart displayed is a bar chart by default.  If a rate meter is added to an oplet it will be displayed
- as a line chart over the last 20 measures (the interval to refresh the line chart is every 2 1/2 seconds).
- If a counter is added to a single oplet, the tuple count can also be displayed as a line chart.
- </P>
- 
- <P>
- ConsoleWaterDetector scenario:
- A county agency is responsible for ensuring the safety of residents well water.  Each well they monitor has four different 
- sensor types:
- <ul>
- <li>Temperature</li>
- <li>Acidity</li>
- <li>Ecoli</li>
- <li>Lead</li>
- </ul>
- <P>
- This application topology monitors 3 wells:
- <ul>
- <li>
- Each well that is to be measured is added to the topology.  The topology polls each sensor for each well as a unit.  
- All the sensor readings for a single well are 'unioned' into a single TStream&lt;JsonObject&gt;.
- </li>
- <li>
- Now, each well has a single stream with each of the sensors readings as a property with a name and value in the JsonObject.  
- Each well's sensors are then checked to see if their values are in an acceptable range.  The filter oplet is used to check each sensor's range.  
- If any of the sensor's readings are out of the acceptable range the tuple is passed along. Those that are within an acceptable range 
- are discarded.
- </li>
- <li>
- If the tuples in the stream for the well are out of range they are then passed to the split oplet. The split oplet breaks the single
- TStream&lt;JsonObject&gt; into individual streams for each sensor type for the well.  
- </li>
- <li>
- Well1 and Well3's temperature sensor streams have rate meters placed on them.  This will be used to compare the rate of tuples flowing through these
- streams that are a result of out of range readings for Well1 and Well3 respectively.
- </li>
- <li>
- Each stream that is produced from the split prints out the value for the sensor reading that it is monitoring along with the wellId.
- </li>
- </ul></div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#ConsoleWaterDetector--">ConsoleWaterDetector</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#alertFilter-org.apache.edgent.topology.TStream-int-boolean-">alertFilter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;readingsDetector,
-           int&nbsp;wellId,
-           boolean&nbsp;simulateNormal)</code>
-<div class="block">Look through the stream and check to see if any of the measurements cause concern.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#formatAlertOutput-com.google.gson.JsonObject-java.lang.String-java.lang.String-">formatAlertOutput</a></span>(com.google.gson.JsonObject&nbsp;alertObj,
-                 java.lang.String&nbsp;wellId,
-                 java.lang.String&nbsp;alertType)</code>
-<div class="block">Formats the output of the alert, containing the well id, sensor type and value of the sensor</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#splitAlert-org.apache.edgent.topology.TStream-int-">splitAlert</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;alertStream,
-          int&nbsp;wellId)</code>
-<div class="block">Splits the incoming TStream&lt;JsonObject&gt; into individual TStreams based on the sensor type</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#waterDetector-org.apache.edgent.topology.Topology-int-">waterDetector</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-             int&nbsp;wellId)</code>
-<div class="block">Creates a TStream&lt;JsonObject&gt; for each sensor reading for each well.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ConsoleWaterDetector--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ConsoleWaterDetector</h4>
-<pre>public&nbsp;ConsoleWaterDetector()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-<a name="waterDetector-org.apache.edgent.topology.Topology-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>waterDetector</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;waterDetector(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                                                                int&nbsp;wellId)</pre>
-<div class="block">Creates a TStream&lt;JsonObject&gt; for each sensor reading for each well. Unions all the TStream&lt;JsonObject&gt; into a
- single one representing all readings on the well.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>topology</code> - Topology providing the tuples for the sensors</dd>
-<dd><code>wellId</code> - Id of the well sending the measurements</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>TStream&lt;JsonObject&gt; containing a measurement from each sensor type.
- Creates a single TStream&lt;JsonObject&gt; from polling the four sensor types as TStream&lt;Integer&gt;</dd>
-</dl>
-</li>
-</ul>
-<a name="alertFilter-org.apache.edgent.topology.TStream-int-boolean-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>alertFilter</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;alertFilter(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;readingsDetector,
-                                                              int&nbsp;wellId,
-                                                              boolean&nbsp;simulateNormal)</pre>
-<div class="block">Look through the stream and check to see if any of the measurements cause concern.
- Only a TStream that has one or more of the readings at "alert" level are passed through</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>readingsDetector</code> - The TStream&lt;JsonObject&gt; that represents all of the different sensor readings for the well</dd>
-<dd><code>wellId</code> - The id of the well</dd>
-<dd><code>simulateNormal</code> - Make this stream simulate all readings within the normal range, and therefore will not pass through the filter</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>TStream&lt;JsonObject&gt; that contain readings that could cause concern.  Note: if any reading is out of range the tuple 
- will be returned</dd>
-</dl>
-</li>
-</ul>
-<a name="splitAlert-org.apache.edgent.topology.TStream-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>splitAlert</h4>
-<pre>public static&nbsp;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&gt;&nbsp;splitAlert(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;alertStream,
-                                                                             int&nbsp;wellId)</pre>
-<div class="block">Splits the incoming TStream&lt;JsonObject&gt; into individual TStreams based on the sensor type</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>alertStream</code> - The TStream&lt;JsonObject&gt; that we know has some out of range condition - it could be temp, acidity, ecoli or lead 
- - or all of them</dd>
-<dd><code>wellId</code> - The id of the well that has the out of range readings</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>List&lt;TStream&lt;JsonObject&gt;&gt; - one for each sensor.</dd>
-</dl>
-</li>
-</ul>
-<a name="formatAlertOutput-com.google.gson.JsonObject-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>formatAlertOutput</h4>
-<pre>public static&nbsp;java.lang.String&nbsp;formatAlertOutput(com.google.gson.JsonObject&nbsp;alertObj,
-                                                 java.lang.String&nbsp;wellId,
-                                                 java.lang.String&nbsp;alertType)</pre>
-<div class="block">Formats the output of the alert, containing the well id, sensor type and value of the sensor</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>alertObj</code> - The tuple that contains out of range readings</dd>
-<dd><code>wellId</code> - The id of the well</dd>
-<dd><code>alertType</code> - The type of sensor that has the possible alert on it</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>String containing the wellId, sensor type and sensor value</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ConsoleWaterDetector.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/console/ConsoleWaterDetector.html" target="_top">Frames</a></li>
-<li><a href="ConsoleWaterDetector.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/console/HttpServerSample.html b/site/javadoc/latest/org/apache/edgent/samples/console/HttpServerSample.html
deleted file mode 100644
index 40709a5..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/console/HttpServerSample.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>HttpServerSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HttpServerSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HttpServerSample.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/console/HttpServerSample.html" target="_top">Frames</a></li>
-<li><a href="HttpServerSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.console</div>
-<h2 title="Class HttpServerSample" class="title">Class HttpServerSample</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.console.HttpServerSample</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">HttpServerSample</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/HttpServerSample.html#HttpServerSample--">HttpServerSample</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/HttpServerSample.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="HttpServerSample--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>HttpServerSample</h4>
-<pre>public&nbsp;HttpServerSample()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)</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>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HttpServerSample.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/console/HttpServerSample.html" target="_top">Frames</a></li>
-<li><a href="HttpServerSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/console/class-use/ConsoleWaterDetector.html b/site/javadoc/latest/org/apache/edgent/samples/console/class-use/ConsoleWaterDetector.html
deleted file mode 100644
index f775e08..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/console/class-use/ConsoleWaterDetector.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.console.ConsoleWaterDetector (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.console.ConsoleWaterDetector (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/console/class-use/ConsoleWaterDetector.html" target="_top">Frames</a></li>
-<li><a href="ConsoleWaterDetector.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.console.ConsoleWaterDetector" class="title">Uses of Class<br>org.apache.edgent.samples.console.ConsoleWaterDetector</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.console.ConsoleWaterDetector</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/console/class-use/ConsoleWaterDetector.html" target="_top">Frames</a></li>
-<li><a href="ConsoleWaterDetector.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/console/class-use/HttpServerSample.html b/site/javadoc/latest/org/apache/edgent/samples/console/class-use/HttpServerSample.html
deleted file mode 100644
index 2431ccc..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/console/class-use/HttpServerSample.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.console.HttpServerSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.console.HttpServerSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/console/class-use/HttpServerSample.html" target="_top">Frames</a></li>
-<li><a href="HttpServerSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.console.HttpServerSample" class="title">Uses of Class<br>org.apache.edgent.samples.console.HttpServerSample</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.console.HttpServerSample</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/console/class-use/HttpServerSample.html" target="_top">Frames</a></li>
-<li><a href="HttpServerSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/console/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/console/package-frame.html
deleted file mode 100644
index bf1dc03..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/console/package-frame.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.console (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../org/apache/edgent/samples/console/package-summary.html" target="classFrame">org.apache.edgent.samples.console</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console" target="classFrame">ConsoleWaterDetector</a></li>
-<li><a href="HttpServerSample.html" title="class in org.apache.edgent.samples.console" target="classFrame">HttpServerSample</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/console/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/console/package-summary.html
deleted file mode 100644
index d9835c7..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/console/package-summary.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.console (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.console (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/connectors/obd2/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/scenarios/iotp/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/console/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.console</h1>
-<div class="docSummary">
-<div class="block">Samples showing use of the Console web application.</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console">ConsoleWaterDetector</a></td>
-<td class="colLast">
-<div class="block">Demonstrates some of the features of the console.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console">HttpServerSample</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.console Description">Package org.apache.edgent.samples.console Description</h2>
-<div class="block">Samples showing use of the Console web application.
- The following simple samples are provided:
- <ul>
- <li>ConsoleWaterDetector.java - a simple application topology demonstrating features of the console like viewing the topology by
- Stream tags, Oplet kind and Tuple count.  A DevelopmentProvider is used which automatically adds a Metrics counter to the topology.
- </li>
- <li>HttpServerSample.java - a <i>very</i> simple application that just brings up the Edgent console - with no jobs.</li>
- </ul></div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/connectors/obd2/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/scenarios/iotp/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/console/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/console/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/console/package-tree.html
deleted file mode 100644
index 22512ec..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/console/package-tree.html
+++ /dev/null
@@ -1,140 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.console Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.console Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/connectors/obd2/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/scenarios/iotp/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/console/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.console</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.console.<a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console"><span class="typeNameLink">ConsoleWaterDetector</span></a></li>
-<li type="circle">org.apache.edgent.samples.console.<a href="../../../../../org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console"><span class="typeNameLink">HttpServerSample</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/connectors/obd2/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/scenarios/iotp/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/console/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/console/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/console/package-use.html
deleted file mode 100644
index 2d5cfbc..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/console/package-use.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.console (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.console (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/console/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.console" class="title">Uses of Package<br>org.apache.edgent.samples.console</h1>
-</div>
-<div class="contentContainer">No usage of org.apache.edgent.samples.console</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/console/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html b/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html
deleted file mode 100644
index 42529d5..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html
+++ /dev/null
@@ -1,346 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:07 EST 2017 -->
-<title>IotpFullScenario (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="IotpFullScenario (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpFullScenario.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>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" target="_top">Frames</a></li>
-<li><a href="IotpFullScenario.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.scenarios.iotp</div>
-<h2 title="Class IotpFullScenario" class="title">Class IotpFullScenario</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.scenarios.iotp.IotpFullScenario</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">IotpFullScenario</span>
-extends java.lang.Object</pre>
-<div class="block">Sample IotProvider scenario using IBM Watson IoT Platform.
- <BR>
- IotProvider with three registered applications that
- are not started but can be started by a a remote
- application sending device commands through
- IBM Watson IoT Platform.
- <P>
- This is equivalent to the <a href="../../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp"><code>IotpSensors</code></a> application
- but executing as three separate applications using
- <a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot"><code>IotProvider</code></a> rather than the lower level
- <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><code>DirectProvider</code></a>.
- 
- </P></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><code>ApplicationServiceMXBean</code></a>, 
-<a href="../../../../../../org/apache/edgent/topology/mbeans/package-summary.html">org.apache.edgent.topology.mbeans</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#IotpFullScenario--">IotpFullScenario</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>
-<div class="block">Run the IotpFullScenario application.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#registerDisplay-org.apache.edgent.providers.iot.IotProvider-">registerDisplay</a></span>(<a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a>&nbsp;provider)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#registerHeartbeat-org.apache.edgent.providers.iot.IotProvider-">registerHeartbeat</a></span>(<a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a>&nbsp;provider)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html#registerSensors-org.apache.edgent.providers.iot.IotProvider-">registerSensors</a></span>(<a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a>&nbsp;provider)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="IotpFullScenario--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>IotpFullScenario</h4>
-<pre>public&nbsp;IotpFullScenario()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<div class="block">Run the IotpFullScenario application.
- 
- Takes a single argument that is the path to the
- device configuration file containing the connection
- authentication information.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>args</code> - Must contain the path to the device configuration file.</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.io.File-"><code>IotpDevice.IotpDevice(org.apache.edgent.topology.Topology, File)</code></a></dd>
-</dl>
-</li>
-</ul>
-<a name="registerHeartbeat-org.apache.edgent.providers.iot.IotProvider-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>registerHeartbeat</h4>
-<pre>public static&nbsp;void&nbsp;registerHeartbeat(<a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a>&nbsp;provider)</pre>
-</li>
-</ul>
-<a name="registerSensors-org.apache.edgent.providers.iot.IotProvider-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>registerSensors</h4>
-<pre>public static&nbsp;void&nbsp;registerSensors(<a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a>&nbsp;provider)</pre>
-</li>
-</ul>
-<a name="registerDisplay-org.apache.edgent.providers.iot.IotProvider-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>registerDisplay</h4>
-<pre>public static&nbsp;void&nbsp;registerDisplay(<a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a>&nbsp;provider)</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>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/IotpFullScenario.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" target="_top">Frames</a></li>
-<li><a href="IotpFullScenario.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/class-use/IotpFullScenario.html b/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/class-use/IotpFullScenario.html
deleted file mode 100644
index a44fe53..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/class-use/IotpFullScenario.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.scenarios.iotp.IotpFullScenario (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.scenarios.iotp.IotpFullScenario (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/scenarios/iotp/class-use/IotpFullScenario.html" target="_top">Frames</a></li>
-<li><a href="IotpFullScenario.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.scenarios.iotp.IotpFullScenario" class="title">Uses of Class<br>org.apache.edgent.samples.scenarios.iotp.IotpFullScenario</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.scenarios.iotp.IotpFullScenario</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/scenarios/iotp/class-use/IotpFullScenario.html" target="_top">Frames</a></li>
-<li><a href="IotpFullScenario.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-frame.html
deleted file mode 100644
index 030a6e2..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-frame.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.scenarios.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/package-summary.html" target="classFrame">org.apache.edgent.samples.scenarios.iotp</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp" target="classFrame">IotpFullScenario</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-summary.html
deleted file mode 100644
index 7d4a4a3..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-summary.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.scenarios.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.scenarios.iotp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/console/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/scenarios/iotp/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.scenarios.iotp</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp">IotpFullScenario</a></td>
-<td class="colLast">
-<div class="block">Sample IotProvider scenario using IBM Watson IoT Platform.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/console/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/scenarios/iotp/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-tree.html
deleted file mode 100644
index 3fe4851..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-tree.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.scenarios.iotp Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.scenarios.iotp Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/console/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/scenarios/iotp/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.scenarios.iotp</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.scenarios.iotp.<a href="../../../../../../org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp"><span class="typeNameLink">IotpFullScenario</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/console/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/scenarios/iotp/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-use.html
deleted file mode 100644
index 97b65a6..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/scenarios/iotp/package-use.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.scenarios.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.scenarios.iotp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/scenarios/iotp/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.scenarios.iotp" class="title">Uses of Package<br>org.apache.edgent.samples.scenarios.iotp</h1>
-</div>
-<div class="contentContainer">No usage of org.apache.edgent.samples.scenarios.iotp</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/scenarios/iotp/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html b/site/javadoc/latest/org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html
deleted file mode 100644
index 385794e..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>CombiningStreamsProcessingResults (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="CombiningStreamsProcessingResults (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/CombiningStreamsProcessingResults.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" target="_top">Frames</a></li>
-<li><a href="CombiningStreamsProcessingResults.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Class CombiningStreamsProcessingResults" class="title">Class CombiningStreamsProcessingResults</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.CombiningStreamsProcessingResults</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">CombiningStreamsProcessingResults</span>
-extends java.lang.Object</pre>
-<div class="block">Applying different processing against a set of streams and combining the
- resulting streams into a single stream.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><code>HeartMonitorSensor</code></a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html#CombiningStreamsProcessingResults--">CombiningStreamsProcessingResults</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>
-<div class="block">Polls a simulated heart monitor to periodically obtain blood pressure readings.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="CombiningStreamsProcessingResults--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>CombiningStreamsProcessingResults</h4>
-<pre>public&nbsp;CombiningStreamsProcessingResults()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<div class="block">Polls a simulated heart monitor to periodically obtain blood pressure readings.
- Splits the readings by blood pressure category into separate streams.
- Applies different processing on each stream to generate alert streams.
- Combines the alert streams into a single stream and prints the alerts.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>args</code> - command arguments</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/CombiningStreamsProcessingResults.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" target="_top">Frames</a></li>
-<li><a href="CombiningStreamsProcessingResults.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/DevelopmentMetricsSample.html b/site/javadoc/latest/org/apache/edgent/samples/topology/DevelopmentMetricsSample.html
deleted file mode 100644
index 7eae28c..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/DevelopmentMetricsSample.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>DevelopmentMetricsSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DevelopmentMetricsSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DevelopmentMetricsSample.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentMetricsSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Class DevelopmentMetricsSample" class="title">Class DevelopmentMetricsSample</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.DevelopmentMetricsSample</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">DevelopmentMetricsSample</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentMetricsSample.html#DevelopmentMetricsSample--">DevelopmentMetricsSample</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentMetricsSample.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="DevelopmentMetricsSample--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>DevelopmentMetricsSample</h4>
-<pre>public&nbsp;DevelopmentMetricsSample()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DevelopmentMetricsSample.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentMetricsSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/DevelopmentSample.html b/site/javadoc/latest/org/apache/edgent/samples/topology/DevelopmentSample.html
deleted file mode 100644
index fec30c2..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/DevelopmentSample.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>DevelopmentSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DevelopmentSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DevelopmentSample.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/DevelopmentSample.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Class DevelopmentSample" class="title">Class DevelopmentSample</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.DevelopmentSample</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">DevelopmentSample</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSample.html#DevelopmentSample--">DevelopmentSample</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSample.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="DevelopmentSample--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>DevelopmentSample</h4>
-<pre>public&nbsp;DevelopmentSample()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DevelopmentSample.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/DevelopmentSample.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html b/site/javadoc/latest/org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html
deleted file mode 100644
index bd2f8a4..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>DevelopmentSampleJobMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DevelopmentSampleJobMXBean (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DevelopmentSampleJobMXBean.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentSampleJobMXBean.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Class DevelopmentSampleJobMXBean" class="title">Class DevelopmentSampleJobMXBean</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.DevelopmentSampleJobMXBean</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">DevelopmentSampleJobMXBean</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html#DevelopmentSampleJobMXBean--">DevelopmentSampleJobMXBean</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="DevelopmentSampleJobMXBean--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>DevelopmentSampleJobMXBean</h4>
-<pre>public&nbsp;DevelopmentSampleJobMXBean()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DevelopmentSampleJobMXBean.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentSampleJobMXBean.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/HelloEdgent.html b/site/javadoc/latest/org/apache/edgent/samples/topology/HelloEdgent.html
deleted file mode 100644
index d3f30fb..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/HelloEdgent.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>HelloEdgent (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HelloEdgent (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HelloEdgent.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/HelloEdgent.html" target="_top">Frames</a></li>
-<li><a href="HelloEdgent.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Class HelloEdgent" class="title">Class HelloEdgent</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.HelloEdgent</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">HelloEdgent</span>
-extends java.lang.Object</pre>
-<div class="block">Hello Edgent Topology sample.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/HelloEdgent.html#HelloEdgent--">HelloEdgent</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/HelloEdgent.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>
-<div class="block">Print "Hello Edgent!" as two tuples.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="HelloEdgent--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>HelloEdgent</h4>
-<pre>public&nbsp;HelloEdgent()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<div class="block">Print "Hello Edgent!" as two tuples.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>args</code> - command arguments</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HelloEdgent.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/HelloEdgent.html" target="_top">Frames</a></li>
-<li><a href="HelloEdgent.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/JobEventsSample.html b/site/javadoc/latest/org/apache/edgent/samples/topology/JobEventsSample.html
deleted file mode 100644
index 3d8543f..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/JobEventsSample.html
+++ /dev/null
@@ -1,258 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>JobEventsSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JobEventsSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/JobEventsSample.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/JobEventsSample.html" target="_top">Frames</a></li>
-<li><a href="JobEventsSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Class JobEventsSample" class="title">Class JobEventsSample</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.JobEventsSample</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">JobEventsSample</span>
-extends java.lang.Object</pre>
-<div class="block">Demonstrates job monitoring using the <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a> service.
- <p>
- The example starts a system monitoring application, then concurrently 
- submits two jobs.
- The job monitoring application generates job event tuples when jobs 
- are added or removed from registry, or when a job gets updated. 
- Tuples are pushed to a sink, which prints them onto the system output.</p>
- <p>
- Note that the original job events stream processing is executed by the
- JobRegistryService event <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addListener-org.apache.edgent.function.BiConsumer-">listeners</a>
- invoker thread. 
- It is considered good practice to isolate the event source from the rest 
- of the graph, in order for the processing of tuples to be executed by a
- different thread.</p></div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/JobEventsSample.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/JobEventsSample.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/JobEventsSample.html" target="_top">Frames</a></li>
-<li><a href="JobEventsSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/JobExecution.html b/site/javadoc/latest/org/apache/edgent/samples/topology/JobExecution.html
deleted file mode 100644
index 7fa56d1..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/JobExecution.html
+++ /dev/null
@@ -1,336 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>JobExecution (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JobExecution (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/JobExecution.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/JobExecution.html" target="_top">Frames</a></li>
-<li><a href="JobExecution.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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">org.apache.edgent.samples.topology</div>
-<h2 title="Class JobExecution" class="title">Class JobExecution</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.JobExecution</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">JobExecution</span>
-extends java.lang.Object</pre>
-<div class="block">Using the Job API to get/set a job's state.</div>
-</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="memberSummary" 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 long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/JobExecution.html#JOB_LIFE_MILLIS">JOB_LIFE_MILLIS</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/JobExecution.html#WAIT_AFTER_CLOSE">WAIT_AFTER_CLOSE</a></span></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/JobExecution.html#JobExecution--">JobExecution</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/JobExecution.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="JOB_LIFE_MILLIS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>JOB_LIFE_MILLIS</h4>
-<pre>public static final&nbsp;long JOB_LIFE_MILLIS</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.edgent.samples.topology.JobExecution.JOB_LIFE_MILLIS">Constant Field Values</a></dd>
-</dl>
-</li>
-</ul>
-<a name="WAIT_AFTER_CLOSE">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>WAIT_AFTER_CLOSE</h4>
-<pre>public static final&nbsp;long WAIT_AFTER_CLOSE</pre>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.edgent.samples.topology.JobExecution.WAIT_AFTER_CLOSE">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="JobExecution--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>JobExecution</h4>
-<pre>public&nbsp;JobExecution()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.util.concurrent.ExecutionException</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.util.concurrent.ExecutionException</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/JobExecution.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/JobExecution.html" target="_top">Frames</a></li>
-<li><a href="JobExecution.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/PeriodicSource.html b/site/javadoc/latest/org/apache/edgent/samples/topology/PeriodicSource.html
deleted file mode 100644
index 67b1861..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/PeriodicSource.html
+++ /dev/null
@@ -1,286 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>PeriodicSource (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PeriodicSource (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PeriodicSource.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/PeriodicSource.html" target="_top">Frames</a></li>
-<li><a href="PeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Class PeriodicSource" class="title">Class PeriodicSource</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.PeriodicSource</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">PeriodicSource</span>
-extends java.lang.Object</pre>
-<div class="block">Periodic polling of source data.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/PeriodicSource.html#PeriodicSource--">PeriodicSource</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/PeriodicSource.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>
-<div class="block">Shows polling a data source to periodically obtain a value.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="PeriodicSource--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>PeriodicSource</h4>
-<pre>public&nbsp;PeriodicSource()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<div class="block">Shows polling a data source to periodically obtain a value.
- Polls a random number generator for a new value every second
- and then prints out the raw value and a filtered and transformed stream.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>args</code> - command arguments</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PeriodicSource.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/PeriodicSource.html" target="_top">Frames</a></li>
-<li><a href="PeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/SensorsAggregates.html b/site/javadoc/latest/org/apache/edgent/samples/topology/SensorsAggregates.html
deleted file mode 100644
index 455932f..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/SensorsAggregates.html
+++ /dev/null
@@ -1,333 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>SensorsAggregates (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SensorsAggregates (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SensorsAggregates.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/SensorsAggregates.html" target="_top">Frames</a></li>
-<li><a href="SensorsAggregates.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Class SensorsAggregates" class="title">Class SensorsAggregates</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.SensorsAggregates</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SensorsAggregates</span>
-extends java.lang.Object</pre>
-<div class="block">Aggregation of sensor readings.
- 
- Demonstrates partitioned aggregation and filtering of simulated sensors
- that are bursty in nature, so that only intermittently
- is the data output to <code>System.out</code>.
- <P>
- The two sensors are read as independent streams but combined
- into a single stream and then aggregated across the last 50 readings
- using windows. The window is partitioned by the sensor name
- so that each sensor will have its own independent window.
- This partitioning is automatic so that the same code would
- work if readings from one hundred different sensors were
- on the same stream, is it just driven by a key function.
- <BR>
- The windows are then aggregated using Apache Common Math
- provided statistics and the final stream filtered so
- that it will only contain values when each sensor 
- is (independently) out of range.
- </P></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html#burstySensor-org.apache.edgent.topology.Topology-java.lang.String-"><code>SimulatedSensors.burstySensor(Topology, String)</code></a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html#SensorsAggregates--">SensorsAggregates</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>
-<div class="block">Run a topology with two bursty sensors printing them to standard out.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html#sensorsAB-org.apache.edgent.topology.Topology-">sensorsAB</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
-<div class="block">Create a stream containing two aggregates from two bursty
- sensors A and B that only produces output when the sensors
- (independently) are having a burst period out of their normal range.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SensorsAggregates--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SensorsAggregates</h4>
-<pre>public&nbsp;SensorsAggregates()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<div class="block">Run a topology with two bursty sensors printing them to standard out.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>args</code> - command arguments</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - on failure</dd>
-</dl>
-</li>
-</ul>
-<a name="sensorsAB-org.apache.edgent.topology.Topology-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>sensorsAB</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;sensorsAB(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</pre>
-<div class="block">Create a stream containing two aggregates from two bursty
- sensors A and B that only produces output when the sensors
- (independently) are having a burst period out of their normal range.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>topology</code> - Topology to add the sub-graph to.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Stream containing two aggregates from two bursty
- sensors A and B</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SensorsAggregates.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/SensorsAggregates.html" target="_top">Frames</a></li>
-<li><a href="SensorsAggregates.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/SimpleFilterTransform.html b/site/javadoc/latest/org/apache/edgent/samples/topology/SimpleFilterTransform.html
deleted file mode 100644
index 04e693b..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/SimpleFilterTransform.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>SimpleFilterTransform (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimpleFilterTransform (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleFilterTransform.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/SimpleFilterTransform.html" target="_top">Frames</a></li>
-<li><a href="SimpleFilterTransform.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Class SimpleFilterTransform" class="title">Class SimpleFilterTransform</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.SimpleFilterTransform</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimpleFilterTransform</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SimpleFilterTransform.html#SimpleFilterTransform--">SimpleFilterTransform</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SimpleFilterTransform.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SimpleFilterTransform--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SimpleFilterTransform</h4>
-<pre>public&nbsp;SimpleFilterTransform()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleFilterTransform.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/SimpleFilterTransform.html" target="_top">Frames</a></li>
-<li><a href="SimpleFilterTransform.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html b/site/javadoc/latest/org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html
deleted file mode 100644
index d5957e4..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html
+++ /dev/null
@@ -1,407 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>SplitWithEnumSample.LogSeverityEnum (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SplitWithEnumSample.LogSeverityEnum (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SplitWithEnumSample.LogSeverityEnum.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" target="_top">Frames</a></li>
-<li><a href="SplitWithEnumSample.LogSeverityEnum.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Enum SplitWithEnumSample.LogSeverityEnum" class="title">Enum SplitWithEnumSample.LogSeverityEnum</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>java.lang.Enum&lt;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a>&gt;</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.SplitWithEnumSample.LogSeverityEnum</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a>&gt;</dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology">SplitWithEnumSample</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public static enum <span class="typeNameLabel">SplitWithEnumSample.LogSeverityEnum</span>
-extends java.lang.Enum&lt;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a>&gt;</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== ENUM CONSTANT SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.summary">
-<!--   -->
-</a>
-<h3>Enum Constant Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
-<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Enum Constant and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#ALERT">ALERT</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#CRITICAL">CRITICAL</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#DEBUG">DEBUG</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#ERROR">ERROR</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#INFO">INFO</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#NOTICE">NOTICE</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#WARNING">WARNING</a></span></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ ENUM CONSTANT DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.detail">
-<!--   -->
-</a>
-<h3>Enum Constant Detail</h3>
-<a name="ALERT">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ALERT</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a> ALERT</pre>
-</li>
-</ul>
-<a name="CRITICAL">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>CRITICAL</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a> CRITICAL</pre>
-</li>
-</ul>
-<a name="ERROR">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ERROR</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a> ERROR</pre>
-</li>
-</ul>
-<a name="WARNING">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>WARNING</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a> WARNING</pre>
-</li>
-</ul>
-<a name="NOTICE">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>NOTICE</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a> NOTICE</pre>
-</li>
-</ul>
-<a name="INFO">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>INFO</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a> INFO</pre>
-</li>
-</ul>
-<a name="DEBUG">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>DEBUG</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a> DEBUG</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="values--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a>[]&nbsp;values()</pre>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.  This method may be used to iterate
-over the constants as follows:
-<pre>
-for (SplitWithEnumSample.LogSeverityEnum c : SplitWithEnumSample.LogSeverityEnum.values())
-&nbsp;   System.out.println(c);
-</pre></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an array containing the constants of this enum type, in the order they are declared</dd>
-</dl>
-</li>
-</ul>
-<a name="valueOf-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
-<div class="block">Returns the enum constant of this type with the specified name.
-The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type.  (Extraneous whitespace characters are 
-not permitted.)</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>name</code> - the name of the enum constant to be returned.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the enum constant with the specified name</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SplitWithEnumSample.LogSeverityEnum.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" target="_top">Frames</a></li>
-<li><a href="SplitWithEnumSample.LogSeverityEnum.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
-<li>Field&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; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/SplitWithEnumSample.html b/site/javadoc/latest/org/apache/edgent/samples/topology/SplitWithEnumSample.html
deleted file mode 100644
index b8413c0..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/SplitWithEnumSample.html
+++ /dev/null
@@ -1,297 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>SplitWithEnumSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SplitWithEnumSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SplitWithEnumSample.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/SplitWithEnumSample.html" target="_top">Frames</a></li>
-<li><a href="SplitWithEnumSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Class SplitWithEnumSample" class="title">Class SplitWithEnumSample</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.SplitWithEnumSample</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SplitWithEnumSample</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
-<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a></span></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.html#SplitWithEnumSample--">SplitWithEnumSample</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SplitWithEnumSample--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SplitWithEnumSample</h4>
-<pre>public&nbsp;SplitWithEnumSample()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SplitWithEnumSample.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/SplitWithEnumSample.html" target="_top">Frames</a></li>
-<li><a href="SplitWithEnumSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/StreamTags.html b/site/javadoc/latest/org/apache/edgent/samples/topology/StreamTags.html
deleted file mode 100644
index 0be16fb..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/StreamTags.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>StreamTags (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamTags (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/StreamTags.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/StreamTags.html" target="_top">Frames</a></li>
-<li><a href="StreamTags.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.topology</div>
-<h2 title="Class StreamTags" class="title">Class StreamTags</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.StreamTags</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">StreamTags</span>
-extends java.lang.Object</pre>
-<div class="block">Illustrates tagging TStreams with string labels.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/StreamTags.html#StreamTags--">StreamTags</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/StreamTags.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="StreamTags--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>StreamTags</h4>
-<pre>public&nbsp;StreamTags()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/StreamTags.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/StreamTags.html" target="_top">Frames</a></li>
-<li><a href="StreamTags.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/TerminateAfterNTuples.html b/site/javadoc/latest/org/apache/edgent/samples/topology/TerminateAfterNTuples.html
deleted file mode 100644
index 85f2471..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/TerminateAfterNTuples.html
+++ /dev/null
@@ -1,325 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>TerminateAfterNTuples (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TerminateAfterNTuples (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/TerminateAfterNTuples.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/TerminateAfterNTuples.html" target="_top">Frames</a></li>
-<li><a href="TerminateAfterNTuples.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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">org.apache.edgent.samples.topology</div>
-<h2 title="Class TerminateAfterNTuples" class="title">Class TerminateAfterNTuples</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.topology.TerminateAfterNTuples</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">TerminateAfterNTuples</span>
-extends java.lang.Object</pre>
-<div class="block">This application simulates a crash and terminates the JVM after processing
- a preset number of tuples. This application is used in conjunction with a 
- monitoring script to demonstrate the restart of a JVM which has terminated
- because of an Edgent application crash.</div>
-</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="memberSummary" 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><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/TerminateAfterNTuples.html#TERMINATE_COUNT">TERMINATE_COUNT</a></span></code>
-<div class="block">The application will terminate the JVM after this tuple count</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/TerminateAfterNTuples.html#TerminateAfterNTuples--">TerminateAfterNTuples</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/TerminateAfterNTuples.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="TERMINATE_COUNT">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TERMINATE_COUNT</h4>
-<pre>public static final&nbsp;int TERMINATE_COUNT</pre>
-<div class="block">The application will terminate the JVM after this tuple count</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../constant-values.html#org.apache.edgent.samples.topology.TerminateAfterNTuples.TERMINATE_COUNT">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="TerminateAfterNTuples--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TerminateAfterNTuples</h4>
-<pre>public&nbsp;TerminateAfterNTuples()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/TerminateAfterNTuples.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/TerminateAfterNTuples.html" target="_top">Frames</a></li>
-<li><a href="TerminateAfterNTuples.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/CombiningStreamsProcessingResults.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/CombiningStreamsProcessingResults.html
deleted file mode 100644
index 50ba9ac..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/CombiningStreamsProcessingResults.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.CombiningStreamsProcessingResults (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.CombiningStreamsProcessingResults (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/CombiningStreamsProcessingResults.html" target="_top">Frames</a></li>
-<li><a href="CombiningStreamsProcessingResults.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.CombiningStreamsProcessingResults" class="title">Uses of Class<br>org.apache.edgent.samples.topology.CombiningStreamsProcessingResults</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.CombiningStreamsProcessingResults</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/CombiningStreamsProcessingResults.html" target="_top">Frames</a></li>
-<li><a href="CombiningStreamsProcessingResults.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/DevelopmentMetricsSample.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/DevelopmentMetricsSample.html
deleted file mode 100644
index d0d0265..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/DevelopmentMetricsSample.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.DevelopmentMetricsSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.DevelopmentMetricsSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/DevelopmentMetricsSample.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentMetricsSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.DevelopmentMetricsSample" class="title">Uses of Class<br>org.apache.edgent.samples.topology.DevelopmentMetricsSample</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.DevelopmentMetricsSample</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/DevelopmentMetricsSample.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentMetricsSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/DevelopmentSample.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/DevelopmentSample.html
deleted file mode 100644
index c4db2b7..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/DevelopmentSample.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.DevelopmentSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.DevelopmentSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/DevelopmentSample.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.DevelopmentSample" class="title">Uses of Class<br>org.apache.edgent.samples.topology.DevelopmentSample</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.DevelopmentSample</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/DevelopmentSample.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/DevelopmentSampleJobMXBean.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/DevelopmentSampleJobMXBean.html
deleted file mode 100644
index 57ea72b..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/DevelopmentSampleJobMXBean.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.DevelopmentSampleJobMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.DevelopmentSampleJobMXBean (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/DevelopmentSampleJobMXBean.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentSampleJobMXBean.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.DevelopmentSampleJobMXBean" class="title">Uses of Class<br>org.apache.edgent.samples.topology.DevelopmentSampleJobMXBean</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.DevelopmentSampleJobMXBean</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/DevelopmentSampleJobMXBean.html" target="_top">Frames</a></li>
-<li><a href="DevelopmentSampleJobMXBean.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/HelloEdgent.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/HelloEdgent.html
deleted file mode 100644
index f1a5bd1..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/HelloEdgent.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.HelloEdgent (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.HelloEdgent (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/HelloEdgent.html" target="_top">Frames</a></li>
-<li><a href="HelloEdgent.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.HelloEdgent" class="title">Uses of Class<br>org.apache.edgent.samples.topology.HelloEdgent</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.HelloEdgent</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/HelloEdgent.html" target="_top">Frames</a></li>
-<li><a href="HelloEdgent.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/JobEventsSample.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/JobEventsSample.html
deleted file mode 100644
index 86a064e..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/JobEventsSample.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.JobEventsSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.JobEventsSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/JobEventsSample.html" target="_top">Frames</a></li>
-<li><a href="JobEventsSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.JobEventsSample" class="title">Uses of Class<br>org.apache.edgent.samples.topology.JobEventsSample</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.JobEventsSample</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/JobEventsSample.html" target="_top">Frames</a></li>
-<li><a href="JobEventsSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/JobExecution.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/JobExecution.html
deleted file mode 100644
index 940957c..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/JobExecution.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.JobExecution (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.JobExecution (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/JobExecution.html" target="_top">Frames</a></li>
-<li><a href="JobExecution.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.JobExecution" class="title">Uses of Class<br>org.apache.edgent.samples.topology.JobExecution</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.JobExecution</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/JobExecution.html" target="_top">Frames</a></li>
-<li><a href="JobExecution.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/PeriodicSource.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/PeriodicSource.html
deleted file mode 100644
index 48b4e60..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/PeriodicSource.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.PeriodicSource (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.PeriodicSource (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/PeriodicSource.html" target="_top">Frames</a></li>
-<li><a href="PeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.PeriodicSource" class="title">Uses of Class<br>org.apache.edgent.samples.topology.PeriodicSource</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.PeriodicSource</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/PeriodicSource.html" target="_top">Frames</a></li>
-<li><a href="PeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SensorsAggregates.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SensorsAggregates.html
deleted file mode 100644
index 9a7f024..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SensorsAggregates.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.SensorsAggregates (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.SensorsAggregates (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/SensorsAggregates.html" target="_top">Frames</a></li>
-<li><a href="SensorsAggregates.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.SensorsAggregates" class="title">Uses of Class<br>org.apache.edgent.samples.topology.SensorsAggregates</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.SensorsAggregates</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/SensorsAggregates.html" target="_top">Frames</a></li>
-<li><a href="SensorsAggregates.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SimpleFilterTransform.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SimpleFilterTransform.html
deleted file mode 100644
index 68e2186..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SimpleFilterTransform.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.SimpleFilterTransform (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.SimpleFilterTransform (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/SimpleFilterTransform.html" target="_top">Frames</a></li>
-<li><a href="SimpleFilterTransform.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.SimpleFilterTransform" class="title">Uses of Class<br>org.apache.edgent.samples.topology.SimpleFilterTransform</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.SimpleFilterTransform</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/SimpleFilterTransform.html" target="_top">Frames</a></li>
-<li><a href="SimpleFilterTransform.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SplitWithEnumSample.LogSeverityEnum.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SplitWithEnumSample.LogSeverityEnum.html
deleted file mode 100644
index a42e955..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SplitWithEnumSample.LogSeverityEnum.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.SplitWithEnumSample.LogSeverityEnum (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.SplitWithEnumSample.LogSeverityEnum (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/SplitWithEnumSample.LogSeverityEnum.html" target="_top">Frames</a></li>
-<li><a href="SplitWithEnumSample.LogSeverityEnum.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.SplitWithEnumSample.LogSeverityEnum" class="title">Uses of Class<br>org.apache.edgent.samples.topology.SplitWithEnumSample.LogSeverityEnum</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.topology">org.apache.edgent.samples.topology</a></td>
-<td class="colLast">
-<div class="block">Samples showing creating and executing basic topologies .</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.topology">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a> in <a href="../../../../../../org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a> that return <a href="../../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</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="../../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SplitWithEnumSample.LogSeverityEnum.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">SplitWithEnumSample.LogSeverityEnum.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/SplitWithEnumSample.LogSeverityEnum.html" target="_top">Frames</a></li>
-<li><a href="SplitWithEnumSample.LogSeverityEnum.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SplitWithEnumSample.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SplitWithEnumSample.html
deleted file mode 100644
index 7886cf5..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/SplitWithEnumSample.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.SplitWithEnumSample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.SplitWithEnumSample (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/SplitWithEnumSample.html" target="_top">Frames</a></li>
-<li><a href="SplitWithEnumSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.SplitWithEnumSample" class="title">Uses of Class<br>org.apache.edgent.samples.topology.SplitWithEnumSample</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.SplitWithEnumSample</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/SplitWithEnumSample.html" target="_top">Frames</a></li>
-<li><a href="SplitWithEnumSample.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/StreamTags.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/StreamTags.html
deleted file mode 100644
index f1a07d7..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/StreamTags.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.StreamTags (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.StreamTags (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/StreamTags.html" target="_top">Frames</a></li>
-<li><a href="StreamTags.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.StreamTags" class="title">Uses of Class<br>org.apache.edgent.samples.topology.StreamTags</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.StreamTags</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/StreamTags.html" target="_top">Frames</a></li>
-<li><a href="StreamTags.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/TerminateAfterNTuples.html b/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/TerminateAfterNTuples.html
deleted file mode 100644
index 4e66201..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/class-use/TerminateAfterNTuples.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.topology.TerminateAfterNTuples (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.topology.TerminateAfterNTuples (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/TerminateAfterNTuples.html" target="_top">Frames</a></li>
-<li><a href="TerminateAfterNTuples.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.topology.TerminateAfterNTuples" class="title">Uses of Class<br>org.apache.edgent.samples.topology.TerminateAfterNTuples</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.topology.TerminateAfterNTuples</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/topology/class-use/TerminateAfterNTuples.html" target="_top">Frames</a></li>
-<li><a href="TerminateAfterNTuples.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/topology/package-frame.html
deleted file mode 100644
index ec76a20..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/package-frame.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.topology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../org/apache/edgent/samples/topology/package-summary.html" target="classFrame">org.apache.edgent.samples.topology</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology" target="classFrame">CombiningStreamsProcessingResults</a></li>
-<li><a href="DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology" target="classFrame">DevelopmentMetricsSample</a></li>
-<li><a href="DevelopmentSample.html" title="class in org.apache.edgent.samples.topology" target="classFrame">DevelopmentSample</a></li>
-<li><a href="DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology" target="classFrame">DevelopmentSampleJobMXBean</a></li>
-<li><a href="HelloEdgent.html" title="class in org.apache.edgent.samples.topology" target="classFrame">HelloEdgent</a></li>
-<li><a href="JobEventsSample.html" title="class in org.apache.edgent.samples.topology" target="classFrame">JobEventsSample</a></li>
-<li><a href="JobExecution.html" title="class in org.apache.edgent.samples.topology" target="classFrame">JobExecution</a></li>
-<li><a href="PeriodicSource.html" title="class in org.apache.edgent.samples.topology" target="classFrame">PeriodicSource</a></li>
-<li><a href="SensorsAggregates.html" title="class in org.apache.edgent.samples.topology" target="classFrame">SensorsAggregates</a></li>
-<li><a href="SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology" target="classFrame">SimpleFilterTransform</a></li>
-<li><a href="SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology" target="classFrame">SplitWithEnumSample</a></li>
-<li><a href="StreamTags.html" title="class in org.apache.edgent.samples.topology" target="classFrame">StreamTags</a></li>
-<li><a href="TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology" target="classFrame">TerminateAfterNTuples</a></li>
-</ul>
-<h2 title="Enums">Enums</h2>
-<ul title="Enums">
-<li><a href="SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology" target="classFrame">SplitWithEnumSample.LogSeverityEnum</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/topology/package-summary.html
deleted file mode 100644
index ec0250d..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/package-summary.html
+++ /dev/null
@@ -1,234 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.topology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.topology (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/scenarios/iotp/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/utils/metrics/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.topology</h1>
-<div class="docSummary">
-<div class="block">Samples showing creating and executing basic topologies .</div>
-</div>
-<p>See:&nbsp;<a href="#package.description">Description</a></p>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology">CombiningStreamsProcessingResults</a></td>
-<td class="colLast">
-<div class="block">Applying different processing against a set of streams and combining the
- resulting streams into a single stream.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology">DevelopmentMetricsSample</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology">DevelopmentSample</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology">DevelopmentSampleJobMXBean</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology">HelloEdgent</a></td>
-<td class="colLast">
-<div class="block">Hello Edgent Topology sample.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology">JobEventsSample</a></td>
-<td class="colLast">
-<div class="block">Demonstrates job monitoring using the <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a> service.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology">JobExecution</a></td>
-<td class="colLast">
-<div class="block">Using the Job API to get/set a job's state.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology">PeriodicSource</a></td>
-<td class="colLast">
-<div class="block">Periodic polling of source data.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology">SensorsAggregates</a></td>
-<td class="colLast">
-<div class="block">Aggregation of sensor readings.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology">SimpleFilterTransform</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology">SplitWithEnumSample</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology">StreamTags</a></td>
-<td class="colLast">
-<div class="block">Illustrates tagging TStreams with string labels.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology">TerminateAfterNTuples</a></td>
-<td class="colLast">
-<div class="block">This application simulates a crash and terminates the JVM after processing
- a preset number of tuples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
-<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Enum</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-<a name="package.description">
-<!--   -->
-</a>
-<h2 title="Package org.apache.edgent.samples.topology Description">Package org.apache.edgent.samples.topology Description</h2>
-<div class="block">Samples showing creating and executing basic topologies .</div>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/scenarios/iotp/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/utils/metrics/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/topology/package-tree.html
deleted file mode 100644
index 523b8a8..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/package-tree.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.topology Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.topology Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/scenarios/iotp/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/utils/metrics/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.topology</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">CombiningStreamsProcessingResults</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">DevelopmentMetricsSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">DevelopmentSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">DevelopmentSampleJobMXBean</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">HelloEdgent</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">JobEventsSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">JobExecution</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">PeriodicSource</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">SensorsAggregates</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">SimpleFilterTransform</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">SplitWithEnumSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">StreamTags</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">TerminateAfterNTuples</span></a></li>
-</ul>
-</li>
-</ul>
-<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
-<ul>
-<li type="circle">org.apache.edgent.samples.topology.<a href="../../../../../org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology"><span class="typeNameLink">SplitWithEnumSample.LogSeverityEnum</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/samples/scenarios/iotp/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/samples/utils/metrics/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/topology/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/topology/package-use.html
deleted file mode 100644
index 3a54d4c..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/topology/package-use.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.topology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.topology (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.topology" class="title">Uses of Package<br>org.apache.edgent.samples.topology</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.topology">org.apache.edgent.samples.topology</a></td>
-<td class="colLast">
-<div class="block">Samples showing creating and executing basic topologies .</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.topology">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a> used by <a href="../../../../../org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/samples/topology/class-use/SplitWithEnumSample.LogSeverityEnum.html#org.apache.edgent.samples.topology">SplitWithEnumSample.LogSeverityEnum</a>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/samples/topology/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html b/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html
deleted file mode 100644
index 555bcdb..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>PeriodicSourceWithMetrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PeriodicSourceWithMetrics (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PeriodicSourceWithMetrics.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" target="_top">Frames</a></li>
-<li><a href="PeriodicSourceWithMetrics.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.utils.metrics</div>
-<h2 title="Class PeriodicSourceWithMetrics" class="title">Class PeriodicSourceWithMetrics</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.utils.metrics.PeriodicSourceWithMetrics</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">PeriodicSourceWithMetrics</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html#PeriodicSourceWithMetrics--">PeriodicSourceWithMetrics</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="PeriodicSourceWithMetrics--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>PeriodicSourceWithMetrics</h4>
-<pre>public&nbsp;PeriodicSourceWithMetrics()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.InterruptedException</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.InterruptedException</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PeriodicSourceWithMetrics.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" target="_top">Frames</a></li>
-<li><a href="PeriodicSourceWithMetrics.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html b/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html
deleted file mode 100644
index 6417a5e..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>SplitWithMetrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SplitWithMetrics (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SplitWithMetrics.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" target="_top">Frames</a></li>
-<li><a href="SplitWithMetrics.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.utils.metrics</div>
-<h2 title="Class SplitWithMetrics" class="title">Class SplitWithMetrics</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.utils.metrics.SplitWithMetrics</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SplitWithMetrics</span>
-extends java.lang.Object</pre>
-<div class="block">Instruments a topology with a tuple counter on a specified stream.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html#SplitWithMetrics--">SplitWithMetrics</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SplitWithMetrics--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SplitWithMetrics</h4>
-<pre>public&nbsp;SplitWithMetrics()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SplitWithMetrics.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" target="_top">Frames</a></li>
-<li><a href="SplitWithMetrics.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/class-use/PeriodicSourceWithMetrics.html b/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/class-use/PeriodicSourceWithMetrics.html
deleted file mode 100644
index ecc860f..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/class-use/PeriodicSourceWithMetrics.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.utils.metrics.PeriodicSourceWithMetrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.utils.metrics.PeriodicSourceWithMetrics (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/metrics/class-use/PeriodicSourceWithMetrics.html" target="_top">Frames</a></li>
-<li><a href="PeriodicSourceWithMetrics.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.utils.metrics.PeriodicSourceWithMetrics" class="title">Uses of Class<br>org.apache.edgent.samples.utils.metrics.PeriodicSourceWithMetrics</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.utils.metrics.PeriodicSourceWithMetrics</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/metrics/class-use/PeriodicSourceWithMetrics.html" target="_top">Frames</a></li>
-<li><a href="PeriodicSourceWithMetrics.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/class-use/SplitWithMetrics.html b/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/class-use/SplitWithMetrics.html
deleted file mode 100644
index 560d176..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/class-use/SplitWithMetrics.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.utils.metrics.SplitWithMetrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.utils.metrics.SplitWithMetrics (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/metrics/class-use/SplitWithMetrics.html" target="_top">Frames</a></li>
-<li><a href="SplitWithMetrics.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.utils.metrics.SplitWithMetrics" class="title">Uses of Class<br>org.apache.edgent.samples.utils.metrics.SplitWithMetrics</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.utils.metrics.SplitWithMetrics</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/metrics/class-use/SplitWithMetrics.html" target="_top">Frames</a></li>
-<li><a href="SplitWithMetrics.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-frame.html
deleted file mode 100644
index 41bc183..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-frame.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.utils.metrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/utils/metrics/package-summary.html" target="classFrame">org.apache.edgent.samples.utils.metrics</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics" target="classFrame">PeriodicSourceWithMetrics</a></li>
-<li><a href="SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics" target="classFrame">SplitWithMetrics</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-summary.html
deleted file mode 100644
index 642aea4..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-summary.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.utils.metrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.utils.metrics (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/topology/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/metrics/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.utils.metrics</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">PeriodicSourceWithMetrics</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics">SplitWithMetrics</a></td>
-<td class="colLast">
-<div class="block">Instruments a topology with a tuple counter on a specified stream.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/topology/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/metrics/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-tree.html
deleted file mode 100644
index 9fb149a..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-tree.html
+++ /dev/null
@@ -1,140 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.utils.metrics Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.utils.metrics Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/topology/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/metrics/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.utils.metrics</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.utils.metrics.<a href="../../../../../../org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics"><span class="typeNameLink">PeriodicSourceWithMetrics</span></a></li>
-<li type="circle">org.apache.edgent.samples.utils.metrics.<a href="../../../../../../org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics"><span class="typeNameLink">SplitWithMetrics</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/topology/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/metrics/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-use.html
deleted file mode 100644
index 5a644a1..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/metrics/package-use.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.utils.metrics (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.utils.metrics (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/metrics/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.utils.metrics" class="title">Uses of Package<br>org.apache.edgent.samples.utils.metrics</h1>
-</div>
-<div class="contentContainer">No usage of org.apache.edgent.samples.utils.metrics</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/metrics/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html
deleted file mode 100644
index f0d65e8..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html
+++ /dev/null
@@ -1,343 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>HeartMonitorSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HeartMonitorSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HeartMonitorSensor.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" target="_top">Frames</a></li>
-<li><a href="HeartMonitorSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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">org.apache.edgent.samples.utils.sensor</div>
-<h2 title="Class HeartMonitorSensor" class="title">Class HeartMonitorSensor</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.utils.sensor.HeartMonitorSensor</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.Map&lt;java.lang.String,java.lang.Integer&gt;&gt;</dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">HeartMonitorSensor</span>
-extends java.lang.Object
-implements <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.Map&lt;java.lang.String,java.lang.Integer&gt;&gt;</pre>
-<div class="block">Streams of simulated heart monitor sensors.</div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.edgent.samples.utils.sensor.HeartMonitorSensor">Serialized Form</a></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="memberSummary" 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>java.lang.Integer</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html#currentDiastolic">currentDiastolic</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>java.lang.Integer</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html#currentSystolic">currentSystolic</a></span></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html#HeartMonitorSensor--">HeartMonitorSensor</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.util.Map&lt;java.lang.String,java.lang.Integer&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html#get--">get</a></span>()</code>
-<div class="block">Every call to this method returns a map containing a random systolic
- pressure and a random diastolic pressure.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="currentSystolic">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>currentSystolic</h4>
-<pre>public&nbsp;java.lang.Integer currentSystolic</pre>
-</li>
-</ul>
-<a name="currentDiastolic">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>currentDiastolic</h4>
-<pre>public&nbsp;java.lang.Integer currentDiastolic</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="HeartMonitorSensor--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>HeartMonitorSensor</h4>
-<pre>public&nbsp;HeartMonitorSensor()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="get--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>get</h4>
-<pre>public&nbsp;java.util.Map&lt;java.lang.String,java.lang.Integer&gt;&nbsp;get()</pre>
-<div class="block">Every call to this method returns a map containing a random systolic
- pressure and a random diastolic pressure.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.Map&lt;java.lang.String,java.lang.Integer&gt;&gt;</code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Value supplied by this function.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HeartMonitorSensor.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" target="_top">Frames</a></li>
-<li><a href="HeartMonitorSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html
deleted file mode 100644
index 564f058..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html
+++ /dev/null
@@ -1,522 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>PeriodicRandomSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PeriodicRandomSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PeriodicRandomSensor.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" target="_top">Frames</a></li>
-<li><a href="PeriodicRandomSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.utils.sensor</div>
-<h2 title="Class PeriodicRandomSensor" class="title">Class PeriodicRandomSensor</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.utils.sensor.PeriodicRandomSensor</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">PeriodicRandomSensor</span>
-extends java.lang.Object</pre>
-<div class="block">A factory of simple periodic random sensor reading streams.
- <p>
- The generated <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><code>TStream</code></a> has a <code>org.apache.commons.math3.utils.Pair</code>
- tuple type where <code>Pair.getFirst()</code> the reading's msecTimestamp
- and <code>Pair.getSecond()</code> is the sensor value reading.
- <p>
- The sensor reading values are randomly generated via <code>Random</code>
- and have the value distributions, as defined by <code>Random</code>.
- <p>
- Each stream has its own <code>Random</code> object instance.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#PeriodicRandomSensor--">PeriodicRandomSensor</a></span>()</code>
-<div class="block">Create a new random periodic sensor factory configured
- to use <code>Random.Random()</code>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#PeriodicRandomSensor-long-">PeriodicRandomSensor</a></span>(long&nbsp;seed)</code>
-<div class="block">Create a new random periodic sensor factory configured
- to use <code>Random.Random(long)</code>.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Boolean&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newBoolean-org.apache.edgent.topology.Topology-long-">newBoolean</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-          long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextBoolean()</code>.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,byte[]&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newBytes-org.apache.edgent.topology.Topology-long-int-">newBytes</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-        long&nbsp;periodMsec,
-        int&nbsp;nBytes)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextBytes(byte[])</code>.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Double&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newDouble-org.apache.edgent.topology.Topology-long-">newDouble</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-         long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextDouble()</code>.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Float&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newFloat-org.apache.edgent.topology.Topology-long-">newFloat</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-        long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextFloat()</code>.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Double&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newGaussian-org.apache.edgent.topology.Topology-long-">newGaussian</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-           long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextGaussian()</code>.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Integer&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newInteger-org.apache.edgent.topology.Topology-long-">newInteger</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-          long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextInt()</code>.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Integer&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newInteger-org.apache.edgent.topology.Topology-long-int-">newInteger</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-          long&nbsp;periodMsec,
-          int&nbsp;bound)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextInt(int)</code>.</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Long&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newLong-org.apache.edgent.topology.Topology-long-">newLong</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-       long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextLong()</code>.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#setSeed-long-">setSeed</a></span>(long&nbsp;seed)</code>
-<div class="block">Set the seed to be used by subsequently created sensor streams.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="PeriodicRandomSensor--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>PeriodicRandomSensor</h4>
-<pre>public&nbsp;PeriodicRandomSensor()</pre>
-<div class="block">Create a new random periodic sensor factory configured
- to use <code>Random.Random()</code>.</div>
-</li>
-</ul>
-<a name="PeriodicRandomSensor-long-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>PeriodicRandomSensor</h4>
-<pre>public&nbsp;PeriodicRandomSensor(long&nbsp;seed)</pre>
-<div class="block">Create a new random periodic sensor factory configured
- to use <code>Random.Random(long)</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>seed</code> - seed to use when creating new sensor streams.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="setSeed-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setSeed</h4>
-<pre>public&nbsp;void&nbsp;setSeed(long&nbsp;seed)</pre>
-<div class="block">Set the seed to be used by subsequently created sensor streams.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>seed</code> - the seed value</dd>
-</dl>
-</li>
-</ul>
-<a name="newGaussian-org.apache.edgent.topology.Topology-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newGaussian</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Double&gt;&gt;&nbsp;newGaussian(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                                                                                                long&nbsp;periodMsec)</pre>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextGaussian()</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - the topology to add the sensor stream to</dd>
-<dd><code>periodMsec</code> - how frequently to generate a reading</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the sensor value stream</dd>
-</dl>
-</li>
-</ul>
-<a name="newDouble-org.apache.edgent.topology.Topology-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newDouble</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Double&gt;&gt;&nbsp;newDouble(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                                                                                              long&nbsp;periodMsec)</pre>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextDouble()</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - the topology to add the sensor stream to</dd>
-<dd><code>periodMsec</code> - how frequently to generate a reading</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the sensor value stream</dd>
-</dl>
-</li>
-</ul>
-<a name="newFloat-org.apache.edgent.topology.Topology-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newFloat</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Float&gt;&gt;&nbsp;newFloat(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                                                                                            long&nbsp;periodMsec)</pre>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextFloat()</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - the topology to add the sensor stream to</dd>
-<dd><code>periodMsec</code> - how frequently to generate a reading</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the sensor value stream</dd>
-</dl>
-</li>
-</ul>
-<a name="newLong-org.apache.edgent.topology.Topology-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newLong</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Long&gt;&gt;&nbsp;newLong(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                                                                                          long&nbsp;periodMsec)</pre>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextLong()</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - the topology to add the sensor stream to</dd>
-<dd><code>periodMsec</code> - how frequently to generate a reading</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the sensor value stream</dd>
-</dl>
-</li>
-</ul>
-<a name="newInteger-org.apache.edgent.topology.Topology-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newInteger</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Integer&gt;&gt;&nbsp;newInteger(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                                                                                                long&nbsp;periodMsec)</pre>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextInt()</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - the topology to add the sensor stream to</dd>
-<dd><code>periodMsec</code> - how frequently to generate a reading</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the sensor value stream</dd>
-</dl>
-</li>
-</ul>
-<a name="newInteger-org.apache.edgent.topology.Topology-long-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newInteger</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Integer&gt;&gt;&nbsp;newInteger(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                                                                                                long&nbsp;periodMsec,
-                                                                                                int&nbsp;bound)</pre>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextInt(int)</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - the topology to add the sensor stream to</dd>
-<dd><code>periodMsec</code> - how frequently to generate a reading</dd>
-<dd><code>bound</code> - the upper bound (exclusive). Must be positive.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the sensor value stream</dd>
-</dl>
-</li>
-</ul>
-<a name="newBoolean-org.apache.edgent.topology.Topology-long-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>newBoolean</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Boolean&gt;&gt;&nbsp;newBoolean(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                                                                                                long&nbsp;periodMsec)</pre>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextBoolean()</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - the topology to add the sensor stream to</dd>
-<dd><code>periodMsec</code> - how frequently to generate a reading</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the sensor value stream</dd>
-</dl>
-</li>
-</ul>
-<a name="newBytes-org.apache.edgent.topology.Topology-long-int-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>newBytes</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,byte[]&gt;&gt;&nbsp;newBytes(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                                                                                   long&nbsp;periodMsec,
-                                                                                   int&nbsp;nBytes)</pre>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextBytes(byte[])</code>.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - the topology to add the sensor stream to</dd>
-<dd><code>periodMsec</code> - how frequently to generate a reading</dd>
-<dd><code>nBytes</code> - the number of bytes in each reading tuple</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the sensor value stream</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/PeriodicRandomSensor.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" target="_top">Frames</a></li>
-<li><a href="PeriodicRandomSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html
deleted file mode 100644
index 9b37bfa..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html
+++ /dev/null
@@ -1,480 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>SimpleSimulatedSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimpleSimulatedSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleSimulatedSensor.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" target="_top">Frames</a></li>
-<li><a href="SimpleSimulatedSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.utils.sensor</div>
-<h2 title="Class SimpleSimulatedSensor" class="title">Class SimpleSimulatedSensor</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.utils.sensor.SimpleSimulatedSensor</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Double&gt;</dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimpleSimulatedSensor</span>
-extends java.lang.Object
-implements <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Double&gt;</pre>
-<div class="block">A simple simulated sensor.
- <p>
- The sensor starts off with an initial value.
- Each call to <a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#get--"><code>get()</code></a> changes the current value by
- a random amount between plus/minus <code>deltaFactor</code>.
- The new current value is limited to a <code>range</code>
- and then rounded to 1 fractional digit. 
- See <a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#setNumberFractionalDigits-int-"><code>setNumberFractionalDigits(int)</code></a>.
- </p><p>
- Sample use:
- <pre><code>
- Topology t = ...;
- // a miles-per-gallon sensor
- SimpleSimulatedSensor avgMpgSensor = new SimpleSimulatedSensor(10.5, 0.4,
-                                          Ranges&lt;Double&gt;.closed(7.0,14.0));
- TStream&lt;Double&gt; avgMpg = t.poll(avgMpgSensor, 1, TimeUnit.SECONDS);
- 
- // an integer valued sensor
- SimpleSimulatedSensor doubleSensor = new SimpleSimulatedSensor();
- TStream&lt;Integer&gt; intSensor = t.poll(() -&gt; doubleSensor.get().intValue(),
-                                          1, TimeUnit.SECONDS);
- </code></pre></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../serialized-form.html#org.apache.edgent.samples.utils.sensor.SimpleSimulatedSensor">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#SimpleSimulatedSensor--">SimpleSimulatedSensor</a></span>()</code>
-<div class="block">Create a sensor.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#SimpleSimulatedSensor-double-">SimpleSimulatedSensor</a></span>(double&nbsp;initialValue)</code>
-<div class="block">Create a sensor.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#SimpleSimulatedSensor-double-double-">SimpleSimulatedSensor</a></span>(double&nbsp;initialValue,
-                     double&nbsp;deltaFactor)</code>
-<div class="block">Create a sensor.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#SimpleSimulatedSensor-double-double-org.apache.edgent.analytics.sensors.Range-">SimpleSimulatedSensor</a></span>(double&nbsp;initialValue,
-                     double&nbsp;deltaFactor,
-                     <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;&nbsp;range)</code>
-<div class="block">Create a sensor.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.Double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#get--">get</a></span>()</code>
-<div class="block">Get the next sensor value as described in the class documentation.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#getDeltaFactor--">getDeltaFactor</a></span>()</code>
-<div class="block">Get the deltaFactor setting</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#getNumberFractionalDigits--">getNumberFractionalDigits</a></span>()</code>
-<div class="block">Get the number of fractional digits setting</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#getRange--">getRange</a></span>()</code>
-<div class="block">Get the range setting</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#setNumberFractionalDigits-int-">setNumberFractionalDigits</a></span>(int&nbsp;numFracDigits)</code>
-<div class="block">Set number of fractional digits to round sensor values to.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SimpleSimulatedSensor--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SimpleSimulatedSensor</h4>
-<pre>public&nbsp;SimpleSimulatedSensor()</pre>
-<div class="block">Create a sensor.
- <p>
- Same as <code>SimpleSimulatedSensor(0.0, 1.0, null)</code>;
- </p></div>
-</li>
-</ul>
-<a name="SimpleSimulatedSensor-double-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SimpleSimulatedSensor</h4>
-<pre>public&nbsp;SimpleSimulatedSensor(double&nbsp;initialValue)</pre>
-<div class="block">Create a sensor.
- <p>
- Same as <code>SimpleSimulatedSensor(initialValue, 1.0, null)</code>;
- </p></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>initialValue</code> - the initial value</dd>
-</dl>
-</li>
-</ul>
-<a name="SimpleSimulatedSensor-double-double-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SimpleSimulatedSensor</h4>
-<pre>public&nbsp;SimpleSimulatedSensor(double&nbsp;initialValue,
-                             double&nbsp;deltaFactor)</pre>
-<div class="block">Create a sensor.
- 
- <p>
- Same as <code>SimpleSimulatedSensor(initialValue, deltaFactor, null)</code>;
- </p></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>initialValue</code> - the initial value.</dd>
-<dd><code>deltaFactor</code> - maximum plus/minus change on each <code>get()</code>.
-              e.g., 1.0 to limit change to +/- 1.0.
-              Must be &gt; 0.0</dd>
-</dl>
-</li>
-</ul>
-<a name="SimpleSimulatedSensor-double-double-org.apache.edgent.analytics.sensors.Range-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SimpleSimulatedSensor</h4>
-<pre>public&nbsp;SimpleSimulatedSensor(double&nbsp;initialValue,
-                             double&nbsp;deltaFactor,
-                             <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;&nbsp;range)</pre>
-<div class="block">Create a sensor.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>initialValue</code> - the initial value.  Must be within range.</dd>
-<dd><code>deltaFactor</code> - maximum plus/minus change on each <a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html#get--"><code>get()</code></a>.
-              e.g., 1.0 to limit change to +/- 1.0.
-              Must be &gt; 0.0</dd>
-<dd><code>range</code> - maximum sensor value range. Unlimited if null.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="setNumberFractionalDigits-int-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setNumberFractionalDigits</h4>
-<pre>public&nbsp;void&nbsp;setNumberFractionalDigits(int&nbsp;numFracDigits)</pre>
-<div class="block">Set number of fractional digits to round sensor values to.
- <p>
- This class offers rounding as a convenience and because
- ancestors of this implementation had such a scheme.
- </p></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>numFracDigits</code> - if &lt;= 0, no rounding will be performed</dd>
-</dl>
-</li>
-</ul>
-<a name="getNumberFractionalDigits--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getNumberFractionalDigits</h4>
-<pre>public&nbsp;int&nbsp;getNumberFractionalDigits()</pre>
-<div class="block">Get the number of fractional digits setting</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the value</dd>
-</dl>
-</li>
-</ul>
-<a name="getRange--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRange</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;&nbsp;getRange()</pre>
-<div class="block">Get the range setting</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the value</dd>
-</dl>
-</li>
-</ul>
-<a name="getDeltaFactor--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getDeltaFactor</h4>
-<pre>public&nbsp;double&nbsp;getDeltaFactor()</pre>
-<div class="block">Get the deltaFactor setting</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the value</dd>
-</dl>
-</li>
-</ul>
-<a name="get--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>get</h4>
-<pre>public&nbsp;java.lang.Double&nbsp;get()</pre>
-<div class="block">Get the next sensor value as described in the class documentation.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Double&gt;</code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Value supplied by this function.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimpleSimulatedSensor.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" target="_top">Frames</a></li>
-<li><a href="SimpleSimulatedSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/SimulatedSensors.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/SimulatedSensors.html
deleted file mode 100644
index 5e4fff4..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/SimulatedSensors.html
+++ /dev/null
@@ -1,296 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>SimulatedSensors (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimulatedSensors (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimulatedSensors.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" target="_top">Frames</a></li>
-<li><a href="SimulatedSensors.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.utils.sensor</div>
-<h2 title="Class SimulatedSensors" class="title">Class SimulatedSensors</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.utils.sensor.SimulatedSensors</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimulatedSensors</span>
-extends java.lang.Object</pre>
-<div class="block">Streams of simulated sensors.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html#SimulatedSensors--">SimulatedSensors</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html#burstySensor-org.apache.edgent.topology.Topology-java.lang.String-">burstySensor</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-            java.lang.String&nbsp;name)</code>
-<div class="block">Create a stream of simulated bursty sensor readings.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SimulatedSensors--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SimulatedSensors</h4>
-<pre>public&nbsp;SimulatedSensors()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="burstySensor-org.apache.edgent.topology.Topology-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>burstySensor</h4>
-<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;burstySensor(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-                                                               java.lang.String&nbsp;name)</pre>
-<div class="block">Create a stream of simulated bursty sensor readings.
- 
- Simulation of reading a sensor every 100ms with the readings
- generally falling below 2.0 (absolute) but randomly have
- prolonged bursts of higher values.
- 
- Each tuple is a JSON object containing:
- <UL>
- <LI><code>name</code> - Name of the sensor from <code>name</code>.</LI>
- <LI><code>reading</code> - Value.</LI>
- </UL></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>topology</code> - Topology to be added to.</dd>
-<dd><code>name</code> - Name of the sensor in the JSON output.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Stream containing bursty data.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimulatedSensors.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" target="_top">Frames</a></li>
-<li><a href="SimulatedSensors.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html
deleted file mode 100644
index 89ee54d..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html
+++ /dev/null
@@ -1,390 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>SimulatedTemperatureSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimulatedTemperatureSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimulatedTemperatureSensor.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" target="_top">Frames</a></li>
-<li><a href="SimulatedTemperatureSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.samples.utils.sensor</div>
-<h2 title="Class SimulatedTemperatureSensor" class="title">Class SimulatedTemperatureSensor</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.samples.utils.sensor.SimulatedTemperatureSensor</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Double&gt;</dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimulatedTemperatureSensor</span>
-extends java.lang.Object
-implements <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Double&gt;</pre>
-<div class="block">A Simulated temperature sensor.
- <p>
- The sensor starts off with an initial value.
- Each call to <a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#get--"><code>get()</code></a> changes the current value by
- a random amount between plus/minus a <code>deltaFactor</code>.
- The new current value is limited to a <code>tempRange</code>
- and then rounded to 1 fractional digit.
- </p><p>
- No temperature scale is implied (e.g., Fahrenheit, Kelvin, ...).
- The <code>double</code> temperature values are simply generated as described.
- The user of the class decides how to interpret them.
- </p><p>
- Sample use:
- <pre><code>
- Topology t = ...;
- SimulatedTemperatureSensor tempSensor = new SimulatedTemperatureSensor();
- TStream&lt;Double&gt; temp = t.poll(tempSensor, 1, TimeUnit.SECONDS);
- </code></pre></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><code>SimpleSimulatedSensor</code></a>, 
-<a href="../../../../../../serialized-form.html#org.apache.edgent.samples.utils.sensor.SimulatedTemperatureSensor">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#SimulatedTemperatureSensor--">SimulatedTemperatureSensor</a></span>()</code>
-<div class="block">Create a temperature sensor.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#SimulatedTemperatureSensor-double-org.apache.edgent.analytics.sensors.Range-double-">SimulatedTemperatureSensor</a></span>(double&nbsp;initialTemp,
-                          <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;&nbsp;tempRange,
-                          double&nbsp;deltaFactor)</code>
-<div class="block">Create a temperature sensor.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.Double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#get--">get</a></span>()</code>
-<div class="block">Get the next sensor value.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#getDeltaFactor--">getDeltaFactor</a></span>()</code>
-<div class="block">Get the deltaFactor setting</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html#getTempRange--">getTempRange</a></span>()</code>
-<div class="block">Get the tempRange setting</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SimulatedTemperatureSensor--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SimulatedTemperatureSensor</h4>
-<pre>public&nbsp;SimulatedTemperatureSensor()</pre>
-<div class="block">Create a temperature sensor.
- <p>
- Same as <code>SimulatedTemperatureSensor(80.0, 
-              Ranges.closed(28.0, 112.0), 1.0)</code>
- </p><p>
- These default values roughly correspond to normal air temperature
- in the Fahrenheit scale.
- </p></div>
-</li>
-</ul>
-<a name="SimulatedTemperatureSensor-double-org.apache.edgent.analytics.sensors.Range-double-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SimulatedTemperatureSensor</h4>
-<pre>public&nbsp;SimulatedTemperatureSensor(double&nbsp;initialTemp,
-                                  <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;&nbsp;tempRange,
-                                  double&nbsp;deltaFactor)</pre>
-<div class="block">Create a temperature sensor.
- <p>
- No temperature scale is implied.
- </p></div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>initialTemp</code> - the initial temperature.  Must be within tempRange.</dd>
-<dd><code>tempRange</code> - maximum sensor value range</dd>
-<dd><code>deltaFactor</code> - maximum plus/minus change on each <code>get()</code>.
-              e.g., 1.0 to limit change to +/- 1.0.
-              Must be &gt; 0.0</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getTempRange--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getTempRange</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;java.lang.Double&gt;&nbsp;getTempRange()</pre>
-<div class="block">Get the tempRange setting</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the value</dd>
-</dl>
-</li>
-</ul>
-<a name="getDeltaFactor--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getDeltaFactor</h4>
-<pre>public&nbsp;double&nbsp;getDeltaFactor()</pre>
-<div class="block">Get the deltaFactor setting</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the value</dd>
-</dl>
-</li>
-</ul>
-<a name="get--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>get</h4>
-<pre>public&nbsp;java.lang.Double&nbsp;get()</pre>
-<div class="block">Get the next sensor value.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Double&gt;</code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>Value supplied by this function.</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimulatedTemperatureSensor.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" target="_top">Frames</a></li>
-<li><a href="SimulatedTemperatureSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/HeartMonitorSensor.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/HeartMonitorSensor.html
deleted file mode 100644
index 36059e2..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/HeartMonitorSensor.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.utils.sensor.HeartMonitorSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.utils.sensor.HeartMonitorSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/sensor/class-use/HeartMonitorSensor.html" target="_top">Frames</a></li>
-<li><a href="HeartMonitorSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.utils.sensor.HeartMonitorSensor" class="title">Uses of Class<br>org.apache.edgent.samples.utils.sensor.HeartMonitorSensor</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.utils.sensor.HeartMonitorSensor</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/sensor/class-use/HeartMonitorSensor.html" target="_top">Frames</a></li>
-<li><a href="HeartMonitorSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/PeriodicRandomSensor.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/PeriodicRandomSensor.html
deleted file mode 100644
index 8f82859..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/PeriodicRandomSensor.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.utils.sensor.PeriodicRandomSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.utils.sensor.PeriodicRandomSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/sensor/class-use/PeriodicRandomSensor.html" target="_top">Frames</a></li>
-<li><a href="PeriodicRandomSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.utils.sensor.PeriodicRandomSensor" class="title">Uses of Class<br>org.apache.edgent.samples.utils.sensor.PeriodicRandomSensor</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.utils.sensor.PeriodicRandomSensor</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/sensor/class-use/PeriodicRandomSensor.html" target="_top">Frames</a></li>
-<li><a href="PeriodicRandomSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/SimpleSimulatedSensor.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/SimpleSimulatedSensor.html
deleted file mode 100644
index 108e4e9..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/SimpleSimulatedSensor.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.utils.sensor.SimpleSimulatedSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.utils.sensor.SimpleSimulatedSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/sensor/class-use/SimpleSimulatedSensor.html" target="_top">Frames</a></li>
-<li><a href="SimpleSimulatedSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.utils.sensor.SimpleSimulatedSensor" class="title">Uses of Class<br>org.apache.edgent.samples.utils.sensor.SimpleSimulatedSensor</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.utils.sensor.SimpleSimulatedSensor</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/sensor/class-use/SimpleSimulatedSensor.html" target="_top">Frames</a></li>
-<li><a href="SimpleSimulatedSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/SimulatedSensors.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/SimulatedSensors.html
deleted file mode 100644
index 13f46e2..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/SimulatedSensors.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.utils.sensor.SimulatedSensors (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.utils.sensor.SimulatedSensors (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/sensor/class-use/SimulatedSensors.html" target="_top">Frames</a></li>
-<li><a href="SimulatedSensors.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.utils.sensor.SimulatedSensors" class="title">Uses of Class<br>org.apache.edgent.samples.utils.sensor.SimulatedSensors</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.utils.sensor.SimulatedSensors</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/sensor/class-use/SimulatedSensors.html" target="_top">Frames</a></li>
-<li><a href="SimulatedSensors.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/SimulatedTemperatureSensor.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/SimulatedTemperatureSensor.html
deleted file mode 100644
index f77f9a4..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/class-use/SimulatedTemperatureSensor.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.samples.utils.sensor.SimulatedTemperatureSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.samples.utils.sensor.SimulatedTemperatureSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/sensor/class-use/SimulatedTemperatureSensor.html" target="_top">Frames</a></li>
-<li><a href="SimulatedTemperatureSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.samples.utils.sensor.SimulatedTemperatureSensor" class="title">Uses of Class<br>org.apache.edgent.samples.utils.sensor.SimulatedTemperatureSensor</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.samples.utils.sensor.SimulatedTemperatureSensor</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/samples/utils/sensor/class-use/SimulatedTemperatureSensor.html" target="_top">Frames</a></li>
-<li><a href="SimulatedTemperatureSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-frame.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-frame.html
deleted file mode 100644
index f08dfe2..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-frame.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.utils.sensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html" target="classFrame">org.apache.edgent.samples.utils.sensor</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor" target="classFrame">HeartMonitorSensor</a></li>
-<li><a href="PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor" target="classFrame">PeriodicRandomSensor</a></li>
-<li><a href="SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor" target="classFrame">SimpleSimulatedSensor</a></li>
-<li><a href="SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor" target="classFrame">SimulatedSensors</a></li>
-<li><a href="SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor" target="classFrame">SimulatedTemperatureSensor</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-summary.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-summary.html
deleted file mode 100644
index 25c902e..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-summary.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.utils.sensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.utils.sensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/metrics/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/streamscope/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.samples.utils.sensor</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor">HeartMonitorSensor</a></td>
-<td class="colLast">
-<div class="block">Streams of simulated heart monitor sensors.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor">PeriodicRandomSensor</a></td>
-<td class="colLast">
-<div class="block">A factory of simple periodic random sensor reading streams.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a></td>
-<td class="colLast">
-<div class="block">A simple simulated sensor.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedSensors</a></td>
-<td class="colLast">
-<div class="block">Streams of simulated sensors.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimulatedTemperatureSensor</a></td>
-<td class="colLast">
-<div class="block">A Simulated temperature sensor.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/metrics/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/streamscope/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-tree.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-tree.html
deleted file mode 100644
index 0655310..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-tree.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.samples.utils.sensor Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.samples.utils.sensor Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/metrics/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/streamscope/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.samples.utils.sensor</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.utils.sensor.<a href="../../../../../../org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">HeartMonitorSensor</span></a> (implements org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.samples.utils.sensor.<a href="../../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">PeriodicRandomSensor</span></a></li>
-<li type="circle">org.apache.edgent.samples.utils.sensor.<a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">SimpleSimulatedSensor</span></a> (implements org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.samples.utils.sensor.<a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">SimulatedSensors</span></a></li>
-<li type="circle">org.apache.edgent.samples.utils.sensor.<a href="../../../../../../org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">SimulatedTemperatureSensor</span></a> (implements org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/samples/utils/metrics/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/streamscope/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-use.html b/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-use.html
deleted file mode 100644
index 3fdcf44..0000000
--- a/site/javadoc/latest/org/apache/edgent/samples/utils/sensor/package-use.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.samples.utils.sensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.samples.utils.sensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.samples.utils.sensor" class="title">Uses of Package<br>org.apache.edgent.samples.utils.sensor</h1>
-</div>
-<div class="contentContainer">No usage of org.apache.edgent.samples.utils.sensor</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/samples/utils/sensor/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.BufferManager.html b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.BufferManager.html
index 7974e08..7fa8e5e 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.BufferManager.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.BufferManager.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>StreamScope.BufferManager (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScope.BufferManager (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamScope.BufferManager (Edgent v1.1.0)";
+            parent.document.title="StreamScope.BufferManager (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.streamscope.StreamScope.BufferManager&lt;T&gt;</li>
@@ -118,7 +119,7 @@
 <hr>
 <br>
 <pre>public static class <span class="typeNameLabel">StreamScope.BufferManager&lt;T&gt;</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Control the retention of captured tuples.
  <P>
  Captured tuples are retained until either:
@@ -173,12 +174,12 @@
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">setMaxRetentionTime</a></span>(long&nbsp;age,
-                   java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set the maximum retention time of a tuple.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -186,8 +187,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -245,7 +246,7 @@
 <li class="blockList">
 <h4>setMaxRetentionTime</h4>
 <pre>public&nbsp;void&nbsp;setMaxRetentionTime(long&nbsp;age,
-                                java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Set the maximum retention time of a tuple.
  <P>
  The capture buffer is cleared.
@@ -254,7 +255,7 @@
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>age</code> - the amount of time to retain a tuple.
         Specify 0 to disable age based retention.</dd>
-<dd><code>unit</code> - <code>TimeUnit</code></dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -264,10 +265,10 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -296,7 +297,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -341,6 +341,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.Sample.html b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.Sample.html
index 1046a20..65a50fa 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.Sample.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.Sample.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>StreamScope.Sample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScope.Sample (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamScope.Sample (Edgent v1.1.0)";
+            parent.document.title="StreamScope.Sample (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.streamscope.StreamScope.Sample&lt;T&gt;</li>
@@ -118,7 +119,7 @@
 <hr>
 <br>
 <pre>public static class <span class="typeNameLabel">StreamScope.Sample&lt;T&gt;</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">A captured tuple.
  <P>
  The Sample captures the tuple, and the system time and nanoTime
@@ -155,7 +156,7 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
@@ -169,8 +170,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -198,7 +199,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the timestamp</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
-<dd><code>System.currentTimeMillis()</code></dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#currentTimeMillis--" title="class or interface in java.lang"><code>System.currentTimeMillis()</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -214,7 +215,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the nanoTime</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
-<dd><code>System.nanoTime()</code></dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#nanoTime--" title="class or interface in java.lang"><code>System.nanoTime()</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -238,10 +239,10 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -270,7 +271,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -315,6 +315,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.TriggerManager.html b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.TriggerManager.html
index 245574e..7aa85ad 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.TriggerManager.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.TriggerManager.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>StreamScope.TriggerManager (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScope.TriggerManager (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamScope.TriggerManager (Edgent v1.1.0)";
+            parent.document.title="StreamScope.TriggerManager (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.streamscope.StreamScope.TriggerManager&lt;T&gt;</li>
@@ -118,7 +119,7 @@
 <hr>
 <br>
 <pre>public static class <span class="typeNameLabel">StreamScope.TriggerManager&lt;T&gt;</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Control what triggers capturing of tuples.
  <P>
  The following modes are supported:
@@ -196,7 +197,7 @@
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">setCaptureByTime</a></span>(long&nbsp;elapsed,
-                java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
  <code>unit</code> time has elapsed since the previous captured tuple.</div>
 </td>
@@ -214,7 +215,7 @@
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -222,8 +223,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -322,13 +323,13 @@
 <li class="blockList">
 <h4>setCaptureByTime</h4>
 <pre>public&nbsp;void&nbsp;setCaptureByTime(long&nbsp;elapsed,
-                             java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
  <code>unit</code> time has elapsed since the previous captured tuple.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>elapsed</code> - time to delay until next capture</dd>
-<dd><code>unit</code> - <code>TimeUnit</code></dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -352,10 +353,10 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -384,7 +385,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -429,6 +429,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.html b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.html
index 36e8205..d5bd35d 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScope.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>StreamScope (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamScope (Edgent v1.1.0)";
+            parent.document.title="StreamScope (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.streamscope.StreamScope&lt;T&gt;</li>
@@ -113,12 +114,12 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">StreamScope&lt;T&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</pre>
 <div class="block">A Stream "oscilloscope" for capturing stream tuples for analysis / debug.
  <P>
@@ -141,8 +142,7 @@
  </P></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><code>StreamScopeRegistry</code></a>, 
-<a href="../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development"><code>DevelopmentProvider</code></a>, 
+<dd><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><code>See {@code org.apache.edgent.providers.development.DevelopmentProvider}</code></a>, 
 <a href="../../../../serialized-form.html#org.apache.edgent.streamscope.StreamScope">Serialized Form</a></dd>
 </dl>
 </li>
@@ -234,7 +234,7 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html#getSamples--">getSamples</a></span>()</code>
 <div class="block">Get all captured tuples.</div>
 </td>
@@ -252,7 +252,7 @@
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
@@ -266,8 +266,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -369,7 +369,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getSamples</h4>
-<pre>public&nbsp;java.util.List&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&gt;&nbsp;getSamples()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&gt;&nbsp;getSamples()</pre>
 <div class="block">Get all captured tuples.
  <P>
  The returned samples are removed from the capture buffer.
@@ -419,10 +419,10 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -451,7 +451,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -496,6 +495,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeBean.html b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeBean.html
index 030eb6c..0a925b1 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeBean.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>StreamScopeBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamScopeBean (Edgent v1.1.0)";
+            parent.document.title="StreamScopeBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.streamscope.StreamScopeBean</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">StreamScopeBean</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></pre>
 <div class="block">Implementation of <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a>.</div>
 <dl>
@@ -178,7 +179,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#getSamples--">getSamples</a></span>()</code>
 <div class="block">Get all captured tuples as JSON.</div>
 </td>
@@ -204,7 +205,7 @@
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">setCaptureByTime</a></span>(long&nbsp;elapsed,
-                java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
  <code>unit</code> time has elapsed since the previous captured tuple.</div>
 </td>
@@ -224,7 +225,7 @@
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">setMaxRetentionTime</a></span>(long&nbsp;age,
-                   java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set the maximum retention time of a tuple.</div>
 </td>
 </tr>
@@ -239,8 +240,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -355,7 +356,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getSamples</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getSamples()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getSamples()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#getSamples--">StreamScopeMXBean</a></code></span></div>
 <div class="block">Get all captured tuples as JSON.
  <P>
@@ -432,7 +433,7 @@
 <li class="blockList">
 <h4>setMaxRetentionTime</h4>
 <pre>public&nbsp;void&nbsp;setMaxRetentionTime(long&nbsp;age,
-                                java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">StreamScopeMXBean</a></code></span></div>
 <div class="block">Set the maximum retention time of a tuple.
  <P>
@@ -444,7 +445,7 @@
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>age</code> - the amount of time to retain a tuple.
         Specify 0 to disable age based retention.</dd>
-<dd><code>unit</code> - <code>TimeUnit</code></dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -472,7 +473,7 @@
 <li class="blockList">
 <h4>setCaptureByTime</h4>
 <pre>public&nbsp;void&nbsp;setCaptureByTime(long&nbsp;elapsed,
-                             java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">StreamScopeMXBean</a></code></span></div>
 <div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
  <code>unit</code> time has elapsed since the previous captured tuple.</div>
@@ -481,7 +482,7 @@
 <dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">setCaptureByTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>elapsed</code> - time to delay until next capture</dd>
-<dd><code>unit</code> - <code>TimeUnit</code></dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -510,7 +511,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -555,6 +555,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeRegistry.html b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeRegistry.html
index af75508..e0f66af 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeRegistry.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeRegistry.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>StreamScopeRegistry (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeRegistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamScopeRegistry (Edgent v1.1.0)";
+            parent.document.title="StreamScopeRegistry (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.streamscope.StreamScopeRegistry</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">StreamScopeRegistry</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">A registry for Stream "oscilloscope" <a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><code>StreamScope</code></a> instances.
  <P>
  The registry contains a collection of StreamScope instances
@@ -120,11 +121,8 @@
  by a stream's (output port's) unique identifier.
  Static methods are provided for composing these names and extracting
  the alias/identifier from generated names.
- </P></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development"><code>DevelopmentProvider</code></a></dd>
-</dl>
+ </P>
+ See <code>org.apache.edgent.providers.development.DevelopmentProvider</code></div>
 </li>
 </ul>
 </div>
@@ -161,59 +159,59 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#getNames--">getNames</a></span>()</code>
 <div class="block">Get the registered names.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.util.Map&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;,java.util.List&lt;java.lang.String&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#getStreamScopes--">getStreamScopes</a></span>()</code>
 <div class="block">Get registered StreamScopes and the name(s) each is registered with.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#lookup-java.lang.String-">lookup</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#lookup-java.lang.String-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Lookup a StreamScope</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#mkStreamId-java.lang.String-java.lang.String-int-">mkStreamId</a></span>(java.lang.String&nbsp;jobId,
-          java.lang.String&nbsp;opletId,
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#mkStreamId-java.lang.String-java.lang.String-int-">mkStreamId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
           int&nbsp;oport)</code>
 <div class="block">Make a streamId for the specified stream.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamAlias-java.lang.String-">nameForStreamAlias</a></span>(java.lang.String&nbsp;alias)</code>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamAlias-java.lang.String-">nameForStreamAlias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
 <div class="block">create a registration name for a stream alias</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamId-java.lang.String-">nameForStreamId</a></span>(java.lang.String&nbsp;streamId)</code>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamId-java.lang.String-">nameForStreamId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;streamId)</code>
 <div class="block">Create a registration name for a stream id.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#register-java.lang.String-org.apache.edgent.streamscope.StreamScope-">register</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#register-java.lang.String-org.apache.edgent.streamscope.StreamScope-">register</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
         <a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</code>
 <div class="block">Register a StreamScope by <code>name</code></div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#streamAliasFromName-java.lang.String-">streamAliasFromName</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#streamAliasFromName-java.lang.String-">streamAliasFromName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Extract the stream alias from a name</div>
 </td>
 </tr>
 <tr id="i8" class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#streamIdFromName-java.lang.String-">streamIdFromName</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#streamIdFromName-java.lang.String-">streamIdFromName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Extract the streamId from the name.</div>
 </td>
 </tr>
@@ -225,7 +223,7 @@
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#unregister-java.lang.String-">unregister</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#unregister-java.lang.String-">unregister</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">remove the specific name registration.</div>
 </td>
 </tr>
@@ -234,8 +232,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -274,9 +272,9 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>mkStreamId</h4>
-<pre>public static&nbsp;java.lang.String&nbsp;mkStreamId(java.lang.String&nbsp;jobId,
-                                          java.lang.String&nbsp;opletId,
-                                          int&nbsp;oport)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mkStreamId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
+                                int&nbsp;oport)</pre>
 <div class="block">Make a streamId for the specified stream.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -294,7 +292,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>nameForStreamAlias</h4>
-<pre>public static&nbsp;java.lang.String&nbsp;nameForStreamAlias(java.lang.String&nbsp;alias)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nameForStreamAlias(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</pre>
 <div class="block">create a registration name for a stream alias</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -310,7 +308,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>nameForStreamId</h4>
-<pre>public static&nbsp;java.lang.String&nbsp;nameForStreamId(java.lang.String&nbsp;streamId)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nameForStreamId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;streamId)</pre>
 <div class="block">Create a registration name for a stream id.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -328,7 +326,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>streamAliasFromName</h4>
-<pre>public static&nbsp;java.lang.String&nbsp;streamAliasFromName(java.lang.String&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;streamAliasFromName(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Extract the stream alias from a name</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -344,7 +342,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>streamIdFromName</h4>
-<pre>public static&nbsp;java.lang.String&nbsp;streamIdFromName(java.lang.String&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;streamIdFromName(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Extract the streamId from the name.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -360,7 +358,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>register</h4>
-<pre>public&nbsp;void&nbsp;register(java.lang.String&nbsp;name,
+<pre>public&nbsp;void&nbsp;register(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                      <a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</pre>
 <div class="block">Register a StreamScope by <code>name</code>
  <P>
@@ -371,7 +369,7 @@
 <dd><code>name</code> - name to register with</dd>
 <dd><code>streamScope</code> - the StreamScope</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalStateException</code> - if a registration already exists for <code>name</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if a registration already exists for <code>name</code></dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamId-java.lang.String-"><code>nameForStreamId(String)</code></a>, 
 <a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamAlias-java.lang.String-"><code>nameForStreamAlias(String)</code></a></dd>
@@ -384,7 +382,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>lookup</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;lookup(java.lang.String&nbsp;name)</pre>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;lookup(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Lookup a StreamScope</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -403,7 +401,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getNames</h4>
-<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getNames()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getNames()</pre>
 <div class="block">Get the registered names.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -418,7 +416,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getStreamScopes</h4>
-<pre>public&nbsp;java.util.Map&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;,java.util.List&lt;java.lang.String&gt;&gt;&nbsp;getStreamScopes()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;getStreamScopes()</pre>
 <div class="block">Get registered StreamScopes and the name(s) each is registered with.
  The map is backed by the registry so its contents may change.</div>
 <dl>
@@ -433,7 +431,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>unregister</h4>
-<pre>public&nbsp;void&nbsp;unregister(java.lang.String&nbsp;name)</pre>
+<pre>public&nbsp;void&nbsp;unregister(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">remove the specific name registration.  Other registration of the same StreamScope may still exist.
  no-op if name is not registered.</div>
 <dl>
@@ -484,7 +482,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -529,6 +526,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeRegistryBean.html b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeRegistryBean.html
index e370a24..97ee924 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeRegistryBean.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeRegistryBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>StreamScopeRegistryBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeRegistryBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamScopeRegistryBean (Edgent v1.1.0)";
+            parent.document.title="StreamScopeRegistryBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.streamscope.StreamScopeRegistryBean</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">StreamScopeRegistryBean</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></pre>
 <div class="block">An implementation of <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeRegistryMXBean</code></a>.</div>
 </li>
@@ -170,8 +171,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(java.lang.String&nbsp;jobId,
-      java.lang.String&nbsp;opletId,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
       int&nbsp;oport)</code>
 <div class="block">Get the <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</div>
 </td>
@@ -181,8 +182,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -222,8 +223,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lookup</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a>&nbsp;lookup(java.lang.String&nbsp;jobId,
-                                java.lang.String&nbsp;opletId,
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a>&nbsp;lookup(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
                                 int&nbsp;oport)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#lookup-java.lang.String-java.lang.String-int-">StreamScopeRegistryMXBean</a></code></span></div>
 <div class="block">Get the <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</div>
@@ -264,7 +265,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -309,6 +309,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeSetup.html b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeSetup.html
index 8c65a17..b8b7298 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeSetup.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/StreamScopeSetup.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>StreamScopeSetup (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeSetup (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamScopeSetup (Edgent v1.1.0)";
+            parent.document.title="StreamScopeSetup (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.streamscope.StreamScopeSetup</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">StreamScopeSetup</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Utility helpers for StreamScope setup and management.
  <p>
  This class is not thread safe.</div>
@@ -149,8 +150,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -237,7 +238,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -282,6 +282,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.BufferManager.html b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.BufferManager.html
index 3e915f6..a442c52 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.BufferManager.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.BufferManager.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.streamscope.StreamScope.BufferManager (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScope.BufferManager (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope.BufferManager (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope.BufferManager (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -130,12 +131,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.Sample.html b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.Sample.html
index cee3ee1..6d1c32f 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.Sample.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.Sample.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.streamscope.StreamScope.Sample (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScope.Sample (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope.Sample (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope.Sample (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -105,7 +106,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">StreamScope.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScope.html#getSamples--">getSamples</a></span>()</code>
 <div class="block">Get all captured tuples.</div>
 </td>
@@ -130,12 +131,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.TriggerManager.html b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.TriggerManager.html
index c6c06a9..3377bcf 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.TriggerManager.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.TriggerManager.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.streamscope.StreamScope.TriggerManager (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScope.TriggerManager (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope.TriggerManager (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope.TriggerManager (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -130,12 +131,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.html b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.html
index 1ee24de..f2bf896 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScope.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.streamscope.StreamScope (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -106,7 +107,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">StreamScopeRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#lookup-java.lang.String-">lookup</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><span class="typeNameLabel">StreamScopeRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#lookup-java.lang.String-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Lookup a StreamScope</div>
 </td>
 </tr>
@@ -120,7 +121,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.Map&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;,java.util.List&lt;java.lang.String&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">StreamScopeRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#getStreamScopes--">getStreamScopes</a></span>()</code>
 <div class="block">Get registered StreamScopes and the name(s) each is registered with.</div>
 </td>
@@ -136,7 +137,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">StreamScopeRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#register-java.lang.String-org.apache.edgent.streamscope.StreamScope-">register</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><span class="typeNameLabel">StreamScopeRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#register-java.lang.String-org.apache.edgent.streamscope.StreamScope-">register</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
         <a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</code>
 <div class="block">Register a StreamScope by <code>name</code></div>
 </td>
@@ -178,12 +179,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -213,6 +213,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeBean.html b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeBean.html
index 18213d5..c467b8c 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeBean.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.streamscope.StreamScopeBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScopeBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeBean (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeRegistry.html b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeRegistry.html
index d1cead5..6f43193 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeRegistry.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeRegistry.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.streamscope.StreamScopeRegistry (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScopeRegistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeRegistry (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeRegistry (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -127,12 +128,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -162,6 +162,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeRegistryBean.html b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeRegistryBean.html
index a3bea48..51eea09 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeRegistryBean.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeRegistryBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.streamscope.StreamScopeRegistryBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScopeRegistryBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeRegistryBean (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeRegistryBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeSetup.html b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeSetup.html
index ac21fd2..55c4898 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeSetup.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/class-use/StreamScopeSetup.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.streamscope.StreamScopeSetup (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScopeSetup (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeSetup (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeSetup (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html
index 52107b6..862148a 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>StreamScopeMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamScopeMXBean (Edgent v1.1.0)";
+            parent.document.title="StreamScopeMXBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -130,7 +131,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#TYPE">TYPE</a></span></code>
 <div class="block">TYPE is used to identify this bean as a StreamScope bean when building the bean's <code>ObjectName</code>.</div>
 </td>
@@ -157,7 +158,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#getSamples--">getSamples</a></span>()</code>
 <div class="block">Get all captured tuples as JSON.</div>
 </td>
@@ -183,7 +184,7 @@
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">setCaptureByTime</a></span>(long&nbsp;elapsed,
-                java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
  <code>unit</code> time has elapsed since the previous captured tuple.</div>
 </td>
@@ -203,7 +204,7 @@
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">setMaxRetentionTime</a></span>(long&nbsp;age,
-                   java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Set the maximum retention time of a tuple.</div>
 </td>
 </tr>
@@ -234,7 +235,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TYPE</h4>
-<pre>static final&nbsp;java.lang.String TYPE</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE</pre>
 <div class="block">TYPE is used to identify this bean as a StreamScope bean when building the bean's <code>ObjectName</code>.
  The value is "streamScope"</div>
 <dl>
@@ -321,7 +322,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getSamples</h4>
-<pre>java.lang.String&nbsp;getSamples()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getSamples()</pre>
 <div class="block">Get all captured tuples as JSON.
  <P>
  The JSON is that generated by <code>Gson.toJson(StreamScope.getSamples())</code>.
@@ -389,7 +390,7 @@
 <li class="blockList">
 <h4>setMaxRetentionTime</h4>
 <pre>void&nbsp;setMaxRetentionTime(long&nbsp;age,
-                         java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Set the maximum retention time of a tuple.
  <P>
  The capture buffer is cleared.
@@ -398,7 +399,7 @@
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>age</code> - the amount of time to retain a tuple.
         Specify 0 to disable age based retention.</dd>
-<dd><code>unit</code> - <code>TimeUnit</code></dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -423,13 +424,13 @@
 <li class="blockList">
 <h4>setCaptureByTime</h4>
 <pre>void&nbsp;setCaptureByTime(long&nbsp;elapsed,
-                      java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
  <code>unit</code> time has elapsed since the previous captured tuple.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>elapsed</code> - time to delay until next capture</dd>
-<dd><code>unit</code> - <code>TimeUnit</code></dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -458,7 +459,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -503,6 +503,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html
index 6dffb22..5ac123f 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>StreamScopeRegistryMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeRegistryMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamScopeRegistryMXBean (Edgent v1.1.0)";
+            parent.document.title="StreamScopeRegistryMXBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -110,11 +111,8 @@
  <P>
  The registry contains a collection of StreamScopeMXBean instances
  that are registered by a stream identifier.
- </P></div>
-<dl>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development"><code>DevelopmentProvider</code></a></dd>
-</dl>
+ </P>
+ See <code>org.apache.edgent.providers.development.DevelopmentProvider</code></div>
 </li>
 </ul>
 </div>
@@ -134,7 +132,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#TYPE">TYPE</a></span></code>
 <div class="block">TYPE is used to identify this bean as a StreamScopeRegistry bean when building the bean's <code>ObjectName</code>.</div>
 </td>
@@ -156,8 +154,8 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(java.lang.String&nbsp;jobId,
-      java.lang.String&nbsp;opletId,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
       int&nbsp;oport)</code>
 <div class="block">Get the <a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</div>
 </td>
@@ -183,7 +181,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TYPE</h4>
-<pre>static final&nbsp;java.lang.String TYPE</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE</pre>
 <div class="block">TYPE is used to identify this bean as a StreamScopeRegistry bean when building the bean's <code>ObjectName</code>.
  The value is "streamScopeRegistry"</div>
 <dl>
@@ -206,8 +204,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lookup</h4>
-<pre><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a>&nbsp;lookup(java.lang.String&nbsp;jobId,
-                         java.lang.String&nbsp;opletId,
+<pre><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a>&nbsp;lookup(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
                          int&nbsp;oport)</pre>
 <div class="block">Get the <a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</div>
 <dl>
@@ -245,7 +243,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -290,6 +287,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeMXBean.html b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeMXBean.html
index 99b9e5d..5e551e6 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeMXBean.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeMXBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeMXBean (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeMXBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -128,8 +129,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></td>
-<td class="colLast"><span class="typeNameLabel">StreamScopeRegistryBean.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(java.lang.String&nbsp;jobId,
-      java.lang.String&nbsp;opletId,
+<td class="colLast"><span class="typeNameLabel">StreamScopeRegistryBean.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
       int&nbsp;oport)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -148,8 +149,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></td>
-<td class="colLast"><span class="typeNameLabel">StreamScopeRegistryMXBean.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(java.lang.String&nbsp;jobId,
-      java.lang.String&nbsp;opletId,
+<td class="colLast"><span class="typeNameLabel">StreamScopeRegistryMXBean.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
       int&nbsp;oport)</code>
 <div class="block">Get the <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</div>
 </td>
@@ -174,12 +175,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -209,6 +209,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeRegistryMXBean.html b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeRegistryMXBean.html
index 23f8390..507f70d 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeRegistryMXBean.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeRegistryMXBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -130,12 +131,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-frame.html b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-frame.html
index 497175b..f69d2ae 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.streamscope.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-summary.html b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-summary.html
index caafcfc..8347d1b 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.streamscope.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.streamscope.mbeans (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.streamscope.mbeans (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -128,7 +129,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-tree.html b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-tree.html
index 741d7df..49c854b 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.streamscope.mbeans Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.streamscope.mbeans Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.streamscope.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -101,7 +102,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -131,6 +131,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-use.html b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-use.html
index 17861ea..55e9227 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/mbeans/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.streamscope.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.streamscope.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.streamscope.mbeans (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.streamscope.mbeans (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -157,7 +158,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/StreamScope.html b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/StreamScope.html
index 2096e01..c88b73b 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/StreamScope.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/StreamScope.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>StreamScope (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="StreamScope (Edgent v1.1.0)";
+            parent.document.title="StreamScope (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
@@ -133,7 +134,7 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.AutoCloseable, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
 </dl>
 <hr>
 <br>
@@ -227,8 +228,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -310,7 +311,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -355,6 +355,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/class-use/StreamScope.html b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/class-use/StreamScope.html
index c8d034f..064ce9f 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/class-use/StreamScope.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/class-use/StreamScope.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.streamscope.oplets.StreamScope (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.oplets.StreamScope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.streamscope.oplets.StreamScope (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.oplets.StreamScope (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-frame.html b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-frame.html
index 7e6e791..2847658 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.streamscope.oplets (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-summary.html b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-summary.html
index 216aa2d..7cd41be 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.streamscope.oplets (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.streamscope.oplets (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.streamscope.oplets (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -44,7 +45,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/test/svt/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/package-summary.html" target="_top">Frames</a></li>
@@ -120,12 +121,11 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/test/svt/package-summary.html">Next&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/package-summary.html" target="_top">Frames</a></li>
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-tree.html b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-tree.html
index 708f94e..7c981fb 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.streamscope.oplets Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.streamscope.oplets Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.streamscope.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -44,7 +45,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/edgent/streamscope/mbeans/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/test/svt/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/package-tree.html" target="_top">Frames</a></li>
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
 <ul>
@@ -120,12 +121,11 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/edgent/streamscope/mbeans/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/test/svt/package-tree.html">Next</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/package-tree.html" target="_top">Frames</a></li>
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-use.html b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-use.html
index 951653b..acd1066 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/oplets/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.streamscope.oplets (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.streamscope.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.streamscope.oplets (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.streamscope.oplets (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/package-frame.html b/site/javadoc/latest/org/apache/edgent/streamscope/package-frame.html
index 5a70866..537d9cb 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.streamscope (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/package-summary.html b/site/javadoc/latest/org/apache/edgent/streamscope/package-summary.html
index 74da40a..d6dbc3c 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.streamscope (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.streamscope (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.streamscope (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -43,7 +44,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -174,11 +175,10 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -204,6 +204,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/package-tree.html b/site/javadoc/latest/org/apache/edgent/streamscope/package-tree.html
index b981a84..89ee9ac 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.streamscope Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.streamscope Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.streamscope Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -43,7 +44,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/samples/utils/sensor/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/runtime/jsoncontrol/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/edgent/streamscope/mbeans/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.streamscope.<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.edgent.streamscope.<a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.BufferManager</span></a>&lt;T&gt;</li>
@@ -111,11 +112,10 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/samples/utils/sensor/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/runtime/jsoncontrol/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/edgent/streamscope/mbeans/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -141,6 +141,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/streamscope/package-use.html b/site/javadoc/latest/org/apache/edgent/streamscope/package-use.html
index 2326e9c..00af3bf 100644
--- a/site/javadoc/latest/org/apache/edgent/streamscope/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/streamscope/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.streamscope (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.streamscope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.streamscope (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.streamscope (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -148,7 +149,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -178,6 +178,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/MyClass1.html b/site/javadoc/latest/org/apache/edgent/test/svt/MyClass1.html
deleted file mode 100644
index 976daf0..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/MyClass1.html
+++ /dev/null
@@ -1,282 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>MyClass1 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MyClass1 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MyClass1.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/MyClass1.html" target="_top">Frames</a></li>
-<li><a href="MyClass1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.test.svt</div>
-<h2 title="Class MyClass1" class="title">Class MyClass1</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.test.svt.MyClass1</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">MyClass1</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/MyClass1.html#setD1-java.lang.Double-">setD1</a></span>(java.lang.Double&nbsp;d)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/MyClass1.html#setS1-java.lang.String-">setS1</a></span>(java.lang.String&nbsp;s)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/MyClass1.html#setS2-java.lang.String-">setS2</a></span>(java.lang.String&nbsp;s)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/MyClass1.html#toString--">toString</a></span>()</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="setS1-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setS1</h4>
-<pre>public&nbsp;void&nbsp;setS1(java.lang.String&nbsp;s)</pre>
-</li>
-</ul>
-<a name="setS2-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setS2</h4>
-<pre>public&nbsp;void&nbsp;setS2(java.lang.String&nbsp;s)</pre>
-</li>
-</ul>
-<a name="setD1-java.lang.Double-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setD1</h4>
-<pre>public&nbsp;void&nbsp;setD1(java.lang.Double&nbsp;d)</pre>
-</li>
-</ul>
-<a name="toString--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MyClass1.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/MyClass1.html" target="_top">Frames</a></li>
-<li><a href="MyClass1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/MyClass2.html b/site/javadoc/latest/org/apache/edgent/test/svt/MyClass2.html
deleted file mode 100644
index e46afc2..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/MyClass2.html
+++ /dev/null
@@ -1,295 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>MyClass2 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="MyClass2 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MyClass2.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/MyClass2.html" target="_top">Frames</a></li>
-<li><a href="MyClass2.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.test.svt</div>
-<h2 title="Class MyClass2" class="title">Class MyClass2</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.test.svt.MyClass2</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">MyClass2</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/MyClass2.html#setD1-java.lang.Double-">setD1</a></span>(java.lang.Double&nbsp;d)</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/MyClass2.html#setMc1-org.apache.edgent.test.svt.MyClass1-">setMc1</a></span>(<a href="../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a>&nbsp;mc)</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/MyClass2.html#setMc2-org.apache.edgent.test.svt.MyClass1-">setMc2</a></span>(<a href="../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a>&nbsp;mc)</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/MyClass2.html#setS1-java.lang.String-">setS1</a></span>(java.lang.String&nbsp;s)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/MyClass2.html#toString--">toString</a></span>()</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="setMc1-org.apache.edgent.test.svt.MyClass1-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setMc1</h4>
-<pre>public&nbsp;void&nbsp;setMc1(<a href="../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a>&nbsp;mc)</pre>
-</li>
-</ul>
-<a name="setMc2-org.apache.edgent.test.svt.MyClass1-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setMc2</h4>
-<pre>public&nbsp;void&nbsp;setMc2(<a href="../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a>&nbsp;mc)</pre>
-</li>
-</ul>
-<a name="setD1-java.lang.Double-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setD1</h4>
-<pre>public&nbsp;void&nbsp;setD1(java.lang.Double&nbsp;d)</pre>
-</li>
-</ul>
-<a name="setS1-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setS1</h4>
-<pre>public&nbsp;void&nbsp;setS1(java.lang.String&nbsp;s)</pre>
-</li>
-</ul>
-<a name="toString--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MyClass2.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/MyClass2.html" target="_top">Frames</a></li>
-<li><a href="MyClass2.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/TopologyTestBasic.html b/site/javadoc/latest/org/apache/edgent/test/svt/TopologyTestBasic.html
deleted file mode 100644
index d91b482..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/TopologyTestBasic.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>TopologyTestBasic (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TopologyTestBasic (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/TopologyTestBasic.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/TopologyTestBasic.html" target="_top">Frames</a></li>
-<li><a href="TopologyTestBasic.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.test.svt</div>
-<h2 title="Class TopologyTestBasic" class="title">Class TopologyTestBasic</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.test.svt.TopologyTestBasic</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">TopologyTestBasic</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/TopologyTestBasic.html#TopologyTestBasic--">TopologyTestBasic</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/TopologyTestBasic.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="TopologyTestBasic--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TopologyTestBasic</h4>
-<pre>public&nbsp;TopologyTestBasic()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/TopologyTestBasic.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/TopologyTestBasic.html" target="_top">Frames</a></li>
-<li><a href="TopologyTestBasic.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html
deleted file mode 100644
index f676db9..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html
+++ /dev/null
@@ -1,317 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>FleetManagementAnalyticsClientApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FleetManagementAnalyticsClientApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/FleetManagementAnalyticsClientApplication.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" target="_top">Frames</a></li>
-<li><a href="FleetManagementAnalyticsClientApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.test.svt.apps</div>
-<h2 title="Class FleetManagementAnalyticsClientApplication" class="title">Class FleetManagementAnalyticsClientApplication</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">org.apache.edgent.samples.apps.AbstractApplication</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">org.apache.edgent.test.svt.apps.iotp.AbstractIotpApplication</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">FleetManagementAnalyticsClientApplication</span>
-extends <a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a></pre>
-<div class="block">A Global Positional System and On-Board Diagnostics application to perform
- analytics defined in <a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>GpsAnalyticsApplication</code></a> and
- <a href="../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>ObdAnalyticsApplication</code></a>.
- <p>
- The Edgent console URL is written to the console and to file consoleUrl.txt.
- <p>
- The Watson IotF URL is written to the console and to file iotfUrl.txt
- 
- <p>
- Argument: specify pathname to application properties file. If running in
- Eclipse, you can specify GpsObdAnalyticsApplication.properties.</div>
-</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>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.edgent.samples.apps.<a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#props">props</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#propsPath">propsPath</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#t">t</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
-<div class="block">Build the application's topology.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html#main-java.lang.String:A-">main</a></span>(java.lang.String[]&nbsp;args)</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.test.svt.apps.iotp.AbstractIotpApplication">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.edgent.test.svt.apps.iotp.<a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a></h3>
-<code><a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#commandId-java.lang.String-java.lang.String-">commandId</a>, <a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#iotDevice--">iotDevice</a>, <a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology</a>, <a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#sensorEventId-java.lang.String-java.lang.String-">sensorEventId</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.edgent.samples.apps.<a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></h3>
-<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#config--">config</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#handleRuntimeError-java.lang.String-java.lang.Exception-">handleRuntimeError</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#run--">run</a>, <a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#utils--">utils</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static&nbsp;void&nbsp;main(java.lang.String[]&nbsp;args)
-                 throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-<a name="buildTopology-org.apache.edgent.topology.Topology-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>buildTopology</h4>
-<pre>protected&nbsp;void&nbsp;buildTopology(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-">AbstractApplication</a></code></span></div>
-<div class="block">Build the application's topology.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>t</code> - Topology to add to</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/FleetManagementAnalyticsClientApplication.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" target="_top">Frames</a></li>
-<li><a href="FleetManagementAnalyticsClientApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">Field</a>&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html
deleted file mode 100644
index 002737b..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>GpsAnalyticsApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GpsAnalyticsApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/GpsAnalyticsApplication.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="GpsAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.test.svt.apps</div>
-<h2 title="Class GpsAnalyticsApplication" class="title">Class GpsAnalyticsApplication</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.test.svt.apps.GpsAnalyticsApplication</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">GpsAnalyticsApplication</span>
-extends java.lang.Object</pre>
-<div class="block">GPS analytics
- <p>
- Source is a stream of GPS sensor data <a href="../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><code>GpsSensor</code></a>
- <p>
- Here's an outline of the topology
- <ul>
- <li>Log GPS coordinates by publishing to IotF. The data may be used by a
- server application to display the vehicle on a map.</li>
- <li>Filter to detect speeds above a threshold and publish alert IotF</li>
- <li>Filter for GPS coordinates that are outside of a defined Geofence
- boundary</li>
- <li>Windowing to detect hard driving: hard braking or hard acceleration and
- publish alert to IotF</li>
- </ul></div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html#GpsAnalyticsApplication-org.apache.edgent.topology.Topology-org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication-">GpsAnalyticsApplication</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                       <a href="../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a>&nbsp;app)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html#addAnalytics--">addAnalytics</a></span>()</code>
-<div class="block">Add the GPS sensor analytics to the topology.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="GpsAnalyticsApplication-org.apache.edgent.topology.Topology-org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>GpsAnalyticsApplication</h4>
-<pre>public&nbsp;GpsAnalyticsApplication(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                               <a href="../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a>&nbsp;app)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="addAnalytics--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>addAnalytics</h4>
-<pre>public&nbsp;void&nbsp;addAnalytics()</pre>
-<div class="block">Add the GPS sensor analytics to the topology.</div>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/GpsAnalyticsApplication.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="GpsAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html
deleted file mode 100644
index 66ec6a4..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>ObdAnalyticsApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ObdAnalyticsApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ObdAnalyticsApplication.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="ObdAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.test.svt.apps</div>
-<h2 title="Class ObdAnalyticsApplication" class="title">Class ObdAnalyticsApplication</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.test.svt.apps.ObdAnalyticsApplication</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">ObdAnalyticsApplication</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html#ObdAnalyticsApplication-org.apache.edgent.topology.Topology-org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication-">ObdAnalyticsApplication</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                       <a href="../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a>&nbsp;app)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html#addAnalytics--">addAnalytics</a></span>()</code>
-<div class="block">Add the ODB sensor's analytics to the topology.</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="ObdAnalyticsApplication-org.apache.edgent.topology.Topology-org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ObdAnalyticsApplication</h4>
-<pre>public&nbsp;ObdAnalyticsApplication(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                               <a href="../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a>&nbsp;app)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="addAnalytics--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>addAnalytics</h4>
-<pre>public&nbsp;void&nbsp;addAnalytics()</pre>
-<div class="block">Add the ODB sensor's analytics to the topology.</div>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ObdAnalyticsApplication.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="ObdAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/class-use/FleetManagementAnalyticsClientApplication.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/class-use/FleetManagementAnalyticsClientApplication.html
deleted file mode 100644
index 5a3a052..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/class-use/FleetManagementAnalyticsClientApplication.html
+++ /dev/null
@@ -1,169 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/class-use/FleetManagementAnalyticsClientApplication.html" target="_top">Frames</a></li>
-<li><a href="FleetManagementAnalyticsClientApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication" class="title">Uses of Class<br>org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps">org.apache.edgent.test.svt.apps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a> in <a href="../../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a> with parameters of type <a href="../../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html#GpsAnalyticsApplication-org.apache.edgent.topology.Topology-org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication-">GpsAnalyticsApplication</a></span>(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                       <a href="../../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a>&nbsp;app)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html#ObdAnalyticsApplication-org.apache.edgent.topology.Topology-org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication-">ObdAnalyticsApplication</a></span>(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                       <a href="../../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a>&nbsp;app)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/class-use/FleetManagementAnalyticsClientApplication.html" target="_top">Frames</a></li>
-<li><a href="FleetManagementAnalyticsClientApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/class-use/GpsAnalyticsApplication.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/class-use/GpsAnalyticsApplication.html
deleted file mode 100644
index f7532ee..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/class-use/GpsAnalyticsApplication.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.test.svt.apps.GpsAnalyticsApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.test.svt.apps.GpsAnalyticsApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/class-use/GpsAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="GpsAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.test.svt.apps.GpsAnalyticsApplication" class="title">Uses of Class<br>org.apache.edgent.test.svt.apps.GpsAnalyticsApplication</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.test.svt.apps.GpsAnalyticsApplication</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/class-use/GpsAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="GpsAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/class-use/ObdAnalyticsApplication.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/class-use/ObdAnalyticsApplication.html
deleted file mode 100644
index 971fad4..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/class-use/ObdAnalyticsApplication.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.test.svt.apps.ObdAnalyticsApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.test.svt.apps.ObdAnalyticsApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/class-use/ObdAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="ObdAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.test.svt.apps.ObdAnalyticsApplication" class="title">Uses of Class<br>org.apache.edgent.test.svt.apps.ObdAnalyticsApplication</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.test.svt.apps.ObdAnalyticsApplication</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/class-use/ObdAnalyticsApplication.html" target="_top">Frames</a></li>
-<li><a href="ObdAnalyticsApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html
deleted file mode 100644
index 13ed5bd..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html
+++ /dev/null
@@ -1,408 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>AbstractIotpApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractIotpApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/AbstractIotpApplication.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>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractIotpApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">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>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.test.svt.apps.iotp</div>
-<h2 title="Class AbstractIotpApplication" class="title">Class AbstractIotpApplication</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">org.apache.edgent.samples.apps.AbstractApplication</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.test.svt.apps.iotp.AbstractIotpApplication</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public abstract class <span class="typeNameLabel">AbstractIotpApplication</span>
-extends <a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></pre>
-<div class="block">An IotF Application base class.
- <p>
- Application instances need to:
- <ul>
- <li>define an implementation for <a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-"><code>AbstractApplication.buildTopology(Topology)</code></a></li>
- <li>call <a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#run--"><code>AbstractApplication.run()</code></a> to build and submit the topology for execution.</li>
- </ul>
- <p>
- The class provides some common processing needs:
- <ul>
- <li>Support for an external configuration file</li>
- <li>Provides a <a href="../../../../../../../org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps"><code>TopologyProviderFactory</code></a></li>
- <li>Provides a <a href="../../../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps"><code>ApplicationUtilities</code></a></li>
- <li>Provides a <a href="../../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a></li>
- </ul></div>
-</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>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.edgent.samples.apps.<a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></h3>
-<code><a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#props">props</a>, <a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#propsPath">propsPath</a>, <a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#t">t</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#AbstractIotpApplication-java.lang.String-">AbstractIotpApplication</a></span>(java.lang.String&nbsp;propsPath)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#commandId-java.lang.String-java.lang.String-">commandId</a></span>(java.lang.String&nbsp;sensorId,
-         java.lang.String&nbsp;commandId)</code>
-<div class="block">Compose a IotpDevice commandId for the sensor</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#iotDevice--">iotDevice</a></span>()</code>
-<div class="block">Get the application's IotDevice</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology</a></span>(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
-<div class="block">A hook for a subclass to do things prior to the invocation
- of <a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-"><code>AbstractApplication.buildTopology(Topology)</code></a>.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#sensorEventId-java.lang.String-java.lang.String-">sensorEventId</a></span>(java.lang.String&nbsp;sensorId,
-             java.lang.String&nbsp;eventId)</code>
-<div class="block">Compose a IotDevice eventId for the sensor.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.edgent.samples.apps.<a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></h3>
-<code><a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a>, <a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#config--">config</a>, <a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#handleRuntimeError-java.lang.String-java.lang.Exception-">handleRuntimeError</a>, <a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#run--">run</a>, <a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#utils--">utils</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="AbstractIotpApplication-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>AbstractIotpApplication</h4>
-<pre>public&nbsp;AbstractIotpApplication(java.lang.String&nbsp;propsPath)
-                        throws java.lang.Exception</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="preBuildTopology-org.apache.edgent.topology.Topology-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>preBuildTopology</h4>
-<pre>protected&nbsp;void&nbsp;preBuildTopology(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">AbstractApplication</a></code></span></div>
-<div class="block">A hook for a subclass to do things prior to the invocation
- of <a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-"><code>AbstractApplication.buildTopology(Topology)</code></a>.
- <p>
- The default implementation is a no-op.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps">AbstractApplication</a></code></dd>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>topology</code> - the application's topology</dd>
-</dl>
-</li>
-</ul>
-<a name="iotDevice--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>iotDevice</h4>
-<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;iotDevice()</pre>
-<div class="block">Get the application's IotDevice</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the IotDevice</dd>
-</dl>
-</li>
-</ul>
-<a name="sensorEventId-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>sensorEventId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;sensorEventId(java.lang.String&nbsp;sensorId,
-                                      java.lang.String&nbsp;eventId)</pre>
-<div class="block">Compose a IotDevice eventId for the sensor.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sensorId</code> - the sensor id</dd>
-<dd><code>eventId</code> - the sensor's eventId</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the device eventId</dd>
-</dl>
-</li>
-</ul>
-<a name="commandId-java.lang.String-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>commandId</h4>
-<pre>public&nbsp;java.lang.String&nbsp;commandId(java.lang.String&nbsp;sensorId,
-                                  java.lang.String&nbsp;commandId)</pre>
-<div class="block">Compose a IotpDevice commandId for the sensor</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>sensorId</code> - the sensor id</dd>
-<dd><code>commandId</code> - the sensor's commandId</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the device commandId</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/AbstractIotpApplication.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractIotpApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#fields.inherited.from.class.org.apache.edgent.samples.apps.AbstractApplication">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>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/class-use/AbstractIotpApplication.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/class-use/AbstractIotpApplication.html
deleted file mode 100644
index 04a417c..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/class-use/AbstractIotpApplication.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.test.svt.apps.iotp.AbstractIotpApplication (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.test.svt.apps.iotp.AbstractIotpApplication (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/apps/iotp/class-use/AbstractIotpApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractIotpApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.test.svt.apps.iotp.AbstractIotpApplication" class="title">Uses of Class<br>org.apache.edgent.test.svt.apps.iotp.AbstractIotpApplication</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps">org.apache.edgent.test.svt.apps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a> in <a href="../../../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a> in <a href="../../../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a></span></code>
-<div class="block">A Global Positional System and On-Board Diagnostics application to perform
- analytics defined in <a href="../../../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>GpsAnalyticsApplication</code></a> and
- <a href="../../../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>ObdAnalyticsApplication</code></a>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/apps/iotp/class-use/AbstractIotpApplication.html" target="_top">Frames</a></li>
-<li><a href="AbstractIotpApplication.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-frame.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-frame.html
deleted file mode 100644
index 8f41825..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-frame.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt.apps.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html" target="classFrame">org.apache.edgent.test.svt.apps.iotp</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp" target="classFrame">AbstractIotpApplication</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-summary.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-summary.html
deleted file mode 100644
index ed08cd1..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-summary.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt.apps.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.test.svt.apps.iotp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/iotp/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.test.svt.apps.iotp</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp">AbstractIotpApplication</a></td>
-<td class="colLast">
-<div class="block">An IotF Application base class.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/iotp/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-tree.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-tree.html
deleted file mode 100644
index cf012fc..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-tree.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt.apps.iotp Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.test.svt.apps.iotp Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/edgent/test/svt/apps/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/iotp/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.test.svt.apps.iotp</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.apps.<a href="../../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">AbstractApplication</span></a>
-<ul>
-<li type="circle">org.apache.edgent.test.svt.apps.iotp.<a href="../../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp"><span class="typeNameLink">AbstractIotpApplication</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../org/apache/edgent/test/svt/apps/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/iotp/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-use.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-use.html
deleted file mode 100644
index 67d531b..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/iotp/package-use.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.test.svt.apps.iotp (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.test.svt.apps.iotp (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/iotp/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.test.svt.apps.iotp" class="title">Uses of Package<br>org.apache.edgent.test.svt.apps.iotp</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps">org.apache.edgent.test.svt.apps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a> used by <a href="../../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../../org/apache/edgent/test/svt/apps/iotp/class-use/AbstractIotpApplication.html#org.apache.edgent.test.svt.apps">AbstractIotpApplication</a>
-<div class="block">An IotF Application base class.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../index.html?org/apache/edgent/test/svt/apps/iotp/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-frame.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-frame.html
deleted file mode 100644
index c127d0c..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-frame.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt.apps (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../org/apache/edgent/test/svt/apps/package-summary.html" target="classFrame">org.apache.edgent.test.svt.apps</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps" target="classFrame">FleetManagementAnalyticsClientApplication</a></li>
-<li><a href="GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps" target="classFrame">GpsAnalyticsApplication</a></li>
-<li><a href="ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps" target="classFrame">ObdAnalyticsApplication</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-summary.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-summary.html
deleted file mode 100644
index 86e391e..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-summary.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt.apps (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.test.svt.apps (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/test/svt/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.test.svt.apps</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a></td>
-<td class="colLast">
-<div class="block">A Global Positional System and On-Board Diagnostics application to perform
- analytics defined in <a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>GpsAnalyticsApplication</code></a> and
- <a href="../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>ObdAnalyticsApplication</code></a>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">GpsAnalyticsApplication</a></td>
-<td class="colLast">
-<div class="block">GPS analytics</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps">ObdAnalyticsApplication</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/test/svt/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-tree.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-tree.html
deleted file mode 100644
index 0507e96..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-tree.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt.apps Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.test.svt.apps Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/test/svt/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.test.svt.apps</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.samples.apps.<a href="../../../../../../org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">AbstractApplication</span></a>
-<ul>
-<li type="circle">org.apache.edgent.test.svt.apps.iotp.<a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp"><span class="typeNameLink">AbstractIotpApplication</span></a>
-<ul>
-<li type="circle">org.apache.edgent.test.svt.apps.<a href="../../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">FleetManagementAnalyticsClientApplication</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li type="circle">org.apache.edgent.test.svt.apps.<a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">GpsAnalyticsApplication</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.apps.<a href="../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">ObdAnalyticsApplication</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../org/apache/edgent/test/svt/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/apps/iotp/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-use.html b/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-use.html
deleted file mode 100644
index 7b24aff..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/apps/package-use.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.test.svt.apps (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.test.svt.apps (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.test.svt.apps" class="title">Uses of Package<br>org.apache.edgent.test.svt.apps</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps">org.apache.edgent.test.svt.apps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a> used by <a href="../../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../org/apache/edgent/test/svt/apps/class-use/FleetManagementAnalyticsClientApplication.html#org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a>
-<div class="block">A Global Positional System and On-Board Diagnostics application to perform
- analytics defined in <a href="../../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>GpsAnalyticsApplication</code></a> and
- <a href="../../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><code>ObdAnalyticsApplication</code></a>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/apps/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/class-use/MyClass1.html b/site/javadoc/latest/org/apache/edgent/test/svt/class-use/MyClass1.html
deleted file mode 100644
index 82cf7f5..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/class-use/MyClass1.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.test.svt.MyClass1 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.test.svt.MyClass1 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/class-use/MyClass1.html" target="_top">Frames</a></li>
-<li><a href="MyClass1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.test.svt.MyClass1" class="title">Uses of Class<br>org.apache.edgent.test.svt.MyClass1</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt">org.apache.edgent.test.svt</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.test.svt">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a> in <a href="../../../../../../org/apache/edgent/test/svt/package-summary.html">org.apache.edgent.test.svt</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/edgent/test/svt/package-summary.html">org.apache.edgent.test.svt</a> with parameters of type <a href="../../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MyClass2.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/test/svt/MyClass2.html#setMc1-org.apache.edgent.test.svt.MyClass1-">setMc1</a></span>(<a href="../../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a>&nbsp;mc)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">MyClass2.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/test/svt/MyClass2.html#setMc2-org.apache.edgent.test.svt.MyClass1-">setMc2</a></span>(<a href="../../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a>&nbsp;mc)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/class-use/MyClass1.html" target="_top">Frames</a></li>
-<li><a href="MyClass1.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/class-use/MyClass2.html b/site/javadoc/latest/org/apache/edgent/test/svt/class-use/MyClass2.html
deleted file mode 100644
index 1973d16..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/class-use/MyClass2.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.test.svt.MyClass2 (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.test.svt.MyClass2 (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/class-use/MyClass2.html" target="_top">Frames</a></li>
-<li><a href="MyClass2.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.test.svt.MyClass2" class="title">Uses of Class<br>org.apache.edgent.test.svt.MyClass2</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.test.svt.MyClass2</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/class-use/MyClass2.html" target="_top">Frames</a></li>
-<li><a href="MyClass2.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/class-use/TopologyTestBasic.html b/site/javadoc/latest/org/apache/edgent/test/svt/class-use/TopologyTestBasic.html
deleted file mode 100644
index a8d2649..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/class-use/TopologyTestBasic.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.test.svt.TopologyTestBasic (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.test.svt.TopologyTestBasic (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/class-use/TopologyTestBasic.html" target="_top">Frames</a></li>
-<li><a href="TopologyTestBasic.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.test.svt.TopologyTestBasic" class="title">Uses of Class<br>org.apache.edgent.test.svt.TopologyTestBasic</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.test.svt.TopologyTestBasic</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/edgent/test/svt/class-use/TopologyTestBasic.html" target="_top">Frames</a></li>
-<li><a href="TopologyTestBasic.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/package-frame.html b/site/javadoc/latest/org/apache/edgent/test/svt/package-frame.html
deleted file mode 100644
index b32b862..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/package-frame.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../org/apache/edgent/test/svt/package-summary.html" target="classFrame">org.apache.edgent.test.svt</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="MyClass1.html" title="class in org.apache.edgent.test.svt" target="classFrame">MyClass1</a></li>
-<li><a href="MyClass2.html" title="class in org.apache.edgent.test.svt" target="classFrame">MyClass2</a></li>
-<li><a href="TopologyTestBasic.html" title="class in org.apache.edgent.test.svt" target="classFrame">TopologyTestBasic</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/package-summary.html b/site/javadoc/latest/org/apache/edgent/test/svt/package-summary.html
deleted file mode 100644
index 365d521..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/package-summary.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.test.svt (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/test/svt/apps/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.test.svt</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt">MyClass1</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt">MyClass2</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt">TopologyTestBasic</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../org/apache/edgent/test/svt/apps/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/package-tree.html b/site/javadoc/latest/org/apache/edgent/test/svt/package-tree.html
deleted file mode 100644
index ce2e398..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/package-tree.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.test.svt Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/streamscope/oplets/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/test/svt/apps/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.test.svt</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.test.svt.<a href="../../../../../org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">MyClass1</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.<a href="../../../../../org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">MyClass2</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.<a href="../../../../../org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">TopologyTestBasic</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../org/apache/edgent/streamscope/oplets/package-tree.html">Prev</a></li>
-<li><a href="../../../../../org/apache/edgent/test/svt/apps/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/package-use.html b/site/javadoc/latest/org/apache/edgent/test/svt/package-use.html
deleted file mode 100644
index 14c785a..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/package-use.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.test.svt (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.test.svt (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.test.svt" class="title">Uses of Package<br>org.apache.edgent.test.svt</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../org/apache/edgent/test/svt/package-summary.html">org.apache.edgent.test.svt</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt">org.apache.edgent.test.svt</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/edgent/test/svt/package-summary.html">org.apache.edgent.test.svt</a> used by <a href="../../../../../org/apache/edgent/test/svt/package-summary.html">org.apache.edgent.test.svt</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/edgent/test/svt/class-use/MyClass1.html#org.apache.edgent.test.svt">MyClass1</a>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/edgent/test/svt/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html b/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html
deleted file mode 100644
index df9f655..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html
+++ /dev/null
@@ -1,365 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>GpsSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GpsSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/GpsSensor.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>Prev&nbsp;Class</li>
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" target="_top">Frames</a></li>
-<li><a href="GpsSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.test.svt.utils.sensor.gps</div>
-<h2 title="Class GpsSensor" class="title">Class GpsSensor</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.test.svt.utils.sensor.gps.GpsSensor</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">GpsSensor</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#GpsSensor-double-double-double-double-long-double-">GpsSensor</a></span>(double&nbsp;latitude,
-         double&nbsp;longitude,
-         double&nbsp;altitude,
-         double&nbsp;speedMetersPerSec,
-         long&nbsp;time,
-         double&nbsp;course)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#geAltitude--">geAltitude</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#getCourse--">getCourse</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#getLatitude--">getLatitude</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#getLongitude--">getLongitude</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#getSpeedMetersPerSec--">getSpeedMetersPerSec</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#getTime--">getTime</a></span>()</code>&nbsp;</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html#toString--">toString</a></span>()</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="GpsSensor-double-double-double-double-long-double-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>GpsSensor</h4>
-<pre>public&nbsp;GpsSensor(double&nbsp;latitude,
-                 double&nbsp;longitude,
-                 double&nbsp;altitude,
-                 double&nbsp;speedMetersPerSec,
-                 long&nbsp;time,
-                 double&nbsp;course)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="getLatitude--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getLatitude</h4>
-<pre>public&nbsp;double&nbsp;getLatitude()</pre>
-</li>
-</ul>
-<a name="getLongitude--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getLongitude</h4>
-<pre>public&nbsp;double&nbsp;getLongitude()</pre>
-</li>
-</ul>
-<a name="geAltitude--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>geAltitude</h4>
-<pre>public&nbsp;double&nbsp;geAltitude()</pre>
-</li>
-</ul>
-<a name="getSpeedMetersPerSec--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getSpeedMetersPerSec</h4>
-<pre>public&nbsp;double&nbsp;getSpeedMetersPerSec()</pre>
-</li>
-</ul>
-<a name="getTime--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getTime</h4>
-<pre>public&nbsp;long&nbsp;getTime()</pre>
-</li>
-</ul>
-<a name="getCourse--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCourse</h4>
-<pre>public&nbsp;double&nbsp;getCourse()</pre>
-</li>
-</ul>
-<a name="toString--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/GpsSensor.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev&nbsp;Class</li>
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" target="_top">Frames</a></li>
-<li><a href="GpsSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html b/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html
deleted file mode 100644
index 2d9c895..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html
+++ /dev/null
@@ -1,350 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>SimulatedGeofence (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimulatedGeofence (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimulatedGeofence.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" target="_top">Frames</a></li>
-<li><a href="SimulatedGeofence.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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">org.apache.edgent.test.svt.utils.sensor.gps</div>
-<h2 title="Class SimulatedGeofence" class="title">Class SimulatedGeofence</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGeofence</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimulatedGeofence</span>
-extends java.lang.Object</pre>
-</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="memberSummary" 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>protected static double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#GEOFENCE_LATITUDE_MAX">GEOFENCE_LATITUDE_MAX</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected static double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#GEOFENCE_LATITUDE_MIN">GEOFENCE_LATITUDE_MIN</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>protected static double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#GEOFENCE_LONGITUDE_MAX">GEOFENCE_LONGITUDE_MAX</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected static double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#GEOFENCE_LONGITUDE_MIN">GEOFENCE_LONGITUDE_MIN</a></span></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#SimulatedGeofence--">SimulatedGeofence</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html#outsideGeofence-double-double-">outsideGeofence</a></span>(double&nbsp;latitude,
-               double&nbsp;longitude)</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="GEOFENCE_LATITUDE_MAX">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>GEOFENCE_LATITUDE_MAX</h4>
-<pre>protected static&nbsp;double GEOFENCE_LATITUDE_MAX</pre>
-</li>
-</ul>
-<a name="GEOFENCE_LATITUDE_MIN">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>GEOFENCE_LATITUDE_MIN</h4>
-<pre>protected static&nbsp;double GEOFENCE_LATITUDE_MIN</pre>
-</li>
-</ul>
-<a name="GEOFENCE_LONGITUDE_MAX">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>GEOFENCE_LONGITUDE_MAX</h4>
-<pre>protected static&nbsp;double GEOFENCE_LONGITUDE_MAX</pre>
-</li>
-</ul>
-<a name="GEOFENCE_LONGITUDE_MIN">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>GEOFENCE_LONGITUDE_MIN</h4>
-<pre>protected static&nbsp;double GEOFENCE_LONGITUDE_MIN</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SimulatedGeofence--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SimulatedGeofence</h4>
-<pre>public&nbsp;SimulatedGeofence()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="outsideGeofence-double-double-">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>outsideGeofence</h4>
-<pre>public static&nbsp;boolean&nbsp;outsideGeofence(double&nbsp;latitude,
-                                      double&nbsp;longitude)</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>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimulatedGeofence.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" target="_top">Frames</a></li>
-<li><a href="SimulatedGeofence.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><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; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html b/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html
deleted file mode 100644
index 8ffcfeb..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>SimulatedGpsSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="SimulatedGpsSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimulatedGpsSensor.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" target="_top">Frames</a></li>
-<li><a href="SimulatedGpsSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.edgent.test.svt.utils.sensor.gps</div>
-<h2 title="Class SimulatedGpsSensor" class="title">Class SimulatedGpsSensor</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGpsSensor</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">SimulatedGpsSensor</span>
-extends java.lang.Object</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html#SimulatedGpsSensor--">SimulatedGpsSensor</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html#nextGps--">nextGps</a></span>()</code>&nbsp;</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.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="SimulatedGpsSensor--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SimulatedGpsSensor</h4>
-<pre>public&nbsp;SimulatedGpsSensor()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="nextGps--">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>nextGps</h4>
-<pre>public&nbsp;<a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a>&nbsp;nextGps()</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>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/SimulatedGpsSensor.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li>Next&nbsp;Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" target="_top">Frames</a></li>
-<li><a href="SimulatedGpsSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/class-use/GpsSensor.html b/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/class-use/GpsSensor.html
deleted file mode 100644
index 849b4b2..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/class-use/GpsSensor.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.test.svt.utils.sensor.gps.GpsSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.test.svt.utils.sensor.gps.GpsSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/class-use/GpsSensor.html" target="_top">Frames</a></li>
-<li><a href="GpsSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.test.svt.utils.sensor.gps.GpsSensor" class="title">Uses of Class<br>org.apache.edgent.test.svt.utils.sensor.gps.GpsSensor</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.utils.sensor.gps">org.apache.edgent.test.svt.utils.sensor.gps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.test.svt.utils.sensor.gps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a> in <a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">org.apache.edgent.test.svt.utils.sensor.gps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">org.apache.edgent.test.svt.utils.sensor.gps</a> that return <a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SimulatedGpsSensor.</span><code><span class="memberNameLink"><a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html#nextGps--">nextGps</a></span>()</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/class-use/GpsSensor.html" target="_top">Frames</a></li>
-<li><a href="GpsSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/class-use/SimulatedGeofence.html b/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/class-use/SimulatedGeofence.html
deleted file mode 100644
index 5e45a2c..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/class-use/SimulatedGeofence.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGeofence (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGeofence (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/class-use/SimulatedGeofence.html" target="_top">Frames</a></li>
-<li><a href="SimulatedGeofence.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGeofence" class="title">Uses of Class<br>org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGeofence</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGeofence</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/class-use/SimulatedGeofence.html" target="_top">Frames</a></li>
-<li><a href="SimulatedGeofence.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/class-use/SimulatedGpsSensor.html b/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/class-use/SimulatedGpsSensor.html
deleted file mode 100644
index 15c6586..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/class-use/SimulatedGpsSensor.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGpsSensor (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGpsSensor (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../../overview-tree.html">Tree</a></li>
-<li><a href="../../../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/class-use/SimulatedGpsSensor.html" target="_top">Frames</a></li>
-<li><a href="SimulatedGpsSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGpsSensor" class="title">Uses of Class<br>org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGpsSensor</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.edgent.test.svt.utils.sensor.gps.SimulatedGpsSensor</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../../../overview-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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/class-use/SimulatedGpsSensor.html" target="_top">Frames</a></li>
-<li><a href="SimulatedGpsSensor.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-frame.html b/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-frame.html
deleted file mode 100644
index 6267e55..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-frame.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt.utils.sensor.gps (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html" target="classFrame">org.apache.edgent.test.svt.utils.sensor.gps</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps" target="classFrame">GpsSensor</a></li>
-<li><a href="SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps" target="classFrame">SimulatedGeofence</a></li>
-<li><a href="SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps" target="classFrame">SimulatedGpsSensor</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html b/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html
deleted file mode 100644
index 2de8294..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt.utils.sensor.gps (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.test.svt.utils.sensor.gps (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../../../org/apache/edgent/topology/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.test.svt.utils.sensor.gps</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGeofence</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps">SimulatedGpsSensor</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">Prev&nbsp;Package</a></li>
-<li><a href="../../../../../../../../org/apache/edgent/topology/package-summary.html">Next&nbsp;Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-tree.html b/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-tree.html
deleted file mode 100644
index 0bfa541..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-tree.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.test.svt.utils.sensor.gps Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.test.svt.utils.sensor.gps Class Hierarchy (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/apps/iotp/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../../../org/apache/edgent/topology/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package org.apache.edgent.test.svt.utils.sensor.gps</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../../../../../../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">org.apache.edgent.test.svt.utils.sensor.gps.<a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">GpsSensor</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.utils.sensor.gps.<a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">SimulatedGeofence</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.utils.sensor.gps.<a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">SimulatedGpsSensor</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../../help-doc.html">Help</a></li>
-</ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../../../../../../../../org/apache/edgent/test/svt/apps/iotp/package-tree.html">Prev</a></li>
-<li><a href="../../../../../../../../org/apache/edgent/topology/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-use.html b/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-use.html
deleted file mode 100644
index 83bf1ac..0000000
--- a/site/javadoc/latest/org/apache/edgent/test/svt/utils/sensor/gps/package-use.html
+++ /dev/null
@@ -1,159 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.test.svt.utils.sensor.gps (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
-<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../../../../../../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.test.svt.utils.sensor.gps (Edgent v1.1.0)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../../../../../../index-all.html">Index</a></li>
-<li><a href="../../../../../../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package org.apache.edgent.test.svt.utils.sensor.gps" class="title">Uses of Package<br>org.apache.edgent.test.svt.utils.sensor.gps</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">org.apache.edgent.test.svt.utils.sensor.gps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.utils.sensor.gps">org.apache.edgent.test.svt.utils.sensor.gps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.utils.sensor.gps">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">org.apache.edgent.test.svt.utils.sensor.gps</a> used by <a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">org.apache.edgent.test.svt.utils.sensor.gps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../../../../org/apache/edgent/test/svt/utils/sensor/gps/class-use/GpsSensor.html#org.apache.edgent.test.svt.utils.sensor.gps">GpsSensor</a>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../../../../index.html?org/apache/edgent/test/svt/utils/sensor/gps/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
-</body>
-</html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/TSink.html b/site/javadoc/latest/org/apache/edgent/topology/TSink.html
index 91a1375..489605c 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/TSink.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/TSink.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>TSink (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TSink (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TSink (Edgent v1.1.0)";
+            parent.document.title="TSink (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -205,7 +206,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -250,6 +250,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/TStream.html b/site/javadoc/latest/org/apache/edgent/topology/TStream.html
index b800a77..b5b3c98 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/TStream.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/TStream.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>TStream (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TStream (Edgent v1.1.0)";
+            parent.document.title="TStream (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -148,7 +149,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#TYPE">TYPE</a></span></code>
 <div class="block">TYPE is used to identify <a href="../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a> mbeans registered for
  for a TStream.</div>
@@ -171,12 +172,12 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#alias-java.lang.String-">alias</a></span>(java.lang.String&nbsp;alias)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#alias-java.lang.String-">alias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
 <div class="block">Set an alias for the stream.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#asString--">asString</a></span>()</code>
 <div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
  <code>toString()</code> on each tuple.</div>
@@ -185,7 +186,7 @@
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;fanin,
-     java.util.List&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
 <div class="block">Declare a stream that contains the output of the specified 
  <a href="../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
 </td>
@@ -198,19 +199,19 @@
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,java.lang.Iterable&lt;U&gt;&gt;&nbsp;mapper)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>
 <div class="block">Declare a new stream that maps tuples from this stream into one or
  more (or zero) tuples of a different type <code>U</code>.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#getAlias--">getAlias</a></span>()</code>
 <div class="block">Returns the stream's alias if any.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#getTags--">getTags</a></span>()</code>
 <div class="block">Returns the set of tags associated with this stream.</div>
 </td>
@@ -219,7 +220,7 @@
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
     <a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
-    <a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+    <a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
 <div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
 </td>
 </tr>
@@ -244,7 +245,7 @@
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
-    java.util.concurrent.TimeUnit&nbsp;unit,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
     <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</code>
 <div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
  tuples on this stream for each partition.</div>
@@ -298,15 +299,15 @@
 </td>
 </tr>
 <tr id="i18" class="altColor">
-<td class="colFirst"><code>&lt;E extends java.lang.Enum&lt;E&gt;&gt;<br>java.util.EnumMap&lt;E,<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(java.lang.Class&lt;E&gt;&nbsp;enumClass,
+<td class="colFirst"><code>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
      <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,E&gt;&nbsp;splitter)</code>
 <div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
  <code>splitter</code>.</div>
 </td>
 </tr>
 <tr id="i19" class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
      <a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;splitter)</code>
 <div class="block">Split a stream's tuples among <code>n</code> streams as specified by
@@ -315,13 +316,13 @@
 </tr>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#tag-java.lang.String...-">tag</a></span>(java.lang.String...&nbsp;values)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#tag-java.lang.String...-">tag</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</code>
 <div class="block">Adds the specified tags to the stream.</div>
 </td>
 </tr>
 <tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">union</a></span>(java.util.Set&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
 <div class="block">Declare a stream that will contain all tuples from this stream and all the
  streams in <code>others</code>.</div>
 </td>
@@ -361,7 +362,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TYPE</h4>
-<pre>static final&nbsp;java.lang.String TYPE</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE</pre>
 <div class="block">TYPE is used to identify <a href="../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a> mbeans registered for
  for a TStream.
  The value is "stream"</div>
@@ -459,7 +460,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>flatMap</h4>
-<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;flatMap(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,java.lang.Iterable&lt;U&gt;&gt;&nbsp;mapper)</pre>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;flatMap(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</pre>
 <div class="block">Declare a new stream that maps tuples from this stream into one or
  more (or zero) tuples of a different type <code>U</code>. For each tuple
  <code>t</code> on this stream, the returned stream will contain all non-null tuples in
@@ -501,8 +502,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>split</h4>
-<pre>java.util.List&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;split(int&nbsp;n,
-                                 <a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;splitter)</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;split(int&nbsp;n,
+                       <a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;splitter)</pre>
 <div class="block">Split a stream's tuples among <code>n</code> streams as specified by
  <code>splitter</code>.
  
@@ -562,7 +563,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>List of <code>n</code> streams</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if <code>n &lt;= 0</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if <code>n &lt;= 0</code></dd>
 </dl>
 </li>
 </ul>
@@ -572,8 +573,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>split</h4>
-<pre>&lt;E extends java.lang.Enum&lt;E&gt;&gt;&nbsp;java.util.EnumMap&lt;E,<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;split(java.lang.Class&lt;E&gt;&nbsp;enumClass,
-                                                                    <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,E&gt;&nbsp;splitter)</pre>
+<pre>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;split(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
+                                                <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,E&gt;&nbsp;splitter)</pre>
 <div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
  <code>splitter</code>.</div>
 <dl>
@@ -585,7 +586,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>EnumMap&lt;E,TStream&lt;T&gt;&gt;</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if <code>enumclass.size &lt;= 0</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if <code>enumclass.size &lt;= 0</code></dd>
 </dl>
 </li>
 </ul>
@@ -620,7 +621,7 @@
  typically used to send information to external systems, such as databases
  or dashboards.
  <p>
- If <code>sinker</code> implements <code>AutoCloseable</code>, its <code>close()</code>
+ If <code>sinker</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
  method will be called when the topology's execution is terminated.
  </P>
  <P>
@@ -689,7 +690,7 @@
 <li class="blockList">
 <h4>fanin</h4>
 <pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;fanin(<a href="../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;fanin,
-                     java.util.List&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</pre>
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</pre>
 <div class="block">Declare a stream that contains the output of the specified 
  <a href="../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
 <dl>
@@ -754,7 +755,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>asString</h4>
-<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;asString()</pre>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;asString()</pre>
 <div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
  <code>toString()</code> on each tuple. This is equivalent to
  <code>map(Object::toString)</code>.</div>
@@ -826,7 +827,7 @@
 <li class="blockList">
 <h4>last</h4>
 <pre>&lt;K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;last(long&nbsp;time,
-                      java.util.concurrent.TimeUnit&nbsp;unit,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
                       <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</pre>
 <div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
  tuples on this stream for each partition. If no tuples have been 
@@ -884,7 +885,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>union</h4>
-<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;union(java.util.Set&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</pre>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;union(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</pre>
 <div class="block">Declare a stream that will contain all tuples from this stream and all the
  streams in <code>others</code>. A stream cannot be unioned with itself, in
  this case the union will only contain tuples from this stream once. If
@@ -904,7 +905,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>tag</h4>
-<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;tag(java.lang.String...&nbsp;values)</pre>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;tag(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</pre>
 <div class="block">Adds the specified tags to the stream.  Adding the same tag to 
  a stream multiple times will not change the result beyond the 
  initial application.</div>
@@ -922,7 +923,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getTags</h4>
-<pre>java.util.Set&lt;java.lang.String&gt;&nbsp;getTags()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
 <div class="block">Returns the set of tags associated with this stream.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -936,7 +937,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>alias</h4>
-<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;alias(java.lang.String&nbsp;alias)</pre>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;alias(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</pre>
 <div class="block">Set an alias for the stream.
  <p>
  The alias must be unique within the topology.
@@ -951,7 +952,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalStateException</code> - if the an alias has already been set.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the an alias has already been set.</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a></dd>
 </dl>
@@ -963,7 +964,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getAlias</h4>
-<pre>java.lang.String&nbsp;getAlias()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
 <div class="block">Returns the stream's alias if any.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -979,7 +980,7 @@
 <h4>join</h4>
 <pre>&lt;J,U,K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;&nbsp;join(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
                         <a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
-                        <a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</pre>
+                        <a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</pre>
 <div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.
  For each tuple on this stream, it is joined with the contents of <code>window</code>
  for the key <code>keyer.apply(tuple)</code>. Each tuple is
@@ -1069,7 +1070,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -1114,6 +1114,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/TWindow.html b/site/javadoc/latest/org/apache/edgent/topology/TWindow.html
index 4375e19..49b02f7 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/TWindow.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/TWindow.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>TWindow (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TWindow (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TWindow (Edgent v1.1.0)";
+            parent.document.title="TWindow (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -153,14 +154,14 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</code>
 <div class="block">Declares a stream that is a continuous, sliding, aggregation of
  partitions in this window.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</code>
 <div class="block">Declares a stream that represents a batched aggregation of
  partitions in this window.</div>
 </td>
@@ -205,7 +206,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>aggregate</h4>
-<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;aggregate(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</pre>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;aggregate(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</pre>
 <div class="block">Declares a stream that is a continuous, sliding, aggregation of
  partitions in this window.
  <P>
@@ -225,7 +226,6 @@
  empty if the eviction results in an empty partition.</LI>
  </UL>
  A non-null <code>aggregator</code> result is added to the returned stream.
- </P>
  <P>
  Thus the returned stream will contain a sequence of tuples where the
  most recent tuple represents the most up to date aggregation of a
@@ -246,7 +246,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>batch</h4>
-<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;batch(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</pre>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;batch(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</pre>
 <div class="block">Declares a stream that represents a batched aggregation of
  partitions in this window. 
  <P>
@@ -262,7 +262,6 @@
  </UL>
  A non-null <code>batcher</code> result is added to the returned stream.
  The partition's contents are cleared after a batch is processed.
- </P>
  <P>
  Thus the returned stream will contain a sequence of tuples where the
  most recent tuple represents the most up to date aggregation of a
@@ -330,7 +329,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -375,6 +373,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/Topology.html b/site/javadoc/latest/org/apache/edgent/topology/Topology.html
index 008cb30..0cb6b01 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/Topology.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/Topology.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Topology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Topology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Topology (Edgent v1.1.0)";
+            parent.document.title="Topology (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -140,7 +141,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#collection-java.util.Collection-">collection</a></span>(java.util.Collection&lt;T&gt;&nbsp;tuples)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#collection-java.util.Collection-">collection</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</code>
 <div class="block">Declare a stream of constants from a collection.</div>
 </td>
 </tr>
@@ -157,7 +158,7 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#getName--">getName</a></span>()</code>
 <div class="block">Name of this topology.</div>
 </td>
@@ -192,20 +193,20 @@
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
     long&nbsp;period,
-    java.util.concurrent.TimeUnit&nbsp;unit)</code>
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.</div>
 </td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;T&gt;&gt;&nbsp;data)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>
 <div class="block">Declare a new source stream that iterates over the return of
  <code>Iterable&lt;T&gt; get()</code> from <code>data</code>.</div>
 </td>
 </tr>
 <tr id="i10" class="altColor">
-<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#strings-java.lang.String...-">strings</a></span>(java.lang.String...&nbsp;strings)</code>
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#strings-java.lang.String...-">strings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;strings)</code>
 <div class="block">Declare a stream of strings.</div>
 </td>
 </tr>
@@ -237,7 +238,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>java.lang.String&nbsp;getName()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
 <div class="block">Name of this topology.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -253,7 +254,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>source</h4>
-<pre>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;source(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;T&gt;&gt;&nbsp;data)</pre>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;source(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</pre>
 <div class="block">Declare a new source stream that iterates over the return of
  <code>Iterable&lt;T&gt; get()</code> from <code>data</code>. Once all the tuples from
  <code>data.get()</code> have been submitted on the stream, no more tuples are
@@ -261,7 +262,7 @@
  The returned stream will be endless if the iterator returned from the
  <code>Iterable</code> never completes.
  <p>
- If <code>data</code> implements <code>AutoCloseable</code>, its <code>close()</code>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
  method will be called when the topology's execution is terminated.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -286,7 +287,7 @@
 <div class="block">Declare an endless source stream. <code>data.get()</code> will be called
  repeatably. Each non-null returned value will be present on the stream.
  <p>
- If <code>data</code> implements <code>AutoCloseable</code>, its <code>close()</code>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
  method will be called when the topology's execution is terminated.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -309,13 +310,13 @@
 <h4>poll</h4>
 <pre>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;poll(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
                     long&nbsp;period,
-                    java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.
  Each non-null value returned will appear on the returned stream. Thus
  each call to {code data.get()} will result in zero tuples or one tuple on
  the stream.
  <p>
- If <code>data</code> implements <code>AutoCloseable</code>, its <code>close()</code>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
  method will be called when the topology's execution is terminated.
  </p><p>
  The poll rate may be changed when the topology is running via a runtime
@@ -373,7 +374,7 @@
  or slow processing flow.
  </P>
  <p>
- If <code>eventSetup</code> implements <code>AutoCloseable</code>, its <code>close()</code>
+ If <code>eventSetup</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
  method will be called when the topology's execution is terminated.
  </P></div>
 <dl>
@@ -395,7 +396,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>strings</h4>
-<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;strings(java.lang.String...&nbsp;strings)</pre>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;strings(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;strings)</pre>
 <div class="block">Declare a stream of strings.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -431,7 +432,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>collection</h4>
-<pre>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;collection(java.util.Collection&lt;T&gt;&nbsp;tuples)</pre>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;collection(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</pre>
 <div class="block">Declare a stream of constants from a collection.
  The returned stream will contain all the tuples in <code>tuples</code>.</div>
 <dl>
@@ -514,7 +515,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -559,6 +559,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/TopologyElement.html b/site/javadoc/latest/org/apache/edgent/topology/TopologyElement.html
index 744d460..4883997 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/TopologyElement.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/TopologyElement.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>TopologyElement (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TopologyElement (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TopologyElement (Edgent v1.1.0)";
+            parent.document.title="TopologyElement (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -189,7 +190,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -234,6 +234,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/TopologyProvider.html b/site/javadoc/latest/org/apache/edgent/topology/TopologyProvider.html
index 9c39fc1..32648b7 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/TopologyProvider.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/TopologyProvider.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>TopologyProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TopologyProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TopologyProvider (Edgent v1.1.0)";
+            parent.document.title="TopologyProvider (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -133,7 +134,7 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">newTopology</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Create a new topology with a given name.</div>
 </td>
 </tr>
@@ -158,7 +159,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>newTopology</h4>
-<pre><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;newTopology(java.lang.String&nbsp;name)</pre>
+<pre><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;newTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Create a new topology with a given name.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -166,7 +167,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>A new topology.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - for null or empty name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - for null or empty name</dd>
 </dl>
 </li>
 </ul>
@@ -209,7 +210,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -254,6 +254,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/class-use/TSink.html b/site/javadoc/latest/org/apache/edgent/topology/class-use/TSink.html
index 03a0cdb..73dc6d1 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/class-use/TSink.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/class-use/TSink.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.topology.TSink (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.TSink (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.topology.TSink (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.topology.TSink (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -115,7 +116,7 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -139,13 +140,13 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient">org.apache.edgent.connectors.wsclient</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -179,9 +180,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-">sink</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-    java.lang.ProcessBuilder&nbsp;cmd)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-">sink</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Sink a <code>TStream&lt;String&gt;</code> to a command's input.</div>
 </td>
 </tr>
@@ -200,17 +201,17 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;contents,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;basePathname)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname)</code>
 <div class="block">Write the contents of a stream to files.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;contents,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;basePathname,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;java.lang.String&gt;&gt;&nbsp;policy)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</code>
 <div class="block">Write the contents of a stream to files subject to the control
  of a file writer policy.</div>
 </td>
@@ -232,35 +233,35 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
       int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;deviceId,
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(java.lang.String&nbsp;deviceId,
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               java.lang.String&nbsp;eventId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
@@ -281,53 +282,53 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
-<div class="block">Publish a stream's tuples as device events.</div>
-</td>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
       int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
-      int&nbsp;qos)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;fqDeviceId,
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(java.lang.String&nbsp;fqDeviceId,
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               java.lang.String&nbsp;eventId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                int&nbsp;qos)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
           <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</code>
 <div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
 </td>
@@ -335,7 +336,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-java.lang.String-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-          java.lang.String&nbsp;eventId)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
 <div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
 </td>
 </tr>
@@ -364,7 +365,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
 </td>
@@ -384,9 +385,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-java.lang.String-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-       java.lang.String&nbsp;topic)</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-java.lang.String-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.</div>
 </td>
@@ -394,10 +395,10 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;keyFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;valueFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.</div>
 </td>
@@ -407,8 +408,8 @@
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified topic partitions.</div>
 </td>
@@ -428,9 +429,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-       java.lang.String&nbsp;topic,
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
        int&nbsp;qos,
        boolean&nbsp;retain)</code>
 <div class="block">Publish a <code>TStream&lt;String&gt;</code> stream's tuples as MQTT messages.</div>
@@ -439,10 +440,10 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;qos,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Boolean&gt;&nbsp;retain)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
 <div class="block">Publish a stream's tuples as MQTT messages.</div>
 </td>
 </tr>
@@ -463,15 +464,19 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
-      int&nbsp;qos)</code>&nbsp;</td>
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -490,8 +495,8 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PublishSubscribe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       java.lang.String&nbsp;topic,
-       java.lang.Class&lt;? super T&gt;&nbsp;streamType)</code>
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
 <div class="block">Publish this stream to a topic.</div>
 </td>
 </tr>
@@ -522,8 +527,8 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream)</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
 <div class="block">Send a stream's String tuples in a WebSocket text message.</div>
 </td>
 </tr>
@@ -554,8 +559,8 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream)</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
 <div class="block">Send a stream's String tuples in a WebSocket text message.</div>
 </td>
 </tr>
@@ -655,12 +660,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -690,6 +694,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/class-use/TStream.html b/site/javadoc/latest/org/apache/edgent/topology/class-use/TStream.html
index 018fd26..b428ab7 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/class-use/TStream.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/class-use/TStream.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.topology.TStream (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.TStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.topology.TStream (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.topology.TStream (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -133,7 +134,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -157,13 +158,13 @@
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient">org.apache.edgent.connectors.wsclient</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -178,64 +179,26 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.elm327">org.apache.edgent.samples.connectors.elm327</a></td>
-<td class="colLast">
-<div class="block">OBD-II protocol sample using ELM327.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.iotp">org.apache.edgent.samples.connectors.iotp</a></td>
-<td class="colLast">
-<div class="block">Samples showing device events and commands with IBM Watson IoT Platform.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.obd2">org.apache.edgent.samples.connectors.obd2</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.console">org.apache.edgent.samples.console</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the Console web application.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.topology">org.apache.edgent.samples.topology</a></td>
-<td class="colLast">
-<div class="block">Samples showing creating and executing basic topologies .</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.utils.sensor">org.apache.edgent.samples.utils.sensor</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
 <td class="colLast">
 <div class="block">Functional api to build a streaming topology.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing</a></td>
 <td class="colLast">
 <div class="block">Plumbing for a streaming topology.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
 <td class="colLast">
 <div class="block">Testing for a streaming topology.</div>
@@ -260,8 +223,8 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-         java.lang.String&nbsp;resultPartitionProperty,
-         java.lang.String&nbsp;valueProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valueProperty,
          <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
 </td>
@@ -269,8 +232,8 @@
 <tr class="rowColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-         java.lang.String&nbsp;resultPartitionProperty,
-         java.lang.String&nbsp;resultProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
          <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
          <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
@@ -279,9 +242,9 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-">mvAggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-           java.lang.String&nbsp;resultPartitionKeyProperty,
-           java.lang.String&nbsp;resultProperty,
-           java.util.List&lt;org.apache.commons.math3.util.Pair&lt;java.lang.String,<a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
 <div class="block">Aggregate against multiple <code>Numeric</code> variables contained in an JSON object.</div>
 </td>
 </tr>
@@ -313,7 +276,7 @@
         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
         <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
         long&nbsp;maximumSuppression,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Deadband filter with maximum suppression time.</div>
 </td>
 </tr>
@@ -321,7 +284,7 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadtime-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">deadtime</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         long&nbsp;deadtimePeriod,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Deadtime filter.</div>
 </td>
 </tr>
@@ -348,7 +311,7 @@
         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
         <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
         long&nbsp;maximumSuppression,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Deadband filter with maximum suppression time.</div>
 </td>
 </tr>
@@ -356,7 +319,7 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadtime-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">deadtime</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         long&nbsp;deadtimePeriod,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Deadtime filter.</div>
 </td>
 </tr>
@@ -375,18 +338,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#generate-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-">generate</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-        java.lang.ProcessBuilder&nbsp;cmd)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Create an endless <code>TStream&lt;String&gt;</code> from a long running command's output.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;java.lang.String&gt;&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#periodicSource-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-long-java.util.concurrent.TimeUnit-">periodicSource</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-              java.lang.ProcessBuilder&nbsp;cmd,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd,
               long&nbsp;period,
-              java.util.concurrent.TimeUnit&nbsp;units)</code>
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;units)</code>
 <div class="block">Create a <code>TStream&lt;String&gt;</code> from a periodically run command's output.</div>
 </td>
 </tr>
@@ -400,9 +363,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-">sink</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-    java.lang.ProcessBuilder&nbsp;cmd)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-">sink</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Sink a <code>TStream&lt;String&gt;</code> to a command's input.</div>
 </td>
 </tr>
@@ -421,35 +384,35 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;directory)</code>
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory)</code>
 <div class="block">Declare a stream containing the absolute pathname of 
  newly created file names from watching <code>directory</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-java.util.Comparator-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;directory,
-                java.util.Comparator&lt;java.io.File&gt;&nbsp;comparator)</code>
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&gt;&nbsp;comparator)</code>
 <div class="block">Declare a stream containing the absolute pathname of 
  newly created file names from watching <code>directory</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;pathnames)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames)</code>
 <div class="block">Declare a stream containing the lines read from the files
  whose pathnames correspond to each tuple on the <code>pathnames</code>
  stream.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;pathnames,
-              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,java.lang.String&gt;&nbsp;preFn,
-              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.lang.String,java.lang.Exception,java.lang.String&gt;&nbsp;postFn)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</code>
 <div class="block">Declare a stream containing the lines read from the files
  whose pathnames correspond to each tuple on the <code>pathnames</code>
  stream.</div>
@@ -465,35 +428,35 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;pathnames)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames)</code>
 <div class="block">Declare a stream containing the lines read from the files
  whose pathnames correspond to each tuple on the <code>pathnames</code>
  stream.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;pathnames,
-              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,java.lang.String&gt;&nbsp;preFn,
-              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.lang.String,java.lang.Exception,java.lang.String&gt;&nbsp;postFn)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</code>
 <div class="block">Declare a stream containing the lines read from the files
  whose pathnames correspond to each tuple on the <code>pathnames</code>
  stream.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;contents,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;basePathname)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname)</code>
 <div class="block">Write the contents of a stream to files.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;contents,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;basePathname,
-              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;java.lang.String&gt;&gt;&nbsp;policy)</code>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</code>
 <div class="block">Write the contents of a stream to files subject to the control
  of a file writer policy.</div>
 </td>
@@ -516,7 +479,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">deleteJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</code>
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
 <div class="block">Make an HTTP DELETE request with JsonObject.</div>
 </td>
 </tr>
@@ -524,7 +487,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">getJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
 <div class="block">Make an HTTP GET request with JsonObject.</div>
 </td>
 </tr>
@@ -532,7 +495,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP POST request with JsonObject.</div>
 </td>
@@ -541,7 +504,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP PUT request with JsonObject.</div>
 </td>
@@ -550,8 +513,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request for each tuple on a stream.</div>
 </td>
@@ -560,8 +523,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request with body for each tuple.<br></div>
@@ -580,7 +543,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">deleteJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</code>
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
 <div class="block">Make an HTTP DELETE request with JsonObject.</div>
 </td>
 </tr>
@@ -588,7 +551,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">getJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
 <div class="block">Make an HTTP GET request with JsonObject.</div>
 </td>
 </tr>
@@ -596,7 +559,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP POST request with JsonObject.</div>
 </td>
@@ -605,7 +568,7 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
 <div class="block">Make an HTTP PUT request with JsonObject.</div>
 </td>
@@ -614,8 +577,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request for each tuple on a stream.</div>
 </td>
@@ -624,8 +587,8 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;method,
-                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
 <div class="block">Make an HTTP request with body for each tuple.<br></div>
@@ -649,35 +612,35 @@
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">HeartBeat.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html#addHeartBeat-org.apache.edgent.connectors.iot.IotDevice-long-java.util.concurrent.TimeUnit-java.lang.String-">addHeartBeat</a></span>(<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;iotDevice,
             long&nbsp;period,
-            java.util.concurrent.TimeUnit&nbsp;unit,
-            java.lang.String&nbsp;eventId)</code>
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
 <div class="block">Add IoT device heart beat processing to a topology.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands</a></span>(java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(java.util.Set&lt;java.lang.String&gt;&nbsp;deviceIds,
-                 java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIds,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(java.lang.String&nbsp;deviceId,
-                 java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(java.lang.String&nbsp;deviceTypeId,
-               java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
@@ -693,35 +656,35 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
       int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;deviceId,
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(java.lang.String&nbsp;deviceId,
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               java.lang.String&nbsp;eventId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
@@ -742,28 +705,28 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#commands-java.lang.String...-">commands</a></span>(java.lang.String...&nbsp;commands)</code>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
 <div class="block">Create a stream of device commands as JSON objects.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commands-java.lang.String...-">commands</a></span>(java.lang.String...&nbsp;commands)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(java.util.Set&lt;java.lang.String&gt;&nbsp;fqDeviceIds,
-                 java.lang.String...&nbsp;commands)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceIds,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(java.lang.String&nbsp;fqDeviceId,
-                 java.lang.String...&nbsp;commands)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(java.lang.String&nbsp;deviceTypeId,
-               java.lang.String...&nbsp;commands)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -776,53 +739,53 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>
-<div class="block">Publish a stream's tuples as device events.</div>
-</td>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
       int&nbsp;qos)</code>
 <div class="block">Publish a stream's tuples as device events.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
-      int&nbsp;qos)</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;fqDeviceId,
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(java.lang.String&nbsp;fqDeviceId,
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
                <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-               java.lang.String&nbsp;eventId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
                int&nbsp;qos)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
           <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</code>
 <div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
 </td>
@@ -830,7 +793,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-java.lang.String-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-          java.lang.String&nbsp;eventId)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
 <div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
 </td>
 </tr>
@@ -861,7 +824,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement and
@@ -898,7 +861,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
 </td>
@@ -906,7 +869,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
                 <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
 <div class="block">For each tuple on <code>stream</code> execute an SQL statement and
@@ -930,7 +893,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribe-org.apache.edgent.function.Function-java.lang.String...-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
-         java.lang.String...&nbsp;topics)</code>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
 <div class="block">Subscribe to the specified topics and yield a stream of tuples
  from the published Kafka records.</div>
 </td>
@@ -938,7 +901,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribeBytes-org.apache.edgent.function.Function-java.lang.String...-">subscribeBytes</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
-              java.lang.String...&nbsp;topics)</code>
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
 <div class="block">Subscribe to the specified topics and yield a stream of tuples
  from the published Kafka records.</div>
 </td>
@@ -953,9 +916,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-java.lang.String-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-       java.lang.String&nbsp;topic)</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-java.lang.String-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.</div>
 </td>
@@ -963,10 +926,10 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;keyFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;valueFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified partitions of the specified topics.</div>
 </td>
@@ -976,8 +939,8 @@
 <td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topicFn,
-            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;partitionFn)</code>
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
 <div class="block">Publish the stream of tuples as Kafka key/value records
  to the specified topic partitions.</div>
 </td>
@@ -997,17 +960,17 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-">subscribe</a></span>(java.lang.String&nbsp;topicFilter,
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-">subscribe</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
          int&nbsp;qos)</code>
 <div class="block">Subscribe to the MQTT topic(s) and create a <code>TStream&lt;String&gt;</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-org.apache.edgent.function.BiFunction-">subscribe</a></span>(java.lang.String&nbsp;topicFilter,
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-org.apache.edgent.function.BiFunction-">subscribe</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
          int&nbsp;qos,
-         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.lang.String,byte[],T&gt;&nbsp;message2Tuple)</code>
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[],T&gt;&nbsp;message2Tuple)</code>
 <div class="block">Subscribe to the MQTT topic(s) and create a stream of tuples of type <code>T</code>.</div>
 </td>
 </tr>
@@ -1021,9 +984,9 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream,
-       java.lang.String&nbsp;topic,
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
        int&nbsp;qos,
        boolean&nbsp;retain)</code>
 <div class="block">Publish a <code>TStream&lt;String&gt;</code> stream's tuples as MQTT messages.</div>
@@ -1032,10 +995,10 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.String&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Integer&gt;&nbsp;qos,
-       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,java.lang.Boolean&gt;&nbsp;retain)</code>
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
 <div class="block">Publish a stream's tuples as MQTT messages.</div>
 </td>
 </tr>
@@ -1055,7 +1018,9 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-">commands</a></span>(java.lang.String...&nbsp;commands)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -1069,15 +1034,19 @@
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
-      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.Integer&gt;&nbsp;qos)</code>&nbsp;</td>
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
-      java.lang.String&nbsp;eventId,
-      int&nbsp;qos)</code>&nbsp;</td>
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -1096,8 +1065,8 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PublishSubscribe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-         java.lang.String&nbsp;topic,
-         java.lang.Class&lt;T&gt;&nbsp;streamType)</code>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType)</code>
 <div class="block">Subscribe to a published topic.</div>
 </td>
 </tr>
@@ -1113,8 +1082,8 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PublishSubscribe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-       java.lang.String&nbsp;topic,
-       java.lang.Class&lt;? super T&gt;&nbsp;streamType)</code>
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
 <div class="block">Publish this stream to a topic.</div>
 </td>
 </tr>
@@ -1145,7 +1114,7 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#receiveString--">receiveString</a></span>()</code>
 <div class="block">Create a stream of String tuples from received WebSocket text messages.</div>
 </td>
@@ -1172,8 +1141,8 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream)</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
 <div class="block">Send a stream's String tuples in a WebSocket text message.</div>
 </td>
 </tr>
@@ -1204,7 +1173,7 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#receiveString--">receiveString</a></span>()</code>
 <div class="block">Create a stream of String tuples from received WebSocket text messages.</div>
 </td>
@@ -1231,8 +1200,8 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;stream)</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
 <div class="block">Send a stream's String tuples in a WebSocket text message.</div>
 </td>
 </tr>
@@ -1309,337 +1278,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#logStream-org.apache.edgent.topology.TStream-java.lang.String-java.lang.String-">logStream</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-         java.lang.String&nbsp;eventTag,
-         java.lang.String&nbsp;baseName)</code>
-<div class="block">Log every tuple on the stream using the <code>FileStreams</code> connector.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#traceStream-org.apache.edgent.topology.TStream-java.lang.String-org.apache.edgent.function.Supplier-">traceStream</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-           java.lang.String&nbsp;sensorId,
-           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;label)</code>
-<div class="block">Trace a stream to System.out if the sensor id's "label" has been configured
- to enable tracing.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#traceStream-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">traceStream</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;label)</code>
-<div class="block">Trace a stream to System.out if the "label" has been configured
- to enable tracing.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonTuples.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#wrap-org.apache.edgent.topology.TStream-java.lang.String-">wrap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,T&gt;&gt;&nbsp;stream,
-    java.lang.String&nbsp;id)</code>
-<div class="block">Create a stream of JsonObject wrapping a stream of 
- raw <code>Pair&lt;Long msec,T reading&gt;&gt;</code> samples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#logStream-org.apache.edgent.topology.TStream-java.lang.String-java.lang.String-">logStream</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-         java.lang.String&nbsp;eventTag,
-         java.lang.String&nbsp;baseName)</code>
-<div class="block">Log every tuple on the stream using the <code>FileStreams</code> connector.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#traceStream-org.apache.edgent.topology.TStream-java.lang.String-org.apache.edgent.function.Supplier-">traceStream</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-           java.lang.String&nbsp;sensorId,
-           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;label)</code>
-<div class="block">Trace a stream to System.out if the sensor id's "label" has been configured
- to enable tracing.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationUtilities.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/ApplicationUtilities.html#traceStream-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">traceStream</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;label)</code>
-<div class="block">Trace a stream to System.out if the "label" has been configured
- to enable tracing.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">JsonTuples.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/JsonTuples.html#wrap-org.apache.edgent.topology.TStream-java.lang.String-">wrap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,T&gt;&gt;&nbsp;stream,
-    java.lang.String&nbsp;id)</code>
-<div class="block">Create a stream of JsonObject wrapping a stream of 
- raw <code>Pair&lt;Long msec,T reading&gt;&gt;</code> samples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.elm327">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonArray&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Elm327Streams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/elm327/Elm327Streams.html#poll-org.apache.edgent.connectors.serial.SerialDevice-long-java.util.concurrent.TimeUnit-org.apache.edgent.samples.connectors.elm327.Cmd...-">poll</a></span>(<a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device,
-    long&nbsp;period,
-    java.util.concurrent.TimeUnit&nbsp;unit,
-    <a href="../../../../../org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>...&nbsp;cmds)</code>
-<div class="block">Periodically execute a number of ELM327 commands.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.iotp">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IotpSensors.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/iotp/IotpSensors.html#displayMessages-org.apache.edgent.connectors.iot.IotDevice-boolean-">displayMessages</a></span>(<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device,
-               boolean&nbsp;print)</code>
-<div class="block">Subscribe to IoTP device commands with identifier <code>display</code>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.obd2">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/samples/connectors/obd2/package-summary.html">org.apache.edgent.samples.connectors.obd2</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/connectors/obd2/package-summary.html">org.apache.edgent.samples.connectors.obd2</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Obd2Streams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#increasingTemps-org.apache.edgent.connectors.serial.SerialDevice-">increasingTemps</a></span>(<a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device)</code>
-<div class="block">Get a stream of temperature readings which
- are increasing over the last minute.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Obd2Streams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/obd2/Obd2Streams.html#tach-org.apache.edgent.connectors.serial.SerialDevice-">tach</a></span>(<a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>&nbsp;device)</code>
-<div class="block">Get a stream containing vehicle speed (km/h)
- and engine revs (rpm).</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.console">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/samples/console/package-summary.html">org.apache.edgent.samples.console</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/console/package-summary.html">org.apache.edgent.samples.console</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConsoleWaterDetector.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#alertFilter-org.apache.edgent.topology.TStream-int-boolean-">alertFilter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;readingsDetector,
-           int&nbsp;wellId,
-           boolean&nbsp;simulateNormal)</code>
-<div class="block">Look through the stream and check to see if any of the measurements cause concern.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConsoleWaterDetector.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#waterDetector-org.apache.edgent.topology.Topology-int-">waterDetector</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-             int&nbsp;wellId)</code>
-<div class="block">Creates a TStream&lt;JsonObject&gt; for each sensor reading for each well.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/console/package-summary.html">org.apache.edgent.samples.console</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConsoleWaterDetector.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#splitAlert-org.apache.edgent.topology.TStream-int-">splitAlert</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;alertStream,
-          int&nbsp;wellId)</code>
-<div class="block">Splits the incoming TStream&lt;JsonObject&gt; into individual TStreams based on the sensor type</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/console/package-summary.html">org.apache.edgent.samples.console</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConsoleWaterDetector.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#alertFilter-org.apache.edgent.topology.TStream-int-boolean-">alertFilter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;readingsDetector,
-           int&nbsp;wellId,
-           boolean&nbsp;simulateNormal)</code>
-<div class="block">Look through the stream and check to see if any of the measurements cause concern.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConsoleWaterDetector.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#splitAlert-org.apache.edgent.topology.TStream-int-">splitAlert</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;alertStream,
-          int&nbsp;wellId)</code>
-<div class="block">Splits the incoming TStream&lt;JsonObject&gt; into individual TStreams based on the sensor type</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.topology">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">SensorsAggregates.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html#sensorsAB-org.apache.edgent.topology.Topology-">sensorsAB</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
-<div class="block">Create a stream containing two aggregates from two bursty
- sensors A and B that only produces output when the sensors
- (independently) are having a burst period out of their normal range.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.utils.sensor">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">SimulatedSensors.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html#burstySensor-org.apache.edgent.topology.Topology-java.lang.String-">burstySensor</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-            java.lang.String&nbsp;name)</code>
-<div class="block">Create a stream of simulated bursty sensor readings.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Boolean&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newBoolean-org.apache.edgent.topology.Topology-long-">newBoolean</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-          long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextBoolean()</code>.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,byte[]&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newBytes-org.apache.edgent.topology.Topology-long-int-">newBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-        long&nbsp;periodMsec,
-        int&nbsp;nBytes)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextBytes(byte[])</code>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Double&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newDouble-org.apache.edgent.topology.Topology-long-">newDouble</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-         long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextDouble()</code>.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Float&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newFloat-org.apache.edgent.topology.Topology-long-">newFloat</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-        long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextFloat()</code>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Double&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newGaussian-org.apache.edgent.topology.Topology-long-">newGaussian</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-           long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextGaussian()</code>.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Integer&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newInteger-org.apache.edgent.topology.Topology-long-">newInteger</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-          long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextInt()</code>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Integer&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newInteger-org.apache.edgent.topology.Topology-long-int-">newInteger</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-          long&nbsp;periodMsec,
-          int&nbsp;bound)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextInt(int)</code>.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Long&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newLong-org.apache.edgent.topology.Topology-long-">newLong</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-       long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextLong()</code>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.edgent.topology">
 <!--   -->
 </a>
@@ -1653,19 +1291,19 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</code>
+<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</code>
 <div class="block">Declares a stream that is a continuous, sliding, aggregation of
  partitions in this window.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#alias-java.lang.String-">alias</a></span>(java.lang.String&nbsp;alias)</code>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#alias-java.lang.String-">alias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
 <div class="block">Set an alias for the stream.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#asString--">asString</a></span>()</code>
 <div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
  <code>toString()</code> on each tuple.</div>
@@ -1673,14 +1311,14 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</code>
+<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</code>
 <div class="block">Declares a stream that represents a batched aggregation of
  partitions in this window.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#collection-java.util.Collection-">collection</a></span>(java.util.Collection&lt;T&gt;&nbsp;tuples)</code>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#collection-java.util.Collection-">collection</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</code>
 <div class="block">Declare a stream of constants from a collection.</div>
 </td>
 </tr>
@@ -1693,7 +1331,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;fanin,
-     java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
 <div class="block">Declare a stream that contains the output of the specified 
  <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
 </td>
@@ -1712,7 +1350,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,java.lang.Iterable&lt;U&gt;&gt;&nbsp;mapper)</code>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>
 <div class="block">Declare a new stream that maps tuples from this stream into one or
  more (or zero) tuples of a different type <code>U</code>.</div>
 </td>
@@ -1733,7 +1371,7 @@
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
     <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
-    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
 <div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
 </td>
 </tr>
@@ -1785,32 +1423,32 @@
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
     long&nbsp;period,
-    java.util.concurrent.TimeUnit&nbsp;unit)</code>
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;T&gt;&gt;&nbsp;data)</code>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>
 <div class="block">Declare a new source stream that iterates over the return of
  <code>Iterable&lt;T&gt; get()</code> from <code>data</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#strings-java.lang.String...-">strings</a></span>(java.lang.String...&nbsp;strings)</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#strings-java.lang.String...-">strings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;strings)</code>
 <div class="block">Declare a stream of strings.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#tag-java.lang.String...-">tag</a></span>(java.lang.String...&nbsp;values)</code>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#tag-java.lang.String...-">tag</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</code>
 <div class="block">Adds the specified tags to the stream.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">union</a></span>(java.util.Set&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
 <div class="block">Declare a stream that will contain all tuples from this stream and all the
  streams in <code>others</code>.</div>
 </td>
@@ -1832,15 +1470,15 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>&lt;E extends java.lang.Enum&lt;E&gt;&gt;<br>java.util.EnumMap&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(java.lang.Class&lt;E&gt;&nbsp;enumClass,
+<td class="colFirst"><code>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,E&gt;&nbsp;splitter)</code>
 <div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
  <code>splitter</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
      <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;splitter)</code>
 <div class="block">Split a stream's tuples among <code>n</code> streams as specified by
@@ -1885,14 +1523,14 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;fanin,
-     java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
 <div class="block">Declare a stream that contains the output of the specified 
  <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">union</a></span>(java.util.Set&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
 <div class="block">Declare a stream that will contain all tuples from this stream and all the
  streams in <code>others</code>.</div>
 </td>
@@ -1912,14 +1550,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-">barrier</a></span>(java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</code>
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</code>
 <div class="block">A tuple synchronization barrier.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-">barrier</a></span>(java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
        int&nbsp;queueCapacity)</code>
 <div class="block">A tuple synchronization barrier.</div>
 </td>
@@ -1928,7 +1566,7 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
              long&nbsp;delay,
-             java.util.concurrent.TimeUnit&nbsp;unit)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Insert a blocking delay between tuples.</div>
 </td>
 </tr>
@@ -1936,7 +1574,7 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingOneShotDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingOneShotDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                     long&nbsp;delay,
-                    java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Insert a blocking delay before forwarding the first tuple and
  no delay for subsequent tuples.</div>
 </td>
@@ -1945,30 +1583,30 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingThrottle-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingThrottle</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 long&nbsp;delay,
-                java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Maintain a constant blocking delay between tuples.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-          java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrentMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-             java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
-             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#gate-org.apache.edgent.topology.TStream-java.util.concurrent.Semaphore-">gate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-    java.util.concurrent.Semaphore&nbsp;semaphore)</code>
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a>&nbsp;semaphore)</code>
 <div class="block">Control the flow of tuples to an output stream.</div>
 </td>
 </tr>
@@ -1991,7 +1629,7 @@
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         int&nbsp;width,
         <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -1999,7 +1637,7 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 int&nbsp;width,
-                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -2008,7 +1646,7 @@
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallelMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
            int&nbsp;width,
            <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,java.lang.Integer,U&gt;&nbsp;mapper)</code>
+           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</code>
 <div class="block">Perform an analytic function on tuples in parallel.</div>
 </td>
 </tr>
@@ -2033,7 +1671,7 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
              long&nbsp;delay,
-             java.util.concurrent.TimeUnit&nbsp;unit)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Insert a blocking delay between tuples.</div>
 </td>
 </tr>
@@ -2041,7 +1679,7 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingOneShotDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingOneShotDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                     long&nbsp;delay,
-                    java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Insert a blocking delay before forwarding the first tuple and
  no delay for subsequent tuples.</div>
 </td>
@@ -2050,30 +1688,30 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingThrottle-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingThrottle</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 long&nbsp;delay,
-                java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Maintain a constant blocking delay between tuples.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-          java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrentMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-             java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
-             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#gate-org.apache.edgent.topology.TStream-java.util.concurrent.Semaphore-">gate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-    java.util.concurrent.Semaphore&nbsp;semaphore)</code>
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a>&nbsp;semaphore)</code>
 <div class="block">Control the flow of tuples to an output stream.</div>
 </td>
 </tr>
@@ -2096,7 +1734,7 @@
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         int&nbsp;width,
         <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -2104,7 +1742,7 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 int&nbsp;width,
-                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -2113,7 +1751,7 @@
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallelMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
            int&nbsp;width,
            <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,java.lang.Integer,U&gt;&nbsp;mapper)</code>
+           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</code>
 <div class="block">Perform an analytic function on tuples in parallel.</div>
 </td>
 </tr>
@@ -2135,14 +1773,14 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-">barrier</a></span>(java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</code>
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</code>
 <div class="block">A tuple synchronization barrier.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-">barrier</a></span>(java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
        int&nbsp;queueCapacity)</code>
 <div class="block">A tuple synchronization barrier.</div>
 </td>
@@ -2150,16 +1788,16 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-          java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-          java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
@@ -2168,7 +1806,7 @@
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         int&nbsp;width,
         <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -2177,7 +1815,7 @@
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         int&nbsp;width,
         <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -2185,7 +1823,7 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 int&nbsp;width,
-                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -2193,7 +1831,7 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 int&nbsp;width,
-                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -2228,7 +1866,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractTStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#asString--">asString</a></span>()</code>
 <div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
  <code>toString()</code> on each tuple.</div>
@@ -2236,7 +1874,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#collection-java.util.Collection-">collection</a></span>(java.util.Collection&lt;T&gt;&nbsp;tuples)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">AbstractTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#collection-java.util.Collection-">collection</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
@@ -2254,8 +1892,8 @@
 <td class="colLast"><span class="typeNameLabel">AbstractTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#of-T...-">of</a></span>(T...&nbsp;values)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#strings-java.lang.String...-">strings</a></span>(java.lang.String...&nbsp;tuples)</code>&nbsp;</td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#strings-java.lang.String...-">strings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;tuples)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
@@ -2315,27 +1953,27 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</code>
+<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</code>
 <div class="block">Window behaviour here is that:
  
  Tuples are always inserted into the partition.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#alias-java.lang.String-">alias</a></span>(java.lang.String&nbsp;alias)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#alias-java.lang.String-">alias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>protected &lt;N extends <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;,U&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
@@ -2348,7 +1986,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;fanin,
-     java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">T</a>&gt;</code></td>
@@ -2360,13 +1998,13 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,java.lang.Iterable&lt;U&gt;&gt;&nbsp;mapper)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
     <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
-    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
@@ -2391,11 +2029,11 @@
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
     long&nbsp;period,
-    java.util.concurrent.TimeUnit&nbsp;unit)</code>&nbsp;</td>
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;T&gt;&gt;&nbsp;data)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected &lt;N extends <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;,T&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
@@ -2403,11 +2041,11 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#tag-java.lang.String...-">tag</a></span>(java.lang.String...&nbsp;values)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#tag-java.lang.String...-">tag</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#union-java.util.Set-">union</a></span>(java.util.Set&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -2419,12 +2057,12 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>&lt;E extends java.lang.Enum&lt;E&gt;&gt;<br>java.util.EnumMap&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(java.lang.Class&lt;E&gt;&nbsp;enumClass,
+<td class="colFirst"><code>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,E&gt;&nbsp;splitter)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
      <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;splitter)</code>&nbsp;</td>
 </tr>
@@ -2456,11 +2094,11 @@
 <tr class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;fanin,
-     java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#union-java.util.Set-">union</a></span>(java.util.Set&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -2477,7 +2115,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Long&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#atLeastTupleCount-org.apache.edgent.topology.TStream-long-">atLeastTupleCount</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
                  long&nbsp;expectedCount)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted at
@@ -2485,7 +2123,7 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#contentsUnordered-org.apache.edgent.topology.TStream-T...-">contentsUnordered</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                  T...&nbsp;values)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted
@@ -2493,7 +2131,7 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#streamContents-org.apache.edgent.topology.TStream-T...-">streamContents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
               T...&nbsp;values)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted
@@ -2501,7 +2139,7 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Long&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#tupleCount-org.apache.edgent.topology.TStream-long-">tupleCount</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
           long&nbsp;expectedCount)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted exactly
@@ -2528,12 +2166,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -2563,6 +2200,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/class-use/TWindow.html b/site/javadoc/latest/org/apache/edgent/topology/class-use/TWindow.html
index efa562f..cb7007c 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/class-use/TWindow.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/class-use/TWindow.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.topology.TWindow (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.TWindow (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.topology.TWindow (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.topology.TWindow (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -117,8 +118,8 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-         java.lang.String&nbsp;resultPartitionProperty,
-         java.lang.String&nbsp;valueProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valueProperty,
          <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
 </td>
@@ -126,8 +127,8 @@
 <tr class="rowColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-         java.lang.String&nbsp;resultPartitionProperty,
-         java.lang.String&nbsp;resultProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
          <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
          <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
 <div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
@@ -136,9 +137,9 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-">mvAggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
-           java.lang.String&nbsp;resultPartitionKeyProperty,
-           java.lang.String&nbsp;resultProperty,
-           java.util.List&lt;org.apache.commons.math3.util.Pair&lt;java.lang.String,<a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
 <div class="block">Aggregate against multiple <code>Numeric</code> variables contained in an JSON object.</div>
 </td>
 </tr>
@@ -167,7 +168,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
-    java.util.concurrent.TimeUnit&nbsp;unit,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
     <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</code>
 <div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
  tuples on this stream for each partition.</div>
@@ -186,7 +187,7 @@
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
     <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
-    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
 <div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
 </td>
 </tr>
@@ -233,7 +234,7 @@
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
-    java.util.concurrent.TimeUnit&nbsp;unit,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
     <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -249,7 +250,7 @@
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
     <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
-    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -271,12 +272,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -306,6 +306,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/class-use/Topology.html b/site/javadoc/latest/org/apache/edgent/topology/class-use/Topology.html
index 4b69266..5b9b188 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/class-use/Topology.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/class-use/Topology.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.topology.Topology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.Topology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.topology.Topology (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.topology.Topology (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -110,7 +111,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -128,7 +129,7 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -166,71 +167,12 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.mqtt">org.apache.edgent.samples.apps.mqtt</a></td>
-<td class="colLast">
-<div class="block">Base support for Edgent MQTT based application samples.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.sensorAnalytics">org.apache.edgent.samples.apps.sensorAnalytics</a></td>
-<td class="colLast">
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.kafka">org.apache.edgent.samples.connectors.kafka</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the
- <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">
-     Apache Kafka stream connector</a>.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.mqtt">org.apache.edgent.samples.connectors.mqtt</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the
- <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">
-     MQTT stream connector</a>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.console">org.apache.edgent.samples.console</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the Console web application.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.topology">org.apache.edgent.samples.topology</a></td>
-<td class="colLast">
-<div class="block">Samples showing creating and executing basic topologies .</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.utils.sensor">org.apache.edgent.samples.utils.sensor</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
 <td class="colLast">
 <div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps">org.apache.edgent.test.svt.apps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps.iotp">org.apache.edgent.test.svt.apps.iotp</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
 <td class="colLast">
 <div class="block">Functional api to build a streaming topology.</div>
@@ -278,7 +220,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><span class="typeNameLabel">JobMonitorApp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#declareTopology-java.lang.String-">declareTopology</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><span class="typeNameLabel">JobMonitorApp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#declareTopology-java.lang.String-">declareTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Declares the following topology:</div>
 </td>
 </tr>
@@ -308,7 +250,7 @@
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">JobMonitorApp</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
              <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-             java.lang.String&nbsp;name)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
  context of the specified provider.</div>
 </td>
@@ -328,18 +270,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#generate-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-">generate</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-        java.lang.ProcessBuilder&nbsp;cmd)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
 <div class="block">Create an endless <code>TStream&lt;String&gt;</code> from a long running command's output.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;java.lang.String&gt;&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#periodicSource-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-long-java.util.concurrent.TimeUnit-">periodicSource</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-              java.lang.ProcessBuilder&nbsp;cmd,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd,
               long&nbsp;period,
-              java.util.concurrent.TimeUnit&nbsp;units)</code>
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;units)</code>
 <div class="block">Create a <code>TStream&lt;String&gt;</code> from a periodically run command's output.</div>
 </td>
 </tr>
@@ -359,11 +301,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#topology--">topology</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#topology--">topology</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#topology--">topology</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#topology--">topology</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -377,7 +319,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></code></td>
 <td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#quickstart-org.apache.edgent.topology.Topology-java.lang.String-">quickstart</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.lang.String&nbsp;deviceId)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</code>
 <div class="block">Create an <code>IotpDevice</code> connector to the Quickstart service.</div>
 </td>
 </tr>
@@ -397,19 +339,19 @@
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.io.File-">IotpDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.io.File&nbsp;optionsFile)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</code>
 <div class="block">Create a connector for the IoT device specified by <code>optionsFile</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.util.Properties-">IotpDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.util.Properties&nbsp;options)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</code>
 <div class="block">Create a connector for the IoT device specified by <code>options</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-java.io.File-">IotpGateway</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-           java.io.File&nbsp;optionsFile)</code>
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</code>
 <div class="block">Create a connector for the IoT gateway device specified by <code>optionsFile</code>.</div>
 </td>
 </tr>
@@ -421,7 +363,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-java.util.Properties-">IotpGateway</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-           java.util.Properties&nbsp;options)</code>
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</code>
 <div class="block">Create a connector for the IoT gateway device specified by <code>options</code>.</div>
 </td>
 </tr>
@@ -440,9 +382,9 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#JdbcStreams-org.apache.edgent.topology.Topology-org.apache.edgent.connectors.jdbc.CheckedSupplier-org.apache.edgent.connectors.jdbc.CheckedFunction-">JdbcStreams</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;javax.sql.DataSource&gt;&nbsp;dataSourceFn,
-           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;javax.sql.DataSource,java.sql.Connection&gt;&nbsp;connFn)</code>
-<div class="block">Create a connector that uses a JDBC <code>DataSource</code> object to get
+           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>&gt;&nbsp;dataSourceFn,
+           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&gt;&nbsp;connFn)</code>
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
  a database connection.</div>
 </td>
 </tr>
@@ -461,14 +403,14 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#KafkaConsumer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaConsumer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.Map&lt;java.lang.String,java.lang.Object&gt;&gt;&nbsp;config)</code>
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
 <div class="block">Create a consumer connector for subscribing to Kafka topics
  and creating tuples from the received messages.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#KafkaProducer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaProducer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.util.Map&lt;java.lang.String,java.lang.Object&gt;&gt;&nbsp;config)</code>
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
 <div class="block">Create a producer connector for publishing tuples to Kafka topics.s</div>
 </td>
 </tr>
@@ -502,8 +444,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#MqttStreams-org.apache.edgent.topology.Topology-java.lang.String-java.lang.String-">MqttStreams</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-           java.lang.String&nbsp;url,
-           java.lang.String&nbsp;clientId)</code>
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;url,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</code>
 <div class="block">Create a connector to the specified server.</div>
 </td>
 </tr>
@@ -541,13 +483,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-">MqttDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.util.Properties&nbsp;properties)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</code>
 <div class="block">Create an MqttDevice connector.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.connectors.mqtt.MqttConfig-">MqttDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-          java.util.Properties&nbsp;properties,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties,
           <a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;mqttConfig)</code>
 <div class="block">Create an MqttDevice connector.</div>
 </td>
@@ -580,13 +522,13 @@
 <tbody>
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-">Jsr356WebSocketClient</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                     java.util.Properties&nbsp;config)</code>
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config)</code>
 <div class="block">Create a new Web Socket Client connector.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.function.Supplier-">Jsr356WebSocketClient</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                     java.util.Properties&nbsp;config,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config,
                      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;javax.websocket.WebSocketContainer&gt;&nbsp;containerFn)</code>
 <div class="block">Create a new Web Socket Client connector.</div>
 </td>
@@ -626,7 +568,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DevelopmentProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
       com.google.gson.JsonObject&nbsp;config)</code>&nbsp;</td>
 </tr>
@@ -661,11 +603,11 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
       com.google.gson.JsonObject&nbsp;config)</code>&nbsp;</td>
 </tr>
@@ -691,7 +633,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#newTopology-java.lang.String-">newTopology</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Create a new topology with a given name.</div>
 </td>
 </tr>
@@ -711,13 +653,13 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
 <div class="block">Submit an executable.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.concurrent.Future&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
       com.google.gson.JsonObject&nbsp;config)</code>
 <div class="block">Submit an executable.</div>
@@ -737,20 +679,20 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
 <div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
 <div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
            <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
@@ -758,7 +700,7 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
            <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
@@ -788,7 +730,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AppService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><span class="typeNameLabel">AppService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -802,7 +744,7 @@
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">AppService</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-          java.lang.String&nbsp;alias)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
 <div class="block">Create an <code>ApplicationService</code> instance.</div>
 </td>
 </tr>
@@ -830,272 +772,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
-<caption><span>Fields in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> declared as <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></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>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractApplication.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#t">t</a></span></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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>protected abstract void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractApplication.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
-<div class="block">Build the application's topology.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractApplication.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
-<div class="block">A hook for a subclass to do things prior to the invocation
- of <a href="../../../../../org/apache/edgent/samples/apps/AbstractApplication.html#buildTopology-org.apache.edgent.topology.Topology-"><code>AbstractApplication.buildTopology(Topology)</code></a>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.mqtt">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">DeviceCommsApp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractMqttApplication.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.sensorAnalytics">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">SensorAnalyticsApplication.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html#Sensor1-org.apache.edgent.topology.Topology-org.apache.edgent.samples.apps.sensorAnalytics.SensorAnalyticsApplication-">Sensor1</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-       <a href="../../../../../org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics">SensorAnalyticsApplication</a>&nbsp;app)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.kafka">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a> that return <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PublisherApp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/kafka/PublisherApp.html#buildAppTopology--">buildAppTopology</a></span>()</code>
-<div class="block">Create a topology for the publisher application.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SubscriberApp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/kafka/SubscriberApp.html#buildAppTopology--">buildAppTopology</a></span>()</code>
-<div class="block">Create a topology for the subscriber application.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.mqtt">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a> that return <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PublisherApp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/mqtt/PublisherApp.html#buildAppTopology--">buildAppTopology</a></span>()</code>
-<div class="block">Create a topology for the publisher application.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SubscriberApp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html#buildAppTopology--">buildAppTopology</a></span>()</code>
-<div class="block">Create a topology for the subscriber application.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.console">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/samples/console/package-summary.html">org.apache.edgent.samples.console</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/console/package-summary.html">org.apache.edgent.samples.console</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">ConsoleWaterDetector.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/console/ConsoleWaterDetector.html#waterDetector-org.apache.edgent.topology.Topology-int-">waterDetector</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-             int&nbsp;wellId)</code>
-<div class="block">Creates a TStream&lt;JsonObject&gt; for each sensor reading for each well.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.topology">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">SensorsAggregates.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/topology/SensorsAggregates.html#sensorsAB-org.apache.edgent.topology.Topology-">sensorsAB</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
-<div class="block">Create a stream containing two aggregates from two bursty
- sensors A and B that only produces output when the sensors
- (independently) are having a burst period out of their normal range.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.utils.sensor">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">SimulatedSensors.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/SimulatedSensors.html#burstySensor-org.apache.edgent.topology.Topology-java.lang.String-">burstySensor</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
-            java.lang.String&nbsp;name)</code>
-<div class="block">Create a stream of simulated bursty sensor readings.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Boolean&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newBoolean-org.apache.edgent.topology.Topology-long-">newBoolean</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-          long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextBoolean()</code>.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,byte[]&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newBytes-org.apache.edgent.topology.Topology-long-int-">newBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-        long&nbsp;periodMsec,
-        int&nbsp;nBytes)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextBytes(byte[])</code>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Double&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newDouble-org.apache.edgent.topology.Topology-long-">newDouble</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-         long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextDouble()</code>.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Float&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newFloat-org.apache.edgent.topology.Topology-long-">newFloat</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-        long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextFloat()</code>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Double&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newGaussian-org.apache.edgent.topology.Topology-long-">newGaussian</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-           long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextGaussian()</code>.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Integer&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newInteger-org.apache.edgent.topology.Topology-long-">newInteger</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-          long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextInt()</code>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Integer&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newInteger-org.apache.edgent.topology.Topology-long-int-">newInteger</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-          long&nbsp;periodMsec,
-          int&nbsp;bound)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextInt(int)</code>.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;org.apache.commons.math3.util.Pair&lt;java.lang.Long,java.lang.Long&gt;&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">PeriodicRandomSensor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html#newLong-org.apache.edgent.topology.Topology-long-">newLong</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-       long&nbsp;periodMsec)</code>
-<div class="block">Create a periodic sensor stream with readings from <code>Random.nextLong()</code>.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.edgent.streamscope">
 <!--   -->
 </a>
@@ -1116,58 +792,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">FleetManagementAnalyticsClientApplication.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html#buildTopology-org.apache.edgent.topology.Topology-">buildTopology</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html#GpsAnalyticsApplication-org.apache.edgent.topology.Topology-org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication-">GpsAnalyticsApplication</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                       <a href="../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a>&nbsp;app)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html#ObdAnalyticsApplication-org.apache.edgent.topology.Topology-org.apache.edgent.test.svt.apps.FleetManagementAnalyticsClientApplication-">ObdAnalyticsApplication</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
-                       <a href="../../../../../org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps">FleetManagementAnalyticsClientApplication</a>&nbsp;app)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps.iotp">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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>protected void</code></td>
-<td class="colLast"><span class="typeNameLabel">AbstractIotpApplication.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html#preBuildTopology-org.apache.edgent.topology.Topology-">preBuildTopology</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.edgent.topology">
 <!--   -->
 </a>
@@ -1187,7 +811,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TopologyProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">newTopology</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><span class="typeNameLabel">TopologyProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Create a new topology with a given name.</div>
 </td>
 </tr>
@@ -1228,7 +852,7 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ApplicationService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><span class="typeNameLabel">ApplicationService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
 <div class="block">Add a topology that can be started though a control mbean.</div>
 </td>
@@ -1356,7 +980,7 @@
         com.google.gson.JsonObject&nbsp;config,
         <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
         long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>&nbsp;</td>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -1378,7 +1002,7 @@
         com.google.gson.JsonObject&nbsp;config,
         <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
         long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Submit the topology for this tester and wait for it to complete, or reach
  an end condition.</div>
 </td>
@@ -1403,12 +1027,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -1438,6 +1061,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/class-use/TopologyElement.html b/site/javadoc/latest/org/apache/edgent/topology/class-use/TopologyElement.html
index a666937..7073760 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/class-use/TopologyElement.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/class-use/TopologyElement.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.topology.TopologyElement (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.TopologyElement (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.topology.TopologyElement (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.topology.TopologyElement (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -127,13 +128,13 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient">org.apache.edgent.connectors.wsclient</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -203,18 +204,18 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;directory)</code>
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory)</code>
 <div class="block">Declare a stream containing the absolute pathname of 
  newly created file names from watching <code>directory</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-java.util.Comparator-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.String&gt;&nbsp;directory,
-                java.util.Comparator&lt;java.io.File&gt;&nbsp;comparator)</code>
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&gt;&nbsp;comparator)</code>
 <div class="block">Declare a stream containing the absolute pathname of 
  newly created file names from watching <code>directory</code>.</div>
 </td>
@@ -308,8 +309,8 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">PublishSubscribe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
-         java.lang.String&nbsp;topic,
-         java.lang.Class&lt;T&gt;&nbsp;streamType)</code>
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType)</code>
 <div class="block">Subscribe to a published topic.</div>
 </td>
 </tr>
@@ -558,12 +559,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -593,6 +593,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/class-use/TopologyProvider.html b/site/javadoc/latest/org/apache/edgent/topology/class-use/TopologyProvider.html
index 7400669..0617bec 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/class-use/TopologyProvider.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/class-use/TopologyProvider.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.topology.TopologyProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.TopologyProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.topology.TopologyProvider (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.topology.TopologyProvider (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -134,7 +135,7 @@
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">JobMonitorApp</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
              <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-             java.lang.String&nbsp;name)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
  context of the specified provider.</div>
 </td>
@@ -198,8 +199,8 @@
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></span></code>
-<div class="block">IoT provider supporting multiple topologies with a single connection to a
- message hub.</div>
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.</div>
 </td>
 </tr>
 </tbody>
@@ -211,7 +212,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(java.lang.String&nbsp;name,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
            <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
@@ -250,7 +251,7 @@
 <tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">AppService</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
-          java.lang.String&nbsp;alias)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
 <div class="block">Create an <code>ApplicationService</code> instance.</div>
 </td>
 </tr>
@@ -292,12 +293,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -327,6 +327,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/json/JsonFunctions.html b/site/javadoc/latest/org/apache/edgent/topology/json/JsonFunctions.html
index a3dba5d..48c5245 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/json/JsonFunctions.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/json/JsonFunctions.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>JsonFunctions (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonFunctions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,13 +13,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="JsonFunctions (Edgent v1.1.0)";
+            parent.document.title="JsonFunctions (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.topology.json.JsonFunctions</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">JsonFunctions</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Utilities for use of JSON and Json Objects in a streaming topology.</div>
 </li>
 </ul>
@@ -154,7 +155,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#asString--">asString</a></span>()</code>
 <div class="block">Get the JSON for a JsonObject.</div>
 </td>
@@ -162,13 +163,43 @@
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;byte[],com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#fromBytes--">fromBytes</a></span>()</code>
-<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON</div>
+<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,com.google.gson.JsonObject&gt;</code></td>
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#fromString--">fromString</a></span>()</code>
-<div class="block">Create a new JsonObject from JSON</div>
+<div class="block">Create a new JsonObject from JSON.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,com.google.gson.JsonElement&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#unpartitioned--">unpartitioned</a></span>()</code>
+<div class="block">Returns a constant function that returns a zero (0) JsonElement.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfBoolean-java.lang.String-">valueOfBoolean</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Boolean</code> property.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfCharacter-java.lang.String-">valueOfCharacter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Character</code> property.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br><a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfNumber-java.lang.String-">valueOfNumber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Number</code> property.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfString-java.lang.String-">valueOfString</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>String</code> property.</div>
 </td>
 </tr>
 </table>
@@ -176,8 +207,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -216,15 +247,14 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>asString</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,java.lang.String&gt;&nbsp;asString()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;asString()</pre>
 <div class="block">Get the JSON for a JsonObject.
  
- TODO consider adding an override where the caller can specify
- the number of significant digits to include in the string representation
- of floating point types.</div>
+ <p>Returns a Function whose <code>apply(JsonObject jo)</code> returns the JSON
+ for the <code>jo</code>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>the JSON</dd>
+<dd>the Function</dd>
 </dl>
 </li>
 </ul>
@@ -234,11 +264,14 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>fromString</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.lang.String,com.google.gson.JsonObject&gt;&nbsp;fromString()</pre>
-<div class="block">Create a new JsonObject from JSON</div>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;&nbsp;fromString()</pre>
+<div class="block">Create a new JsonObject from JSON.
+ 
+ <p>Returns a Function whose <code>apply(String json)</code> creates a JsonObject
+ from the <code>json</code>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>the JsonObject</dd>
+<dd>the Function</dd>
 </dl>
 </li>
 </ul>
@@ -249,24 +282,124 @@
 <li class="blockList">
 <h4>asBytes</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,byte[]&gt;&nbsp;asBytes()</pre>
-<div class="block">Get the UTF-8 bytes representation of the JSON for a JsonObject.</div>
+<div class="block">Get the UTF-8 bytes representation of the JSON for a JsonObject.
+ 
+ <p>Returns a Function whose <code>apply(JsonObject jo)</code> returns
+ the UTF-8 bytes for the JSON of <code>jo</code>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>the byte[]</dd>
+<dd>the Function</dd>
 </dl>
 </li>
 </ul>
 <a name="fromBytes--">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>fromBytes</h4>
 <pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;byte[],com.google.gson.JsonObject&gt;&nbsp;fromBytes()</pre>
-<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON</div>
+<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON.
+ 
+ <p>Returns a Function whose <code>apply(byte[] bytes)</code> returns
+ a JsonObject from the <code>bytes</code>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>the JsonObject</dd>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+<a name="unpartitioned--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unpartitioned</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,com.google.gson.JsonElement&gt;&nbsp;unpartitioned()</pre>
+<div class="block">Returns a constant function that returns a zero (0) JsonElement.
+ 
+ <p>Useful for an unpartitioned <code>TWindow&lt;JsonObject,JsonElement&gt;</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Constant function that returns a zero (0) JsonElement.</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfNumber-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfNumber</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,com.google.gson.JsonObject&gt;&nbsp;valueOfNumber(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</pre>
+<div class="block">Create a JsonObject with a <code>Number</code> property.
+ 
+ <p>Returns a Function whose <code>apply(T v)</code> returns a JsonObject having 
+ a single property named <code>propName</code> with the value of <code>v</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - type of number</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>propName</code> - property name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfBoolean-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfBoolean</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>,com.google.gson.JsonObject&gt;&nbsp;valueOfBoolean(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</pre>
+<div class="block">Create a JsonObject with a <code>Boolean</code> property.
+ 
+ <p>Returns a Function whose <code>apply(Boolean v)</code> creates a new JsonObject having 
+ a single property named <code>propName</code> with the value of <code>v</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>propName</code> - property name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfString-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfString</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;&nbsp;valueOfString(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</pre>
+<div class="block">Create a JsonObject with a <code>String</code> property.
+ 
+ <p>Returns a Function whose <code>apply(String v)</code> creates a new JsonObject having 
+ a single property named <code>propName</code> with the value of <code>v</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>propName</code> - property name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfCharacter-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOfCharacter</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>,com.google.gson.JsonObject&gt;&nbsp;valueOfCharacter(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</pre>
+<div class="block">Create a JsonObject with a <code>Character</code> property.
+ 
+ <p>Returns a Function whose <code>apply(Character v)</code> creates a new JsonObject having 
+ a single property named <code>propName</code> with the value of <code>v</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>propName</code> - property name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
 </dl>
 </li>
 </ul>
@@ -295,7 +428,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -340,6 +472,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/json/class-use/JsonFunctions.html b/site/javadoc/latest/org/apache/edgent/topology/json/class-use/JsonFunctions.html
index 7c71aec..696dad4 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/json/class-use/JsonFunctions.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/json/class-use/JsonFunctions.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.json.JsonFunctions (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.json.JsonFunctions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.json.JsonFunctions (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.json.JsonFunctions (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/json/package-frame.html b/site/javadoc/latest/org/apache/edgent/topology/json/package-frame.html
index 36c8b60..a3558b8 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/json/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/json/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.json (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/json/package-summary.html b/site/javadoc/latest/org/apache/edgent/topology/json/package-summary.html
index b24e274..1e9c30a 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/json/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/json/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.json (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.json (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.json (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -120,7 +121,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -150,6 +150,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/json/package-tree.html b/site/javadoc/latest/org/apache/edgent/topology/json/package-tree.html
index 855e79b..092f1a7 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/json/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/json/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.json Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.json Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.json Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.json Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.topology.json.<a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json"><span class="typeNameLink">JsonFunctions</span></a></li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/json/package-use.html b/site/javadoc/latest/org/apache/edgent/topology/json/package-use.html
index e69dbd5..cb7f1c9 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/json/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/json/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.topology.json (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.topology.json (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.topology.json (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html b/site/javadoc/latest/org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html
index 82b573d..50532a2 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>ApplicationServiceMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ApplicationServiceMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ApplicationServiceMXBean (Edgent v1.1.0)";
+            parent.document.title="ApplicationServiceMXBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -130,7 +131,7 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#TYPE">TYPE</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -150,16 +151,16 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(java.lang.String&nbsp;jarURL,
-           java.lang.String&nbsp;jsonConfig)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
 <div class="block">Register a jar file containing applications with
  the application service.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-">submit</a></span>(java.lang.String&nbsp;applicationName,
-      java.lang.String&nbsp;jsonConfig)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-">submit</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
 <div class="block">Submit an application registered with the application service.</div>
 </td>
 </tr>
@@ -184,7 +185,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TYPE</h4>
-<pre>static final&nbsp;java.lang.String TYPE</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE</pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.edgent.topology.mbeans.ApplicationServiceMXBean.TYPE">Constant Field Values</a></dd>
@@ -205,17 +206,17 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>submit</h4>
-<pre>void&nbsp;submit(java.lang.String&nbsp;applicationName,
-            java.lang.String&nbsp;jsonConfig)
-     throws java.lang.Exception</pre>
+<pre>void&nbsp;submit(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Submit an application registered with the application service.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>applicationName</code> - Name of the application.</dd>
-<dd><code>jsonConfig</code> - JSON configuration serialized as a String.
+<dd><code>jsonConfig</code> - JsonObject configuration serialized as a JSON String.
  Null or an empty String is equivalent to an empty JSON object.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - Error submitting application.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Error submitting application.</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>ApplicationService</code></a></dd>
 </dl>
@@ -227,19 +228,21 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>registerJar</h4>
-<pre>void&nbsp;registerJar(java.lang.String&nbsp;jarURL,
-                 java.lang.String&nbsp;jsonConfig)
-          throws java.lang.Exception</pre>
+<pre>void&nbsp;registerJar(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Register a jar file containing applications with
- the application service. Any service providers
- in the jar of type <a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><code>TopologyBuilder</code></a> will
- be registered as applications.</div>
+ the application service.
+ 
+ <p>See <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-"><code>ApplicationService.registerJar()</code></a>
+ for further semantics and requirements on the jar.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>jarURL</code> - URL for the jar file.</dd>
-<dd><code>jsonConfig</code> - JSON configuration serialized as a String (currently unused).</dd>
+<dd><code>jsonConfig</code> - JsonObject configuration serialized as a JSON String.
+ Null or an empty String is equivalent to an empty JSON object.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - Error registering jar.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Error registering jar.</dd>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>ApplicationService</code></a>, 
 <a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><code>TopologyBuilder</code></a></dd>
@@ -271,7 +274,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -316,6 +318,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/mbeans/class-use/ApplicationServiceMXBean.html b/site/javadoc/latest/org/apache/edgent/topology/mbeans/class-use/ApplicationServiceMXBean.html
index 6284bb1..c5f7400 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/mbeans/class-use/ApplicationServiceMXBean.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/mbeans/class-use/ApplicationServiceMXBean.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.topology.mbeans.ApplicationServiceMXBean (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.mbeans.ApplicationServiceMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.topology.mbeans.ApplicationServiceMXBean (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.topology.mbeans.ApplicationServiceMXBean (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -126,12 +127,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-frame.html b/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-frame.html
index b058b68..9bfd91d 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-summary.html b/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-summary.html
index 1c825e6..60fb819 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.mbeans (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -101,6 +102,10 @@
 </a>
 <h2 title="Package org.apache.edgent.topology.mbeans Description">Package org.apache.edgent.topology.mbeans Description</h2>
 <div class="block">Controls for executing topologies.
+ <P>
+ The "Attribute Name" column values below correspond to <code>KEY</code> values defined
+ in <code>org.apache.edgent.runtime.jsoncontrol.JsonControlService</code>.
+ 
  <h3>Application Service </h3>
  <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">Application service</a>
  allows an application to be registered
@@ -122,26 +127,26 @@
     <th id="desc" align=center><b>Description</b></th>
   </tr>
  <tr>
-    <td headers="attrName"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#TYPE_KEY"><code>type</code></a></td>
+    <td headers="attrName"><code>type</code></td>
     <td headers="type">String</td>
     <td headers="value"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#TYPE"><code>appService</code></a></td>
     <td headers="desc"><code>ApplicationServiceMXBean</code> control MBean type.</td>
   </tr>
   <tr>
-    <td headers="attrName"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#OP_KEY"><code>op</code></a></td>
+    <td headers="attrName"><code>op</code></td>
     <td headers="type">String</td>
     <td headers="value"><code>submit</code></td>
     <td headers="desc">Invoke <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>submit</code></a> operation
     against the control MBean.</td>
   </tr>
   <tr>
-    <td headers="attrName"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ALIAS_KEY"><code>alias</code></a></td>
+    <td headers="attrName"><code>alias</code></td>
     <td headers="type">String</td>
     <td headers="value">Alias of control MBean.</td>
     <td headers="desc">Default is <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS"><code>edgent</code></a>.</td>
   </tr>
   <tr>
-    <td rowspan="2" headers="attrName"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ARGS_KEY"><code>args</code></a></td>
+    <td rowspan="2" headers="attrName"><code>args</code></td>
     <td rowspan="2" headers="type">List</td>
     <td headers="value">String: application name</td>
     <td headers="desc">Registered application to submit.</td>
@@ -178,7 +183,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -208,6 +212,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-tree.html b/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-tree.html
index 142f216..fe29c13 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.mbeans Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.mbeans Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -100,7 +101,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -130,6 +130,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-use.html b/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-use.html
index 46b6b34..a8539aa 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/mbeans/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.topology.mbeans (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.topology.mbeans (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -126,7 +127,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -156,6 +156,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/package-frame.html b/site/javadoc/latest/org/apache/edgent/topology/package-frame.html
index f8304f0..37bea8e 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/package-summary.html b/site/javadoc/latest/org/apache/edgent/topology/package-summary.html
index 089cc35..b042e13 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -43,7 +44,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/oplets/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/edgent/topology/json/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -157,11 +158,10 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/oplets/package-summary.html">Prev&nbsp;Package</a></li>
 <li><a href="../../../../org/apache/edgent/topology/json/package-summary.html">Next&nbsp;Package</a></li>
 </ul>
 <ul class="navList">
@@ -187,6 +187,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/package-tree.html b/site/javadoc/latest/org/apache/edgent/topology/package-tree.html
index b2ed0ef..5953ccd 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -43,7 +44,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/oplets/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/edgent/topology/json/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -108,11 +109,10 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/edgent/test/svt/utils/sensor/gps/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/oplets/package-tree.html">Prev</a></li>
 <li><a href="../../../../org/apache/edgent/topology/json/package-tree.html">Next</a></li>
 </ul>
 <ul class="navList">
@@ -138,6 +138,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/package-use.html b/site/javadoc/latest/org/apache/edgent/topology/package-use.html
index fd5f44a..ca3f256 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.topology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.topology (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.topology (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -146,7 +147,7 @@
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -176,13 +177,13 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient">org.apache.edgent.connectors.wsclient</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -220,79 +221,12 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps">org.apache.edgent.samples.apps</a></td>
-<td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.mqtt">org.apache.edgent.samples.apps.mqtt</a></td>
-<td class="colLast">
-<div class="block">Base support for Edgent MQTT based application samples.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.apps.sensorAnalytics">org.apache.edgent.samples.apps.sensorAnalytics</a></td>
-<td class="colLast">
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.elm327">org.apache.edgent.samples.connectors.elm327</a></td>
-<td class="colLast">
-<div class="block">OBD-II protocol sample using ELM327.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.iotp">org.apache.edgent.samples.connectors.iotp</a></td>
-<td class="colLast">
-<div class="block">Samples showing device events and commands with IBM Watson IoT Platform.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.kafka">org.apache.edgent.samples.connectors.kafka</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the
- <a href="../../../../org/apache/edgent/connectors/kafka/package-summary.html">
-     Apache Kafka stream connector</a>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.connectors.obd2">org.apache.edgent.samples.connectors.obd2</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.console">org.apache.edgent.samples.console</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the Console web application.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.topology">org.apache.edgent.samples.topology</a></td>
-<td class="colLast">
-<div class="block">Samples showing creating and executing basic topologies .</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.samples.utils.sensor">org.apache.edgent.samples.utils.sensor</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
 <td class="colLast">
 <div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps">org.apache.edgent.test.svt.apps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.edgent.test.svt.apps.iotp">org.apache.edgent.test.svt.apps.iotp</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
 <td class="colLast">
 <div class="block">Functional api to build a streaming topology.</div>
@@ -892,196 +826,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.samples.apps">Topology</a>
-<div class="block">A declaration of a topology of streaming data.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.samples.apps">TStream</a>
-<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.mqtt">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.samples.apps.mqtt">Topology</a>
-<div class="block">A declaration of a topology of streaming data.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.apps.sensorAnalytics">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.samples.apps.sensorAnalytics">Topology</a>
-<div class="block">A declaration of a topology of streaming data.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.elm327">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.samples.connectors.elm327">TStream</a>
-<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.iotp">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.samples.connectors.iotp">TStream</a>
-<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.kafka">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.samples.connectors.kafka">Topology</a>
-<div class="block">A declaration of a topology of streaming data.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.obd2">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/samples/connectors/obd2/package-summary.html">org.apache.edgent.samples.connectors.obd2</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.samples.connectors.obd2">TStream</a>
-<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.console">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/samples/console/package-summary.html">org.apache.edgent.samples.console</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.samples.console">Topology</a>
-<div class="block">A declaration of a topology of streaming data.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.samples.console">TStream</a>
-<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.topology">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.samples.topology">Topology</a>
-<div class="block">A declaration of a topology of streaming data.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.samples.topology">TStream</a>
-<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.utils.sensor">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.samples.utils.sensor">Topology</a>
-<div class="block">A declaration of a topology of streaming data.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.samples.utils.sensor">TStream</a>
-<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.edgent.streamscope">
 <!--   -->
 </a>
@@ -1099,40 +843,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.test.svt.apps">Topology</a>
-<div class="block">A declaration of a topology of streaming data.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="org.apache.edgent.test.svt.apps.iotp">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.test.svt.apps.iotp">Topology</a>
-<div class="block">A declaration of a topology of streaming data.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.edgent.topology">
 <!--   -->
 </a>
@@ -1347,7 +1057,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -1377,6 +1086,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html b/site/javadoc/latest/org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html
index b3b46e8..3711cd2 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>LoadBalancedSplitter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LoadBalancedSplitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="LoadBalancedSplitter (Edgent v1.1.0)";
+            parent.document.title="LoadBalancedSplitter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.topology.plumbing.LoadBalancedSplitter&lt;T&gt;</li>
@@ -113,12 +114,12 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">LoadBalancedSplitter&lt;T&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;</pre>
 <div class="block">A Load Balanced Splitter function.
  <P>
@@ -190,8 +191,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -289,7 +290,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -334,6 +334,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/plumbing/PlumbingStreams.html b/site/javadoc/latest/org/apache/edgent/topology/plumbing/PlumbingStreams.html
index 1cc876b..f420d6a 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/plumbing/PlumbingStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/plumbing/PlumbingStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>PlumbingStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PlumbingStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PlumbingStreams (Edgent v1.1.0)";
+            parent.document.title="PlumbingStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.topology.plumbing.PlumbingStreams</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">PlumbingStreams</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Plumbing utilities for <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><code>TStream</code></a>.
  Methods that manipulate the flow of tuples in a streaming topology,
  but are not part of the logic of the application.</div>
@@ -150,14 +151,14 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-">barrier</a></span>(java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</code>
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</code>
 <div class="block">A tuple synchronization barrier.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-">barrier</a></span>(java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
        int&nbsp;queueCapacity)</code>
 <div class="block">A tuple synchronization barrier.</div>
 </td>
@@ -166,7 +167,7 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
              long&nbsp;delay,
-             java.util.concurrent.TimeUnit&nbsp;unit)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Insert a blocking delay between tuples.</div>
 </td>
 </tr>
@@ -174,7 +175,7 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingOneShotDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingOneShotDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                     long&nbsp;delay,
-                    java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Insert a blocking delay before forwarding the first tuple and
  no delay for subsequent tuples.</div>
 </td>
@@ -183,30 +184,30 @@
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingThrottle-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingThrottle</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 long&nbsp;delay,
-                java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Maintain a constant blocking delay between tuples.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-          java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
-          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrentMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-             java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
-             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
 <div class="block">Perform analytics concurrently.</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#gate-org.apache.edgent.topology.TStream-java.util.concurrent.Semaphore-">gate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-    java.util.concurrent.Semaphore&nbsp;semaphore)</code>
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a>&nbsp;semaphore)</code>
 <div class="block">Control the flow of tuples to an output stream.</div>
 </td>
 </tr>
@@ -229,7 +230,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
         int&nbsp;width,
         <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -237,7 +238,7 @@
 <td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                 int&nbsp;width,
-                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
 <div class="block">Perform an analytic pipeline on tuples in parallel.</div>
 </td>
 </tr>
@@ -246,7 +247,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallelMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
            int&nbsp;width,
            <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,java.lang.Integer,U&gt;&nbsp;mapper)</code>
+           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</code>
 <div class="block">Perform an analytic function on tuples in parallel.</div>
 </td>
 </tr>
@@ -269,8 +270,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -311,7 +312,7 @@
 <h4>blockingDelay</h4>
 <pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;blockingDelay(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                                            long&nbsp;delay,
-                                           java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Insert a blocking delay between tuples.
  Returned stream is the input stream delayed by <code>delay</code>.
  <p>
@@ -350,7 +351,7 @@
 <h4>blockingThrottle</h4>
 <pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;blockingThrottle(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                                               long&nbsp;delay,
-                                              java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Maintain a constant blocking delay between tuples.
  The returned stream is the input stream throttled by <code>delay</code>.
  <p>
@@ -398,7 +399,7 @@
 <h4>blockingOneShotDelay</h4>
 <pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;blockingOneShotDelay(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                                                   long&nbsp;delay,
-                                                  java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">Insert a blocking delay before forwarding the first tuple and
  no delay for subsequent tuples.
  <p>
@@ -528,8 +529,8 @@
 <li class="blockList">
 <h4>concurrentMap</h4>
 <pre>public static&nbsp;&lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;concurrentMap(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                                               java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
-                                               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</pre>
+                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+                                               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</pre>
 <div class="block">Perform analytics concurrently.
  <P>
  This is a convenience function that calls
@@ -573,8 +574,8 @@
 <li class="blockList">
 <h4>concurrent</h4>
 <pre>public static&nbsp;&lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;concurrent(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                                            java.util.List&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
-                                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;java.util.List&lt;U&gt;,R&gt;&nbsp;combiner)</pre>
+                                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+                                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</pre>
 <div class="block">Perform analytics concurrently.
  <P>
  Process input tuples one at at time, invoking the specified
@@ -655,7 +656,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>barrier</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;T&gt;&gt;&nbsp;barrier(java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</pre>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;barrier(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</pre>
 <div class="block">A tuple synchronization barrier.
  <P>
  Same as <code>barrier(others, 1)</code>
@@ -678,8 +679,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>barrier</h4>
-<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.util.List&lt;T&gt;&gt;&nbsp;barrier(java.util.List&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
-                                                     int&nbsp;queueCapacity)</pre>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;barrier(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
+                                           int&nbsp;queueCapacity)</pre>
 <div class="block">A tuple synchronization barrier.
  <P>
  A barrier has n input streams with tuple type <code>T</code>
@@ -719,7 +720,7 @@
 <pre>public static&nbsp;&lt;T,U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;parallelMap(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                                            int&nbsp;width,
                                            <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-                                           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,java.lang.Integer,U&gt;&nbsp;mapper)</pre>
+                                           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</pre>
 <div class="block">Perform an analytic function on tuples in parallel.
  <P>
  Same as <code>parallel(stream, width, splitter, (s,ch) -&gt; s.map(t -&gt; mapper.apply(t, ch))</code>
@@ -750,7 +751,7 @@
 <pre>public static&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;parallel(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                                         int&nbsp;width,
                                         <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
-                                        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</pre>
+                                        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</pre>
 <div class="block">Perform an analytic pipeline on tuples in parallel.
  <P>
  Splits <code>stream</code> into <code>width</code> parallel processing channels,
@@ -802,7 +803,7 @@
 <h4>parallelBalanced</h4>
 <pre>public static&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;parallelBalanced(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                                                 int&nbsp;width,
-                                                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,java.lang.Integer,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</pre>
+                                                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</pre>
 <div class="block">Perform an analytic pipeline on tuples in parallel.
  <P>
  Splits <code>stream</code> into <code>width</code> parallel processing channels,
@@ -830,7 +831,7 @@
  </code></pre>
  <P>
  Note, this implementation requires that the splitter is used from
- only a single JVM.  The <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><code>DirectProvider</code></a>
+ only a single JVM.  The <code>org.apache.edgent.providers.direct.DirectProvider</code>
  provider meets this requirement.
  </P></div>
 <dl>
@@ -884,15 +885,15 @@
 <li class="blockList">
 <h4>gate</h4>
 <pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;gate(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                                  java.util.concurrent.Semaphore&nbsp;semaphore)</pre>
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a>&nbsp;semaphore)</pre>
 <div class="block">Control the flow of tuples to an output stream.
  <P>
- A <code>Semaphore</code> is used to control the flow of tuples
+ A <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent"><code>Semaphore</code></a> is used to control the flow of tuples
  through the <code>gate</code>.
  The gate acquires a permit from the
  semaphore to pass the tuple through, blocking until a permit is
  acquired (and applying backpressure upstream while blocked).
- Elsewhere, some code calls <code>Semaphore.release(int)</code>
+ Elsewhere, some code calls <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true#release-int-" title="class or interface in java.util.concurrent"><code>Semaphore.release(int)</code></a>
  to make permits available.
  </P><P>
  If a TopologyProvider is used that can distribute a topology's
@@ -961,7 +962,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -1006,6 +1006,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/plumbing/Valve.html b/site/javadoc/latest/org/apache/edgent/topology/plumbing/Valve.html
index ae8febc..53a18ca 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/plumbing/Valve.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/plumbing/Valve.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:08 EST 2017 -->
-<title>Valve (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Valve (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Valve (Edgent v1.1.0)";
+            parent.document.title="Valve (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.topology.plumbing.Valve&lt;T&gt;</li>
@@ -113,12 +114,12 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Valve&lt;T&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</pre>
 <div class="block">A generic "valve" <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><code>Predicate</code></a>.
  <p>
@@ -208,7 +209,7 @@
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html#toString--">toString</a></span>()</code>
 <div class="block">Returns a String for development/debug support.</div>
 </td>
@@ -218,8 +219,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -324,11 +325,11 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <div class="block">Returns a String for development/debug support.  Content subject to change.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -357,7 +358,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -402,6 +402,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/LoadBalancedSplitter.html b/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/LoadBalancedSplitter.html
index f9df355..bd94cf5 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/LoadBalancedSplitter.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/LoadBalancedSplitter.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.plumbing.LoadBalancedSplitter (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.plumbing.LoadBalancedSplitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.plumbing.LoadBalancedSplitter (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.plumbing.LoadBalancedSplitter (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/PlumbingStreams.html b/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/PlumbingStreams.html
index c9894f6..f365f3d 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/PlumbingStreams.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/PlumbingStreams.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.plumbing.PlumbingStreams (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.plumbing.PlumbingStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.plumbing.PlumbingStreams (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.plumbing.PlumbingStreams (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/Valve.html b/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/Valve.html
index a1d5b29..cd731fd 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/Valve.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/plumbing/class-use/Valve.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.plumbing.Valve (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.plumbing.Valve (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.plumbing.Valve (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.plumbing.Valve (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-frame.html b/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-frame.html
index 73a56d7..13fd607 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.plumbing (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-summary.html b/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-summary.html
index d969921..3af60d5 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.plumbing (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.plumbing (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.plumbing (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -134,7 +135,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -164,6 +164,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-tree.html b/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-tree.html
index 4e86afe..ba208a8 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.plumbing Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.plumbing Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.plumbing Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.plumbing Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.topology.plumbing.<a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">LoadBalancedSplitter</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.edgent.topology.plumbing.<a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">PlumbingStreams</span></a></li>
@@ -106,7 +107,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -136,6 +136,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-use.html b/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-use.html
index 35ac119..9de3677 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/plumbing/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.topology.plumbing (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.topology.plumbing (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.topology.plumbing (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/services/ApplicationService.html b/site/javadoc/latest/org/apache/edgent/topology/services/ApplicationService.html
index 90cc341..a63f604 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/services/ApplicationService.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/services/ApplicationService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>ApplicationService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ApplicationService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ApplicationService (Edgent v1.1.0)";
+            parent.document.title="ApplicationService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -106,8 +107,7 @@
 <hr>
 <br>
 <pre>public interface <span class="typeNameLabel">ApplicationService</span></pre>
-<div class="block">Application registration service.
- A service that allows registration of applications and
+<div class="block">A service that allows registration of applications and
  the ability to submit them through a control MBean.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -132,13 +132,13 @@
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS">ALIAS</a></span></code>
 <div class="block">Default alias a service registers its control MBean as.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static java.lang.String</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#SYSTEM_APP_PREFIX">SYSTEM_APP_PREFIX</a></span></code>
 <div class="block">Prefix ("edgent") reserved for system application names.</div>
 </td>
@@ -159,21 +159,21 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#getApplicationNames--">getApplicationNames</a></span>()</code>
 <div class="block">Returns the names of applications registered with this service.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(java.lang.String&nbsp;jarURL,
-           java.lang.String&nbsp;jsonConfig)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
 <div class="block">Register a jar file containing new applications.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(java.lang.String&nbsp;applicationName,
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                 <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
 <div class="block">Add a topology that can be started though a control mbean.</div>
 </td>
@@ -199,7 +199,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>ALIAS</h4>
-<pre>static final&nbsp;java.lang.String ALIAS</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ALIAS</pre>
 <div class="block">Default alias a service registers its control MBean as.
  Value is "edgent".</div>
 <dl>
@@ -214,7 +214,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SYSTEM_APP_PREFIX</h4>
-<pre>static final&nbsp;java.lang.String SYSTEM_APP_PREFIX</pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SYSTEM_APP_PREFIX</pre>
 <div class="block">Prefix ("edgent") reserved for system application names.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -236,7 +236,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>registerTopology</h4>
-<pre>void&nbsp;registerTopology(java.lang.String&nbsp;applicationName,
+<pre>void&nbsp;registerTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
                       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</pre>
 <div class="block">Add a topology that can be started though a control mbean.
  Any registration replaces any existing application with the same name.
@@ -273,13 +273,14 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>registerJar</h4>
-<pre>void&nbsp;registerJar(java.lang.String&nbsp;jarURL,
-                 java.lang.String&nbsp;jsonConfig)
-          throws java.lang.Exception</pre>
+<pre>void&nbsp;registerJar(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Register a jar file containing new applications.
- Any service provider within the jar of type <a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><code>TopologyBuilder</code></a>
- will be <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-"><code>registered</code></a> as
- a topology.
+ 
+ <p>Any <a href="http://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html?is-external=true" title="class or interface in java.util"><code>service provider</code></a> 
+ within the jar of type <a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><code>TopologyBuilder</code></a>
+ will be <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-"><code>registered</code></a>.
  
  The jar cannot have any new dependencies, its classpath will
  be the classpath of this service.</div>
@@ -288,7 +289,9 @@
 <dd><code>jarURL</code> - URL of Jar containing new applications.</dd>
 <dd><code>jsonConfig</code> - JSON configuration serialized as a String (currently unused).</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - if failure</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if failure</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html?is-external=true" title="class or interface in java.util"><code>ServiceLoader</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -298,7 +301,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getApplicationNames</h4>
-<pre>java.util.Set&lt;java.lang.String&gt;&nbsp;getApplicationNames()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getApplicationNames()</pre>
 <div class="block">Returns the names of applications registered with this service.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -331,7 +334,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -376,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/services/TopologyBuilder.html b/site/javadoc/latest/org/apache/edgent/topology/services/TopologyBuilder.html
index b65d59b..5dc5919 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/services/TopologyBuilder.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/services/TopologyBuilder.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>TopologyBuilder (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TopologyBuilder (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TopologyBuilder (Edgent v1.1.0)";
+            parent.document.title="TopologyBuilder (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -133,7 +134,7 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html#getName--">getName</a></span>()</code>
 <div class="block">Name the application will be known as.</div>
 </td>
@@ -159,7 +160,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>java.lang.String&nbsp;getName()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
 <div class="block">Name the application will be known as.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -206,7 +207,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -251,6 +251,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/services/class-use/ApplicationService.html b/site/javadoc/latest/org/apache/edgent/topology/services/class-use/ApplicationService.html
index 93c7b5c..dd43593 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/services/class-use/ApplicationService.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/services/class-use/ApplicationService.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.topology.services.ApplicationService (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.services.ApplicationService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.topology.services.ApplicationService (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.topology.services.ApplicationService (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -171,12 +172,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -206,6 +206,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/services/class-use/TopologyBuilder.html b/site/javadoc/latest/org/apache/edgent/topology/services/class-use/TopologyBuilder.html
index 8736c3e..081c700 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/services/class-use/TopologyBuilder.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/services/class-use/TopologyBuilder.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.topology.services.TopologyBuilder (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.services.TopologyBuilder (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.topology.services.TopologyBuilder (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.topology.services.TopologyBuilder (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/services/package-frame.html b/site/javadoc/latest/org/apache/edgent/topology/services/package-frame.html
index fe527e1..4bcd550 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/services/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/services/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.services (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/services/package-summary.html b/site/javadoc/latest/org/apache/edgent/topology/services/package-summary.html
index 4546076..22e851b 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/services/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/services/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.services (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.services (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.services (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -89,7 +90,8 @@
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></td>
 <td class="colLast">
-<div class="block">Application registration service.</div>
+<div class="block">A service that allows registration of applications and
+ the ability to submit them through a control MBean.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -126,7 +128,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -156,6 +157,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/services/package-tree.html b/site/javadoc/latest/org/apache/edgent/topology/services/package-tree.html
index ca4f061..5c7c1a9 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/services/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/services/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.services Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.services Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.services Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.services Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -101,7 +102,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -131,6 +131,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/services/package-use.html b/site/javadoc/latest/org/apache/edgent/topology/services/package-use.html
index 33d0083..b7d260b 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/services/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/services/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.topology.services (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.topology.services (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.topology.services (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -107,7 +108,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/edgent/topology/services/class-use/ApplicationService.html#org.apache.edgent.providers.iot">ApplicationService</a>
-<div class="block">Application registration service.</div>
+<div class="block">A service that allows registration of applications and
+ the ability to submit them through a control MBean.</div>
 </td>
 </tr>
 </tbody>
@@ -124,7 +126,8 @@
 <tbody>
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/edgent/topology/services/class-use/ApplicationService.html#org.apache.edgent.runtime.appservice">ApplicationService</a>
-<div class="block">Application registration service.</div>
+<div class="block">A service that allows registration of applications and
+ the ability to submit them through a control MBean.</div>
 </td>
 </tr>
 </tbody>
@@ -150,7 +153,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -180,6 +182,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTStream.html b/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTStream.html
index 82529f0..afc0299 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTStream.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTStream.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>AbstractTStream (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractTStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractTStream (Edgent v1.1.0)";
+            parent.document.title="AbstractTStream (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.topology.spi.AbstractTStream&lt;G,T&gt;</li>
@@ -123,7 +124,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">AbstractTStream&lt;G extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</pre>
 <div class="block">Abstract stream that uses the functional primitives to implement most
  methods.
@@ -190,7 +191,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#asString--">asString</a></span>()</code>
 <div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
  <code>toString()</code> on each tuple.</div>
@@ -238,8 +239,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TStream">
@@ -353,7 +354,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>asString</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;asString()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;asString()</pre>
 <div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
  <code>toString()</code> on each tuple. This is equivalent to
  <code>map(Object::toString)</code>.</div>
@@ -417,7 +418,7 @@
  typically used to send information to external systems, such as databases
  or dashboards.
  <p>
- If <code>sinker</code> implements <code>AutoCloseable</code>, its <code>close()</code>
+ If <code>sinker</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
  method will be called when the topology's execution is terminated.
  </P>
  <P>
@@ -466,7 +467,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -511,6 +511,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTopology.html b/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTopology.html
index e263d88..b443701 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTopology.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTopology.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>AbstractTopology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractTopology (Edgent v1.1.0)";
+            parent.document.title="AbstractTopology (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.topology.spi.AbstractTopology&lt;X&gt;</li>
@@ -122,7 +123,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">AbstractTopology&lt;X extends <a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></pre>
 <div class="block">Topology implementation that uses the basic functions to implement most
  sources streams.</div>
@@ -146,7 +147,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#AbstractTopology-java.lang.String-">AbstractTopology</a></span>(java.lang.String&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#AbstractTopology-java.lang.String-">AbstractTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -165,7 +166,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#collection-java.util.Collection-">collection</a></span>(java.util.Collection&lt;T&gt;&nbsp;tuples)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#collection-java.util.Collection-">collection</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</code>
 <div class="block">Declare a stream of constants from a collection.</div>
 </td>
 </tr>
@@ -176,7 +177,7 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#getName--">getName</a></span>()</code>
 <div class="block">Name of this topology.</div>
 </td>
@@ -198,8 +199,8 @@
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#strings-java.lang.String...-">strings</a></span>(java.lang.String...&nbsp;tuples)</code>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#strings-java.lang.String...-">strings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;tuples)</code>
 <div class="block">Declare a stream of strings.</div>
 </td>
 </tr>
@@ -214,8 +215,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.Topology">
@@ -244,7 +245,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AbstractTopology</h4>
-<pre>protected&nbsp;AbstractTopology(java.lang.String&nbsp;name)</pre>
+<pre>protected&nbsp;AbstractTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 </li>
 </ul>
 </li>
@@ -278,7 +279,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getName</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getName()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html#getName--">Topology</a></code></span></div>
 <div class="block">Name of this topology.</div>
 <dl>
@@ -297,7 +298,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>strings</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;java.lang.String&gt;&nbsp;strings(java.lang.String...&nbsp;tuples)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;strings(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;tuples)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html#strings-java.lang.String...-">Topology</a></code></span></div>
 <div class="block">Declare a stream of strings.</div>
 <dl>
@@ -344,7 +345,7 @@
 <div class="block">Declare an endless source stream. <code>data.get()</code> will be called
  repeatably. Each non-null returned value will be present on the stream.
  <p>
- If <code>data</code> implements <code>AutoCloseable</code>, its <code>close()</code>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
  method will be called when the topology's execution is terminated.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -393,7 +394,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>collection</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;collection(java.util.Collection&lt;T&gt;&nbsp;tuples)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;collection(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html#collection-java.util.Collection-">Topology</a></code></span></div>
 <div class="block">Declare a stream of constants from a collection.
  The returned stream will contain all the tuples in <code>tuples</code>.</div>
@@ -434,7 +435,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -479,6 +479,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTopologyProvider.html b/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTopologyProvider.html
index 4f42c6e..e28326f 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTopologyProvider.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/AbstractTopologyProvider.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>AbstractTopologyProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractTopologyProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractTopologyProvider (Edgent v1.1.0)";
+            parent.document.title="AbstractTopologyProvider (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.topology.spi.AbstractTopologyProvider&lt;T&gt;</li>
@@ -118,7 +119,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">AbstractTopologyProvider&lt;T extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></pre>
 </li>
 </ul>
@@ -157,7 +158,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#checkName-java.lang.String-">checkName</a></span>(java.lang.String&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#checkName-java.lang.String-">checkName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="type parameter in AbstractTopologyProvider">T</a></code></td>
@@ -167,7 +168,7 @@
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>abstract <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="type parameter in AbstractTopologyProvider">T</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#newTopology-java.lang.String-">newTopology</a></span>(java.lang.String&nbsp;name)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Create a new topology with a given name.</div>
 </td>
 </tr>
@@ -176,8 +177,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -216,7 +217,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>checkName</h4>
-<pre>protected&nbsp;void&nbsp;checkName(java.lang.String&nbsp;name)</pre>
+<pre>protected&nbsp;void&nbsp;checkName(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 </li>
 </ul>
 <a name="newTopology-java.lang.String-">
@@ -225,7 +226,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>newTopology</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="type parameter in AbstractTopologyProvider">T</a>&nbsp;newTopology(java.lang.String&nbsp;name)</pre>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="type parameter in AbstractTopologyProvider">T</a>&nbsp;newTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">TopologyProvider</a></code></span></div>
 <div class="block">Create a new topology with a given name.</div>
 <dl>
@@ -280,7 +281,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -325,6 +325,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTStream.html b/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTStream.html
index 7a3643a..7c6030e 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTStream.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTStream.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.spi.AbstractTStream (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.AbstractTStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.spi.AbstractTStream (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.AbstractTStream (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -128,12 +129,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -163,6 +163,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTopology.html b/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTopology.html
index a6e8703..7639f28 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTopology.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTopology.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.spi.AbstractTopology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.AbstractTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.spi.AbstractTopology (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.AbstractTopology (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -156,12 +157,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTopologyProvider.html b/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTopologyProvider.html
index 5a27759..ac7c18c 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTopologyProvider.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/class-use/AbstractTopologyProvider.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.spi.AbstractTopologyProvider (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.AbstractTopologyProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.spi.AbstractTopologyProvider (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.AbstractTopologyProvider (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -158,12 +159,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -193,6 +193,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/EndlessSupplier.html b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/EndlessSupplier.html
index 0299878..736d330 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/EndlessSupplier.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/EndlessSupplier.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>EndlessSupplier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>EndlessSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EndlessSupplier (Edgent v1.1.0)";
+            parent.document.title="EndlessSupplier (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">org.apache.edgent.function.WrappedFunction</a>&lt;<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&gt;</li>
@@ -114,13 +115,13 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;T&gt;&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">EndlessSupplier&lt;T&gt;</span>
 extends <a href="../../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a>&lt;<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&gt;
-implements <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;T&gt;&gt;</pre>
+implements <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;</pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../../serialized-form.html#org.apache.edgent.topology.spi.functions.EndlessSupplier">Serialized Form</a></dd>
@@ -161,7 +162,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.Iterable&lt;<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html#get--">get</a></span>()</code>
 <div class="block">Supply a value, each call to this function may return
  a different value.</div>
@@ -179,8 +180,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -219,13 +220,13 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>get</h4>
-<pre>public final&nbsp;java.lang.Iterable&lt;<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;&nbsp;get()</pre>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;&nbsp;get()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">Supplier</a></code></span></div>
 <div class="block">Supply a value, each call to this function may return
  a different value.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;&gt;</code></dd>
+<dd><code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;&gt;</code></dd>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Value supplied by this function.</dd>
 </dl>
@@ -256,7 +257,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -301,6 +301,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/class-use/EndlessSupplier.html b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/class-use/EndlessSupplier.html
index ba84ad0..f7daba5 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/class-use/EndlessSupplier.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/class-use/EndlessSupplier.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.spi.functions.EndlessSupplier (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.functions.EndlessSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.spi.functions.EndlessSupplier (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.functions.EndlessSupplier (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-frame.html b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-frame.html
index 89defab..4cae41e 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi.functions (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.functions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-summary.html b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-summary.html
index 3965d95..0f4b558 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi.functions (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.functions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.spi.functions (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.spi.functions (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -109,7 +110,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -139,6 +139,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-tree.html b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-tree.html
index ed54e32..78500a8 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi.functions Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.functions Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.spi.functions Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.spi.functions Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,9 +80,9 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">WrappedFunction</span></a>&lt;F&gt; (implements java.io.Serializable)
+<li type="circle">org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">WrappedFunction</span></a>&lt;F&gt; (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.edgent.topology.spi.functions.<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions"><span class="typeNameLink">EndlessSupplier</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
 </ul>
@@ -108,7 +109,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -138,6 +138,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-use.html b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-use.html
index f6c14cb..61135d9 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/functions/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.topology.spi.functions (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.spi.functions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.topology.spi.functions (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.topology.spi.functions (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/AbstractTWindow.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/AbstractTWindow.html
index bfec6af..2367c5a 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/AbstractTWindow.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/AbstractTWindow.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>AbstractTWindow (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractTWindow (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractTWindow (Edgent v1.1.0)";
+            parent.document.title="AbstractTWindow (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.topology.spi.graph.AbstractTWindow&lt;T,K&gt;</li>
@@ -118,7 +119,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">AbstractTWindow&lt;T,K&gt;</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;T,K&gt;</pre>
 </li>
 </ul>
@@ -161,8 +162,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TWindow">
@@ -261,7 +262,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -306,6 +306,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/ConnectorStream.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/ConnectorStream.html
index f3b8580..92780bc 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/ConnectorStream.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/ConnectorStream.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>ConnectorStream (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ConnectorStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ConnectorStream (Edgent v1.1.0)";
+            parent.document.title="ConnectorStream (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">org.apache.edgent.topology.spi.AbstractTStream</a>&lt;G,T&gt;</li>
@@ -181,7 +182,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#alias-java.lang.String-">alias</a></span>(java.lang.String&nbsp;alias)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#alias-java.lang.String-">alias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
 <div class="block">Set an alias for the stream.</div>
 </td>
 </tr>
@@ -196,7 +197,7 @@
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;fanin,
-     java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>
 <div class="block">Declare a stream that contains the output of the specified 
  <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
 </td>
@@ -209,19 +210,19 @@
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,java.lang.Iterable&lt;U&gt;&gt;&nbsp;mapper)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>
 <div class="block">Declare a new stream that maps tuples from this stream into one or
  more (or zero) tuples of a different type <code>U</code>.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#getAlias--">getAlias</a></span>()</code>
 <div class="block">Returns the stream's alias if any.</div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>java.util.Set&lt;java.lang.String&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#getTags--">getTags</a></span>()</code>
 <div class="block">Returns the set of tags associated with this stream.</div>
 </td>
@@ -234,7 +235,7 @@
 <td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
     <a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
-    <a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+    <a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
 <div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
 </td>
 </tr>
@@ -259,7 +260,7 @@
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
-    java.util.concurrent.TimeUnit&nbsp;unit,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
     <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</code>
 <div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
  tuples on this stream for each partition.</div>
@@ -293,15 +294,15 @@
 </td>
 </tr>
 <tr id="i17" class="rowColor">
-<td class="colFirst"><code>&lt;E extends java.lang.Enum&lt;E&gt;&gt;<br>java.util.EnumMap&lt;E,<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(java.lang.Class&lt;E&gt;&nbsp;enumClass,
+<td class="colFirst"><code>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
      <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,E&gt;&nbsp;splitter)</code>
 <div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
  <code>splitter</code>.</div>
 </td>
 </tr>
 <tr id="i18" class="altColor">
-<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
      <a href="../../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;splitter)</code>
 <div class="block">Split a stream's tuples among <code>n</code> streams as specified by
@@ -310,19 +311,19 @@
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#tag-java.lang.String...-">tag</a></span>(java.lang.String...&nbsp;values)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#tag-java.lang.String...-">tag</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</code>
 <div class="block">Adds the specified tags to the stream.</div>
 </td>
 </tr>
 <tr id="i20" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#toString--">toString</a></span>()</code>
 <div class="block">Intended only as a debug aid and content is not guaranteed.</div>
 </td>
 </tr>
 <tr id="i21" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#union-java.util.Set-">union</a></span>(java.util.Set&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>
 <div class="block">Declare a stream that will contain all tuples from this stream and all the
  streams in <code>others</code>.</div>
 </td>
@@ -339,8 +340,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -487,7 +488,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>flatMap</h4>
-<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;flatMap(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,java.lang.Iterable&lt;U&gt;&gt;&nbsp;mapper)</pre>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;flatMap(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">TStream</a></code></span></div>
 <div class="block">Declare a new stream that maps tuples from this stream into one or
  more (or zero) tuples of a different type <code>U</code>. For each tuple
@@ -530,8 +531,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>split</h4>
-<pre>public&nbsp;java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;split(int&nbsp;n,
-                                        <a href="../../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;splitter)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;split(int&nbsp;n,
+                              <a href="../../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;splitter)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-">TStream</a></code></span></div>
 <div class="block">Split a stream's tuples among <code>n</code> streams as specified by
  <code>splitter</code>.
@@ -600,8 +601,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>split</h4>
-<pre>public&nbsp;&lt;E extends java.lang.Enum&lt;E&gt;&gt;&nbsp;java.util.EnumMap&lt;E,<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;split(java.lang.Class&lt;E&gt;&nbsp;enumClass,
-                                                                           <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,E&gt;&nbsp;splitter)</pre>
+<pre>public&nbsp;&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;split(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
+                                                       <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,E&gt;&nbsp;splitter)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">TStream</a></code></span></div>
 <div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
  <code>splitter</code>.</div>
@@ -685,7 +686,7 @@
 <li class="blockList">
 <h4>fanin</h4>
 <pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;fanin(<a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;fanin,
-                            java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</pre>
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">TStream</a></code></span></div>
 <div class="block">Declare a stream that contains the output of the specified 
  <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
@@ -751,7 +752,7 @@
 <li class="blockList">
 <h4>last</h4>
 <pre>public&nbsp;&lt;K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;last(long&nbsp;time,
-                             java.util.concurrent.TimeUnit&nbsp;unit,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
                              <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">TStream</a></code></span></div>
 <div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
@@ -794,7 +795,7 @@
 <h4>join</h4>
 <pre>public&nbsp;&lt;J,U,K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;&nbsp;join(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
                                <a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
-                               <a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,java.util.List&lt;U&gt;,J&gt;&nbsp;joiner)</pre>
+                               <a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">TStream</a></code></span></div>
 <div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.
  For each tuple on this stream, it is joined with the contents of <code>window</code>
@@ -867,7 +868,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>union</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;union(java.util.Set&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;union(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">TStream</a></code></span></div>
 <div class="block">Declare a stream that will contain all tuples from this stream and all the
  streams in <code>others</code>. A stream cannot be unioned with itself, in
@@ -888,7 +889,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>tag</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;tag(java.lang.String...&nbsp;values)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;tag(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#tag-java.lang.String...-">TStream</a></code></span></div>
 <div class="block">Adds the specified tags to the stream.  Adding the same tag to 
  a stream multiple times will not change the result beyond the 
@@ -907,7 +908,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getTags</h4>
-<pre>public&nbsp;java.util.Set&lt;java.lang.String&gt;&nbsp;getTags()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#getTags--">TStream</a></code></span></div>
 <div class="block">Returns the set of tags associated with this stream.</div>
 <dl>
@@ -922,7 +923,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>alias</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;alias(java.lang.String&nbsp;alias)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;alias(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#alias-java.lang.String-">TStream</a></code></span></div>
 <div class="block">Set an alias for the stream.
  <p>
@@ -948,7 +949,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getAlias</h4>
-<pre>public&nbsp;java.lang.String&nbsp;getAlias()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#getAlias--">TStream</a></code></span></div>
 <div class="block">Returns the stream's alias if any.</div>
 <dl>
@@ -963,11 +964,11 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
 <div class="block">Intended only as a debug aid and content is not guaranteed.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -996,7 +997,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -1041,6 +1041,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/GraphTopology.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/GraphTopology.html
index bfb0afa..ced2acb 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/GraphTopology.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/GraphTopology.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>GraphTopology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GraphTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="GraphTopology (Edgent v1.1.0)";
+            parent.document.title="GraphTopology (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">org.apache.edgent.topology.spi.AbstractTopology</a>&lt;X&gt;</li>
@@ -150,7 +151,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#GraphTopology-java.lang.String-">GraphTopology</a></span>(java.lang.String&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#GraphTopology-java.lang.String-">GraphTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -177,13 +178,13 @@
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
     long&nbsp;period,
-    java.util.concurrent.TimeUnit&nbsp;unit)</code>
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;T&gt;&gt;&nbsp;data)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>
 <div class="block">Declare a new source stream that iterates over the return of
  <code>Iterable&lt;T&gt; get()</code> from <code>data</code>.</div>
 </td>
@@ -204,8 +205,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.Topology">
@@ -234,7 +235,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>GraphTopology</h4>
-<pre>protected&nbsp;GraphTopology(java.lang.String&nbsp;name)</pre>
+<pre>protected&nbsp;GraphTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 </li>
 </ul>
 </li>
@@ -262,7 +263,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>source</h4>
-<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;source(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;java.lang.Iterable&lt;T&gt;&gt;&nbsp;data)</pre>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;source(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">Topology</a></code></span></div>
 <div class="block">Declare a new source stream that iterates over the return of
  <code>Iterable&lt;T&gt; get()</code> from <code>data</code>. Once all the tuples from
@@ -271,7 +272,7 @@
  The returned stream will be endless if the iterator returned from the
  <code>Iterable</code> never completes.
  <p>
- If <code>data</code> implements <code>AutoCloseable</code>, its <code>close()</code>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
  method will be called when the topology's execution is terminated.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -294,14 +295,14 @@
 <h4>poll</h4>
 <pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;poll(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
                            long&nbsp;period,
-                           java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">Topology</a></code></span></div>
 <div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.
  Each non-null value returned will appear on the returned stream. Thus
  each call to {code data.get()} will result in zero tuples or one tuple on
  the stream.
  <p>
- If <code>data</code> implements <code>AutoCloseable</code>, its <code>close()</code>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
  method will be called when the topology's execution is terminated.
  </p><p>
  The poll rate may be changed when the topology is running via a runtime
@@ -360,7 +361,7 @@
  or slow processing flow.
  </P>
  <p>
- If <code>eventSetup</code> implements <code>AutoCloseable</code>, its <code>close()</code>
+ If <code>eventSetup</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
  method will be called when the topology's execution is terminated.
  </P></div>
 <dl>
@@ -401,7 +402,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -446,6 +446,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/TWindowImpl.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/TWindowImpl.html
index 2cb123a..ee883c5 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/TWindowImpl.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/TWindowImpl.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>TWindowImpl (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TWindowImpl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TWindowImpl (Edgent v1.1.0)";
+            parent.document.title="TWindowImpl (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph.AbstractTWindow</a>&lt;T,K&gt;</li>
@@ -140,14 +141,14 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</code>
 <div class="block">Declares a stream that is a continuous, sliding, aggregation of
  partitions in this window.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</code>
 <div class="block">Declares a stream that represents a batched aggregation of
  partitions in this window.</div>
 </td>
@@ -168,8 +169,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -191,7 +192,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>aggregate</h4>
-<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;aggregate(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</pre>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;aggregate(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">TWindow</a></code></span></div>
 <div class="block">Declares a stream that is a continuous, sliding, aggregation of
  partitions in this window.
@@ -212,7 +213,6 @@
  empty if the eviction results in an empty partition.</LI>
  </UL>
  A non-null <code>aggregator</code> result is added to the returned stream.
- </P>
  <P>
  Thus the returned stream will contain a sequence of tuples where the
  most recent tuple represents the most up to date aggregation of a
@@ -233,7 +233,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>batch</h4>
-<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;batch(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</pre>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;batch(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">TWindow</a></code></span></div>
 <div class="block">Declares a stream that represents a batched aggregation of
  partitions in this window. 
@@ -250,7 +250,6 @@
  </UL>
  A non-null <code>batcher</code> result is added to the returned stream.
  The partition's contents are cleared after a batch is processed.
- </P>
  <P>
  Thus the returned stream will contain a sequence of tuples where the
  most recent tuple represents the most up to date aggregation of a
@@ -303,7 +302,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -348,6 +346,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html
index 5949291..8da7f4d 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>TWindowTimeImpl (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TWindowTimeImpl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TWindowTimeImpl (Edgent v1.1.0)";
+            parent.document.title="TWindowTimeImpl (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph.AbstractTWindow</a>&lt;T,K&gt;</li>
@@ -140,7 +141,7 @@
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</code>
 <div class="block">Window behaviour here is that:
  
  Tuples are always inserted into the partition.</div>
@@ -148,7 +149,7 @@
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</code>
 <div class="block">Declares a stream that represents a batched aggregation of
  partitions in this window.</div>
 </td>
@@ -158,7 +159,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#getTime--">getTime</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.util.concurrent.TimeUnit</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#getUnit--">getUnit</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
@@ -173,8 +174,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -196,7 +197,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>aggregate</h4>
-<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;aggregate(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</pre>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;aggregate(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</pre>
 <div class="block">Window behaviour here is that:
  
  Tuples are always inserted into the partition.
@@ -227,7 +228,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>batch</h4>
-<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;batch(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</pre>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;batch(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">TWindow</a></code></span></div>
 <div class="block">Declares a stream that represents a batched aggregation of
  partitions in this window. 
@@ -244,7 +245,6 @@
  </UL>
  A non-null <code>batcher</code> result is added to the returned stream.
  The partition's contents are cleared after a batch is processed.
- </P>
  <P>
  Thus the returned stream will contain a sequence of tuples where the
  most recent tuple represents the most up to date aggregation of a
@@ -278,7 +278,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getUnit</h4>
-<pre>public&nbsp;java.util.concurrent.TimeUnit&nbsp;getUnit()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;getUnit()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the unit</dd>
@@ -310,7 +310,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -355,6 +354,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/AbstractTWindow.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/AbstractTWindow.html
index f3b224a..48ed6d4 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/AbstractTWindow.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/AbstractTWindow.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.spi.graph.AbstractTWindow (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.graph.AbstractTWindow (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.AbstractTWindow (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.AbstractTWindow (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -130,12 +131,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -165,6 +165,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/ConnectorStream.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/ConnectorStream.html
index 57aaad3..e261466 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/ConnectorStream.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/ConnectorStream.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.spi.graph.ConnectorStream (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.graph.ConnectorStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.ConnectorStream (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.ConnectorStream (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -126,12 +127,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -161,6 +161,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/GraphTopology.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/GraphTopology.html
index 614368c..1e46222 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/GraphTopology.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/GraphTopology.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.spi.graph.GraphTopology (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.graph.GraphTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.GraphTopology (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.GraphTopology (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -131,12 +132,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -166,6 +166,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/TWindowImpl.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/TWindowImpl.html
index 610ab85..4c03aac 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/TWindowImpl.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/TWindowImpl.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.spi.graph.TWindowImpl (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.graph.TWindowImpl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.TWindowImpl (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.TWindowImpl (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/TWindowTimeImpl.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/TWindowTimeImpl.html
index 05810c6..fd9fda4 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/TWindowTimeImpl.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/class-use/TWindowTimeImpl.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.spi.graph.TWindowTimeImpl (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.graph.TWindowTimeImpl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.TWindowTimeImpl (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.TWindowTimeImpl (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-frame.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-frame.html
index e0490b9..18d0227 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi.graph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-summary.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-summary.html
index 351af74..4045e61 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi.graph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.spi.graph (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.spi.graph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -130,7 +131,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -160,6 +160,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-tree.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-tree.html
index ea28834..e1bc068 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi.graph Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.spi.graph Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.spi.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopology</span></a>&lt;X&gt; (implements org.apache.edgent.topology.<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>)
 <ul>
@@ -119,7 +120,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -149,6 +149,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-use.html b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-use.html
index 33a2162..44aeeea 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/graph/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.topology.spi.graph (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.spi.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.topology.spi.graph (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.topology.spi.graph (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -153,7 +154,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -183,6 +183,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/package-frame.html b/site/javadoc/latest/org/apache/edgent/topology/spi/package-frame.html
index 58d1984..6fe5019 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/package-summary.html b/site/javadoc/latest/org/apache/edgent/topology/spi/package-summary.html
index f4fabed..8264cd6 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.spi (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.spi (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -123,7 +124,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -153,6 +153,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/package-tree.html b/site/javadoc/latest/org/apache/edgent/topology/spi/package-tree.html
index 920bdf7..846a77a 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.spi Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.spi Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopology</span></a>&lt;X&gt; (implements org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>)</li>
 <li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopologyProvider</span></a>&lt;T&gt; (implements org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>)</li>
@@ -106,7 +107,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -136,6 +136,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/package-use.html b/site/javadoc/latest/org/apache/edgent/topology/spi/package-use.html
index 6d899a7..ec38d65 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.topology.spi (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.topology.spi (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.topology.spi (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -181,7 +182,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -211,6 +211,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/AbstractTester.html b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/AbstractTester.html
index a876969..d657c62 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/AbstractTester.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/AbstractTester.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:09 EST 2017 -->
-<title>AbstractTester (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractTester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="AbstractTester (Edgent v1.1.0)";
+            parent.document.title="AbstractTester (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.topology.spi.tester.AbstractTester</li>
@@ -114,7 +115,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">AbstractTester</span>
-extends java.lang.Object
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></pre>
 </li>
 </ul>
@@ -152,7 +153,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>
 <div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.</div>
 </td>
@@ -163,7 +164,7 @@
         com.google.gson.JsonObject&nbsp;config,
         <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
         long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Submit the topology for this tester and wait for it to complete, or reach
  an end condition.</div>
 </td>
@@ -179,8 +180,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.tester.Tester">
@@ -237,8 +238,8 @@
                         com.google.gson.JsonObject&nbsp;config,
                         <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
                         long&nbsp;timeout,
-                        java.util.concurrent.TimeUnit&nbsp;unit)
-                 throws java.lang.Exception</pre>
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">Tester</a></code></span></div>
 <div class="block">Submit the topology for this tester and wait for it to complete, or reach
  an end condition. If the topology does not complete or reach its end
@@ -266,7 +267,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The value of <code>endCondition.valid()</code>.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - Failure submitting or executing the topology.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Failure submitting or executing the topology.</dd>
 </dl>
 </li>
 </ul>
@@ -294,7 +295,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>and</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Boolean&gt;&nbsp;and(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</pre>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;and(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#and-org.apache.edgent.topology.tester.Condition...-">Tester</a></code></span></div>
 <div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.
  The result of the condition is <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html#valid--"><code>Condition.valid()</code></a></div>
@@ -333,7 +334,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -378,6 +378,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/class-use/AbstractTester.html b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/class-use/AbstractTester.html
index a31b16a..dd7a4cf 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/class-use/AbstractTester.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/class-use/AbstractTester.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Class org.apache.edgent.topology.spi.tester.AbstractTester (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.tester.AbstractTester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.topology.spi.tester.AbstractTester (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.tester.AbstractTester (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-frame.html b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-frame.html
index 30681ff..3e81a21 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi.tester (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-summary.html b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-summary.html
index 756508c..1d30c52 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi.tester (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.spi.tester (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.spi.tester (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -109,7 +110,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -139,6 +139,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-tree.html b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-tree.html
index c14216b..179b5c3 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.spi.tester Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.tester Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.spi.tester Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.spi.tester Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,7 +80,7 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
 <li type="circle">org.apache.edgent.topology.spi.tester.<a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester"><span class="typeNameLink">AbstractTester</span></a> (implements org.apache.edgent.topology.tester.<a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>)</li>
 </ul>
@@ -104,7 +105,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -134,6 +134,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-use.html b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-use.html
index 4f4456a..f6ad686 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/spi/tester/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.topology.spi.tester (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.spi.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.topology.spi.tester (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.topology.spi.tester (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -91,7 +92,6 @@
 <li><a href="../../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/tester/Condition.html b/site/javadoc/latest/org/apache/edgent/topology/tester/Condition.html
index 5b0cf59..44999d5 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/tester/Condition.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/tester/Condition.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Condition (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Condition (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Condition (Edgent v1.1.0)";
+            parent.document.title="Condition (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -191,7 +192,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -236,6 +236,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/tester/Tester.html b/site/javadoc/latest/org/apache/edgent/topology/tester/Tester.html
index 0a8d578..7e98d91 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/tester/Tester.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/tester/Tester.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Tester (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Tester (Edgent v1.1.0)";
+            parent.document.title="Tester (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -145,13 +146,13 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>
 <div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Long&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#atLeastTupleCount-org.apache.edgent.topology.TStream-long-">atLeastTupleCount</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
                  long&nbsp;expectedCount)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted at
@@ -164,13 +165,13 @@
         com.google.gson.JsonObject&nbsp;config,
         <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
         long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Submit the topology for this tester and wait for it to complete, or reach
  an end condition.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#contentsUnordered-org.apache.edgent.topology.TStream-T...-">contentsUnordered</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                  T...&nbsp;values)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted
@@ -184,7 +185,7 @@
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#streamContents-org.apache.edgent.topology.TStream-T...-">streamContents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
               T...&nbsp;values)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted
@@ -192,7 +193,7 @@
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Long&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#tupleCount-org.apache.edgent.topology.TStream-long-">tupleCount</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
           long&nbsp;expectedCount)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted exactly
@@ -227,8 +228,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>tupleCount</h4>
-<pre><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Long&gt;&nbsp;tupleCount(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
-                                     long&nbsp;expectedCount)</pre>
+<pre><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;tupleCount(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
+                           long&nbsp;expectedCount)</pre>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted exactly
  <code>expectedCount</code> number of tuples. The function may be evaluated
  after the <a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-"><code>submit</code></a>
@@ -255,8 +256,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>atLeastTupleCount</h4>
-<pre><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Long&gt;&nbsp;atLeastTupleCount(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
-                                            long&nbsp;expectedCount)</pre>
+<pre><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;atLeastTupleCount(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
+                                  long&nbsp;expectedCount)</pre>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted at
  least <code>expectedCount</code> number of tuples. The function may be
  evaluated after the
@@ -285,8 +286,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>streamContents</h4>
-<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.util.List&lt;T&gt;&gt;&nbsp;streamContents(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                                                T...&nbsp;values)</pre>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;streamContents(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                      T...&nbsp;values)</pre>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted
  tuples matching <code>values</code> in the same order. <BR>
  The <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#getResult--"><code>result</code></a> of the returned
@@ -315,8 +316,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>contentsUnordered</h4>
-<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.util.List&lt;T&gt;&gt;&nbsp;contentsUnordered(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
-                                                   T...&nbsp;values)</pre>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;contentsUnordered(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                         T...&nbsp;values)</pre>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted
  tuples matching <code>values</code> in any order. <BR>
  The <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#getResult--"><code>result</code></a> of the returned
@@ -343,7 +344,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>and</h4>
-<pre><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Boolean&gt;&nbsp;and(<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</pre>
+<pre><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;and(<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</pre>
 <div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.
  The result of the condition is <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#valid--"><code>Condition.valid()</code></a></div>
 <dl>
@@ -364,8 +365,8 @@
                  com.google.gson.JsonObject&nbsp;config,
                  <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
                  long&nbsp;timeout,
-                 java.util.concurrent.TimeUnit&nbsp;unit)
-          throws java.lang.Exception</pre>
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
+          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Submit the topology for this tester and wait for it to complete, or reach
  an end condition. If the topology does not complete or reach its end
  condition before <code>timeout</code> then it is terminated.
@@ -390,7 +391,7 @@
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The value of <code>endCondition.valid()</code>.</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.Exception</code> - Failure submitting or executing the topology.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Failure submitting or executing the topology.</dd>
 </dl>
 </li>
 </ul>
@@ -434,7 +435,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -479,6 +479,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/tester/class-use/Condition.html b/site/javadoc/latest/org/apache/edgent/topology/tester/class-use/Condition.html
index 521b1fb..13a1319 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/tester/class-use/Condition.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/tester/class-use/Condition.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.topology.tester.Condition (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.tester.Condition (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.topology.tester.Condition (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.topology.tester.Condition (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -109,7 +110,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractTester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>&nbsp;</td>
 </tr>
 </tbody>
@@ -122,7 +123,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">AbstractTester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -131,7 +132,7 @@
         com.google.gson.JsonObject&nbsp;config,
         <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
         long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>&nbsp;</td>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -148,13 +149,13 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>
 <div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Long&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#atLeastTupleCount-org.apache.edgent.topology.TStream-long-">atLeastTupleCount</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
                  long&nbsp;expectedCount)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted at
@@ -162,7 +163,7 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#contentsUnordered-org.apache.edgent.topology.TStream-T...-">contentsUnordered</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
                  T...&nbsp;values)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted
@@ -170,7 +171,7 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.util.List&lt;T&gt;&gt;</code></td>
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#streamContents-org.apache.edgent.topology.TStream-T...-">streamContents</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
               T...&nbsp;values)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted
@@ -178,7 +179,7 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Long&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#tupleCount-org.apache.edgent.topology.TStream-long-">tupleCount</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
           long&nbsp;expectedCount)</code>
 <div class="block">Return a condition that evaluates if <code>stream</code> has submitted exactly
@@ -195,7 +196,7 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>
 <div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.</div>
 </td>
@@ -206,7 +207,7 @@
         com.google.gson.JsonObject&nbsp;config,
         <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
         long&nbsp;timeout,
-        java.util.concurrent.TimeUnit&nbsp;unit)</code>
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">Submit the topology for this tester and wait for it to complete, or reach
  an end condition.</div>
 </td>
@@ -231,12 +232,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -266,6 +266,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/tester/class-use/Tester.html b/site/javadoc/latest/org/apache/edgent/topology/tester/class-use/Tester.html
index 2994608..183dcf6 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/tester/class-use/Tester.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/tester/class-use/Tester.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.topology.tester.Tester (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.tester.Tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.topology.tester.Tester (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.topology.tester.Tester (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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>
@@ -202,12 +203,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -237,6 +237,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/tester/package-frame.html b/site/javadoc/latest/org/apache/edgent/topology/tester/package-frame.html
index e4e6d6d..938ae21 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/tester/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/tester/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.tester (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/tester/package-summary.html b/site/javadoc/latest/org/apache/edgent/topology/tester/package-summary.html
index 68dda43..1cd655b 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/tester/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/tester/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.tester (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.tester (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.tester (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -127,7 +128,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -157,6 +157,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/tester/package-tree.html b/site/javadoc/latest/org/apache/edgent/topology/tester/package-tree.html
index 88b21a0..cbd1e75 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/tester/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/tester/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.topology.tester Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.tester Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.topology.tester Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.topology.tester Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -105,7 +106,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -135,6 +135,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/topology/tester/package-use.html b/site/javadoc/latest/org/apache/edgent/topology/tester/package-use.html
index 15058a2..7bb3835 100644
--- a/site/javadoc/latest/org/apache/edgent/topology/tester/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/topology/tester/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.topology.tester (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.topology.tester (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.topology.tester (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -223,7 +224,6 @@
 <li><a href="../../../../../index-all.html">Index</a></li>
 <li><a href="../../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -253,6 +253,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/InsertionTimeList.html b/site/javadoc/latest/org/apache/edgent/window/InsertionTimeList.html
index 58b6fb8..dd5fccf 100644
--- a/site/javadoc/latest/org/apache/edgent/window/InsertionTimeList.html
+++ b/site/javadoc/latest/org/apache/edgent/window/InsertionTimeList.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>InsertionTimeList (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>InsertionTimeList (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InsertionTimeList (Edgent v1.1.0)";
+            parent.document.title="InsertionTimeList (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,16 +98,16 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>java.util.AbstractCollection&lt;E&gt;</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">java.util.AbstractCollection</a>&lt;E&gt;</li>
 <li>
 <ul class="inheritance">
-<li>java.util.AbstractList&lt;E&gt;</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util">java.util.AbstractList</a>&lt;E&gt;</li>
 <li>
 <ul class="inheritance">
-<li>java.util.AbstractSequentialList&lt;T&gt;</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util">java.util.AbstractSequentialList</a>&lt;T&gt;</li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.window.InsertionTimeList&lt;T&gt;</li>
@@ -128,12 +129,12 @@
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>java.lang.Iterable&lt;T&gt;, java.util.Collection&lt;T&gt;, java.util.List&lt;T&gt;</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;</dd>
 </dl>
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">InsertionTimeList&lt;T&gt;</span>
-extends java.util.AbstractSequentialList&lt;T&gt;</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util">AbstractSequentialList</a>&lt;T&gt;</pre>
 <div class="block">A window contents list that maintains insertion time.</div>
 </li>
 </ul>
@@ -151,8 +152,8 @@
 <li class="blockList"><a name="fields.inherited.from.class.java.util.AbstractList">
 <!--   -->
 </a>
-<h3>Fields inherited from class&nbsp;java.util.AbstractList</h3>
-<code>modCount</code></li>
+<h3>Fields inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util">AbstractList</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#modCount" title="class or interface in java.util">modCount</a></code></li>
 </ul>
 </li>
 </ul>
@@ -194,7 +195,7 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/InsertionTimeList.html#clear--">clear</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>java.util.ListIterator&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ListIterator.html?is-external=true" title="class or interface in java.util">ListIterator</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/InsertionTimeList.html#listIterator-int-">listIterator</a></span>(int&nbsp;index)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
@@ -206,50 +207,50 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractSequentialList">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.util.AbstractSequentialList</h3>
-<code>add, addAll, get, iterator, remove, set</code></li>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util">AbstractSequentialList</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#add-int-E-" title="class or interface in java.util">add</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#addAll-int-java.util.Collection-" title="class or interface in java.util">addAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#get-int-" title="class or interface in java.util">get</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#iterator--" title="class or interface in java.util">iterator</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#remove-int-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#set-int-E-" title="class or interface in java.util">set</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractList">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.util.AbstractList</h3>
-<code>equals, hashCode, indexOf, lastIndexOf, listIterator, removeRange, subList</code></li>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util">AbstractList</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#hashCode--" title="class or interface in java.util">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#indexOf-java.lang.Object-" title="class or interface in java.util">indexOf</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#lastIndexOf-java.lang.Object-" title="class or interface in java.util">lastIndexOf</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#listIterator--" title="class or interface in java.util">listIterator</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#removeRange-int-int-" title="class or interface in java.util">removeRange</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#subList-int-int-" title="class or interface in java.util">subList</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractCollection">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.util.AbstractCollection</h3>
-<code>addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString</code></li>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">AbstractCollection</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#addAll-java.util.Collection-" title="class or interface in java.util">addAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#contains-java.lang.Object-" title="class or interface in java.util">contains</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#containsAll-java.util.Collection-" title="class or interface in java.util">containsAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#isEmpty--" title="class or interface in java.util">isEmpty</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#remove-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#removeAll-java.util.Collection-" title="class or interface in java.util">removeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#retainAll-java.util.Collection-" title="class or interface in java.util">retainAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#toArray--" title="class or interface in java.util">toArray</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#toArray-T:A-" title="class or interface in java.util">toArray</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#toString--" title="class or interface in java.util">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.util.List">
 <!--   -->
 </a>
-<h3>Methods inherited from interface&nbsp;java.util.List</h3>
-<code>addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray</code></li>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#addAll-java.util.Collection-" title="class or interface in java.util">addAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#contains-java.lang.Object-" title="class or interface in java.util">contains</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#containsAll-java.util.Collection-" title="class or interface in java.util">containsAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#isEmpty--" title="class or interface in java.util">isEmpty</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#remove-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#removeAll-java.util.Collection-" title="class or interface in java.util">removeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#replaceAll-java.util.function.UnaryOperator-" title="class or interface in java.util">replaceAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#retainAll-java.util.Collection-" title="class or interface in java.util">retainAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#sort-java.util.Comparator-" title="class or interface in java.util">sort</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#spliterator--" title="class or interface in java.util">spliterator</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#toArray--" title="class or interface in java.util">toArray</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#toArray-T:A-" title="class or interface in java.util">toArray</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.util.Collection">
 <!--   -->
 </a>
-<h3>Methods inherited from interface&nbsp;java.util.Collection</h3>
-<code>parallelStream, removeIf, stream</code></li>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#parallelStream--" title="class or interface in java.util">parallelStream</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#removeIf-java.util.function.Predicate-" title="class or interface in java.util">removeIf</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#stream--" title="class or interface in java.util">stream</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Iterable">
 <!--   -->
 </a>
-<h3>Methods inherited from interface&nbsp;java.lang.Iterable</h3>
-<code>forEach</code></li>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#forEach-java.util.function.Consumer-" title="class or interface in java.lang">forEach</a></code></li>
 </ul>
 </li>
 </ul>
@@ -288,12 +289,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>listIterator</h4>
-<pre>public&nbsp;java.util.ListIterator&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;&nbsp;listIterator(int&nbsp;index)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ListIterator.html?is-external=true" title="class or interface in java.util">ListIterator</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;&nbsp;listIterator(int&nbsp;index)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>listIterator</code>&nbsp;in interface&nbsp;<code>java.util.List&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#listIterator-int-" title="class or interface in java.util">listIterator</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>listIterator</code>&nbsp;in class&nbsp;<code>java.util.AbstractSequentialList&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#listIterator-int-" title="class or interface in java.util">listIterator</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util">AbstractSequentialList</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -308,11 +309,11 @@
 <pre>public&nbsp;boolean&nbsp;add(<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&nbsp;tuple)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>add</code>&nbsp;in interface&nbsp;<code>java.util.Collection&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#add-E-" title="class or interface in java.util">add</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>add</code>&nbsp;in interface&nbsp;<code>java.util.List&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#add-E-" title="class or interface in java.util">add</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>add</code>&nbsp;in class&nbsp;<code>java.util.AbstractList&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#add-E-" title="class or interface in java.util">add</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util">AbstractList</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -325,11 +326,11 @@
 <pre>public&nbsp;void&nbsp;clear()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>clear</code>&nbsp;in interface&nbsp;<code>java.util.Collection&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#clear--" title="class or interface in java.util">clear</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>clear</code>&nbsp;in interface&nbsp;<code>java.util.List&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#clear--" title="class or interface in java.util">clear</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>clear</code>&nbsp;in class&nbsp;<code>java.util.AbstractList&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#clear--" title="class or interface in java.util">clear</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util">AbstractList</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -342,11 +343,11 @@
 <pre>public&nbsp;int&nbsp;size()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>size</code>&nbsp;in interface&nbsp;<code>java.util.Collection&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#size--" title="class or interface in java.util">size</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>size</code>&nbsp;in interface&nbsp;<code>java.util.List&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#size--" title="class or interface in java.util">size</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>size</code>&nbsp;in class&nbsp;<code>java.util.AbstractCollection&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#size--" title="class or interface in java.util">size</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">AbstractCollection</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
@@ -375,7 +376,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -420,6 +420,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/Partition.html b/site/javadoc/latest/org/apache/edgent/window/Partition.html
index 0422a3b..e3b7315 100644
--- a/site/javadoc/latest/org/apache/edgent/window/Partition.html
+++ b/site/javadoc/latest/org/apache/edgent/window/Partition.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Partition (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Partition (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Partition (Edgent v1.1.0)";
+            parent.document.title="Partition (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -93,7 +94,7 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.edgent.window</div>
-<h2 title="Interface Partition" class="title">Interface Partition&lt;T,K,L extends java.util.List&lt;T&gt;&gt;</h2>
+<h2 title="Interface Partition" class="title">Interface Partition&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</h2>
 </div>
 <div class="contentContainer">
 <div class="description">
@@ -107,12 +108,12 @@
 </dl>
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd>java.io.Serializable</dd>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
 </dl>
 <hr>
 <br>
-<pre>public interface <span class="typeNameLabel">Partition&lt;T,K,L extends java.util.List&lt;T&gt;&gt;</span>
-extends java.io.Serializable</pre>
+<pre>public interface <span class="typeNameLabel">Partition&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
 <div class="block">A partition within a <code>Window</code>. The contents of the list
  returned by <code>getContents</code> is stable when synchronizing 
  on the partition object. For example:
@@ -303,7 +304,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -348,6 +348,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/PartitionedState.html b/site/javadoc/latest/org/apache/edgent/window/PartitionedState.html
index d6a663a..78f7c6e 100644
--- a/site/javadoc/latest/org/apache/edgent/window/PartitionedState.html
+++ b/site/javadoc/latest/org/apache/edgent/window/PartitionedState.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>PartitionedState (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PartitionedState (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PartitionedState (Edgent v1.1.0)";
+            parent.document.title="PartitionedState (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.window.PartitionedState&lt;K,S&gt;</li>
@@ -115,7 +116,7 @@
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">PartitionedState&lt;K,S&gt;</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Maintain partitioned state.
  Abstract class that can be used to maintain state 
  for each keyed partition in a <a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><code>Window</code></a>.</div>
@@ -180,8 +181,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -303,7 +304,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -348,6 +348,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/Policies.html b/site/javadoc/latest/org/apache/edgent/window/Policies.html
index 5addfd9..a60ff89 100644
--- a/site/javadoc/latest/org/apache/edgent/window/Policies.html
+++ b/site/javadoc/latest/org/apache/edgent/window/Policies.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Policies (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Policies (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Policies (Edgent v1.1.0)";
+            parent.document.title="Policies (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.window.Policies</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Policies</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Common window policies.</div>
 </li>
 </ul>
@@ -148,35 +149,35 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#alwaysInsert--">alwaysInsert</a></span>()</code>
 <div class="block">Returns an insertion policy that indicates the tuple
  is to be inserted into the partition.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#countContentsPolicy-int-">countContentsPolicy</a></span>(int&nbsp;count)</code>
 <div class="block">Returns a count-based contents policy.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#doNothing--">doNothing</a></span>()</code>
 <div class="block">A <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><code>BiConsumer</code></a> policy which does nothing.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#evictAll--">evictAll</a></span>()</code>
 <div class="block">Returns a Consumer representing an evict determiner that evict all tuples
  from the window.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,java.util.List&lt;T&gt;&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#evictAllAndScheduleEvictWithProcess-long-java.util.concurrent.TimeUnit-">evictAllAndScheduleEvictWithProcess</a></span>(long&nbsp;time,
-                                   java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">An eviction policy which processes the window, evicts all tuples, and 
  schedules the next eviction after the appropriate interval.</div>
 </td>
@@ -184,12 +185,12 @@
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#evictOlderWithProcess-long-java.util.concurrent.TimeUnit-">evictOlderWithProcess</a></span>(long&nbsp;time,
-                     java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">An eviction policy which evicts all tuples that are older than a specified time.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#evictOldest--">evictOldest</a></span>()</code>
 <div class="block">Returns an evict determiner that evicts the oldest tuple.</div>
 </td>
@@ -199,30 +200,30 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#insertionTimeList--">insertionTimeList</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#processOnInsert--">processOnInsert</a></span>()</code>
 <div class="block">Returns a trigger policy that triggers
  processing on every insert.</div>
 </td>
 </tr>
 <tr id="i9" class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#processWhenFullAndEvict-int-">processWhenFullAndEvict</a></span>(int&nbsp;size)</code>
 <div class="block">Returns a trigger policy that triggers when the size of a partition
  equals or exceeds a value, and then evicts its contents.</div>
 </td>
 </tr>
 <tr id="i10" class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#scheduleEvictIfEmpty-long-java.util.concurrent.TimeUnit-">scheduleEvictIfEmpty</a></span>(long&nbsp;time,
-                    java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">A policy which schedules a future partition eviction if the partition is empty.</div>
 </td>
 </tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#scheduleEvictOnFirstInsert-long-java.util.concurrent.TimeUnit-">scheduleEvictOnFirstInsert</a></span>(long&nbsp;time,
-                          java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">A policy which schedules a future partition eviction on the first insert.</div>
 </td>
 </tr>
@@ -231,8 +232,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -271,8 +272,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>scheduleEvictIfEmpty</h4>
-<pre>public static&nbsp;&lt;T,K,L extends java.util.List&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;scheduleEvictIfEmpty(long&nbsp;time,
-                                                                                                    java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;scheduleEvictIfEmpty(long&nbsp;time,
+                                                                                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">A policy which schedules a future partition eviction if the partition is empty.
  This can be used as a contents policy that is scheduling the eviction of
  the tuple just about to be inserted.</div>
@@ -295,8 +296,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>scheduleEvictOnFirstInsert</h4>
-<pre>public static&nbsp;&lt;T,K,L extends java.util.List&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;scheduleEvictOnFirstInsert(long&nbsp;time,
-                                                                                                          java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;scheduleEvictOnFirstInsert(long&nbsp;time,
+                                                                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">A policy which schedules a future partition eviction on the first insert.
  This can be used as a contents policy that schedules the eviction of tuples
  as a batch.</div>
@@ -320,7 +321,7 @@
 <li class="blockList">
 <h4>evictOlderWithProcess</h4>
 <pre>public static&nbsp;&lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;&gt;&nbsp;evictOlderWithProcess(long&nbsp;time,
-                                                                                        java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+                                                                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">An eviction policy which evicts all tuples that are older than a specified time.
  If any tuples remain in the partition, it schedules their eviction after
  an appropriate interval.</div>
@@ -342,8 +343,8 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>evictAllAndScheduleEvictWithProcess</h4>
-<pre>public static&nbsp;&lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,java.util.List&lt;T&gt;&gt;&gt;&nbsp;evictAllAndScheduleEvictWithProcess(long&nbsp;time,
-                                                                                                   java.util.concurrent.TimeUnit&nbsp;unit)</pre>
+<pre>public static&nbsp;&lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&gt;&nbsp;evictAllAndScheduleEvictWithProcess(long&nbsp;time,
+                                                                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
 <div class="block">An eviction policy which processes the window, evicts all tuples, and 
  schedules the next eviction after the appropriate interval.</div>
 <dl>
@@ -364,7 +365,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>alwaysInsert</h4>
-<pre>public static&nbsp;&lt;T,K,L extends java.util.List&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;alwaysInsert()</pre>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;alwaysInsert()</pre>
 <div class="block">Returns an insertion policy that indicates the tuple
  is to be inserted into the partition.</div>
 <dl>
@@ -383,7 +384,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>countContentsPolicy</h4>
-<pre>public static&nbsp;&lt;T,K,L extends java.util.List&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;countContentsPolicy(int&nbsp;count)</pre>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;countContentsPolicy(int&nbsp;count)</pre>
 <div class="block">Returns a count-based contents policy.
  If, when called, the number of tuples in the partition is
  greater than equal to <code>count</code> then <code>partition.evict()</code>
@@ -406,7 +407,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>evictAll</h4>
-<pre>public static&nbsp;&lt;T,K,L extends java.util.List&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictAll()</pre>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictAll()</pre>
 <div class="block">Returns a Consumer representing an evict determiner that evict all tuples
  from the window.</div>
 <dl>
@@ -425,7 +426,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>evictOldest</h4>
-<pre>public static&nbsp;&lt;T,K,L extends java.util.List&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictOldest()</pre>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictOldest()</pre>
 <div class="block">Returns an evict determiner that evicts the oldest tuple.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -443,7 +444,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>processOnInsert</h4>
-<pre>public static&nbsp;&lt;T,K,L extends java.util.List&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;processOnInsert()</pre>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;processOnInsert()</pre>
 <div class="block">Returns a trigger policy that triggers
  processing on every insert.</div>
 <dl>
@@ -462,7 +463,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>processWhenFullAndEvict</h4>
-<pre>public static&nbsp;&lt;T,K,L extends java.util.List&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;processWhenFullAndEvict(int&nbsp;size)</pre>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;processWhenFullAndEvict(int&nbsp;size)</pre>
 <div class="block">Returns a trigger policy that triggers when the size of a partition
  equals or exceeds a value, and then evicts its contents.</div>
 <dl>
@@ -484,7 +485,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>doNothing</h4>
-<pre>public static&nbsp;&lt;T,K,L extends java.util.List&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;doNothing()</pre>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;doNothing()</pre>
 <div class="block">A <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><code>BiConsumer</code></a> policy which does nothing.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -530,7 +531,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -575,6 +575,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/Window.html b/site/javadoc/latest/org/apache/edgent/window/Window.html
index 3c361f0..67270bd 100644
--- a/site/javadoc/latest/org/apache/edgent/window/Window.html
+++ b/site/javadoc/latest/org/apache/edgent/window/Window.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Window (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Window (Edgent v1.1.0)";
+            parent.document.title="Window (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -93,7 +94,7 @@
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.edgent.window</div>
-<h2 title="Interface Window" class="title">Interface Window&lt;T,K,L extends java.util.List&lt;T&gt;&gt;</h2>
+<h2 title="Interface Window" class="title">Interface Window&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</h2>
 </div>
 <div class="contentContainer">
 <div class="description">
@@ -107,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>public interface <span class="typeNameLabel">Window&lt;T,K,L extends java.util.List&lt;T&gt;&gt;</span></pre>
+<pre>public interface <span class="typeNameLabel">Window&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</span></pre>
 <div class="block">Partitioned window of tuples.
  Conceptually a window maintains a continuously
  changing subset of tuples on a stream, such as the last ten tuples
@@ -162,7 +163,7 @@
 </td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getInsertionPolicy--">getInsertionPolicy</a></span>()</code>
 <div class="block">Returns the insertion policy of the window.</div>
 </td>
@@ -174,19 +175,19 @@
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.util.List&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getPartitionProcessor--">getPartitionProcessor</a></span>()</code>
 <div class="block">Returns the partition processor associated with the window.</div>
 </td>
 </tr>
 <tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.util.Map&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getPartitions--">getPartitions</a></span>()</code>
 <div class="block">Retrieves the partitions in the window.</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
-<td class="colFirst"><code>java.util.concurrent.ScheduledExecutorService</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getScheduledExecutorService--">getScheduledExecutorService</a></span>()</code>
 <div class="block">Returns the ScheduledExecutorService associated with the window.</div>
 </td>
@@ -205,13 +206,13 @@
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#registerPartitionProcessor-org.apache.edgent.function.BiConsumer-">registerPartitionProcessor</a></span>(<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.util.List&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;windowProcessor)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#registerPartitionProcessor-org.apache.edgent.function.BiConsumer-">registerPartitionProcessor</a></span>(<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;windowProcessor)</code>
 <div class="block">Register a WindowProcessor.</div>
 </td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#registerScheduledExecutorService-java.util.concurrent.ScheduledExecutorService-">registerScheduledExecutorService</a></span>(java.util.concurrent.ScheduledExecutorService&nbsp;ses)</code>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#registerScheduledExecutorService-java.util.concurrent.ScheduledExecutorService-">registerScheduledExecutorService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;ses)</code>
 <div class="block">Register a ScheduledExecutorService.</div>
 </td>
 </tr>
@@ -268,7 +269,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>registerPartitionProcessor</h4>
-<pre>void&nbsp;registerPartitionProcessor(<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.util.List&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;windowProcessor)</pre>
+<pre>void&nbsp;registerPartitionProcessor(<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;windowProcessor)</pre>
 <div class="block">Register a WindowProcessor.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -282,7 +283,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>registerScheduledExecutorService</h4>
-<pre>void&nbsp;registerScheduledExecutorService(java.util.concurrent.ScheduledExecutorService&nbsp;ses)</pre>
+<pre>void&nbsp;registerScheduledExecutorService(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;ses)</pre>
 <div class="block">Register a ScheduledExecutorService.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -296,7 +297,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getInsertionPolicy</h4>
-<pre><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,java.lang.Boolean&gt;&nbsp;getInsertionPolicy()</pre>
+<pre><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;getInsertionPolicy()</pre>
 <div class="block">Returns the insertion policy of the window.
   is called</div>
 <dl>
@@ -343,7 +344,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getPartitionProcessor</h4>
-<pre><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;java.util.List&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;getPartitionProcessor()</pre>
+<pre><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;getPartitionProcessor()</pre>
 <div class="block">Returns the partition processor associated with the window.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -357,7 +358,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>getScheduledExecutorService</h4>
-<pre>java.util.concurrent.ScheduledExecutorService&nbsp;getScheduledExecutorService()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;getScheduledExecutorService()</pre>
 <div class="block">Returns the ScheduledExecutorService associated with the window.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -412,7 +413,7 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getPartitions</h4>
-<pre>java.util.Map&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;&nbsp;getPartitions()</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;&nbsp;getPartitions()</pre>
 <div class="block">Retrieves the partitions in the window. The map of partitions
  is stable when synchronizing on the intrinsic lock of the map,
  for example:
@@ -454,7 +455,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -499,6 +499,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/Windows.html b/site/javadoc/latest/org/apache/edgent/window/Windows.html
index 69b6439..0679f95 100644
--- a/site/javadoc/latest/org/apache/edgent/window/Windows.html
+++ b/site/javadoc/latest/org/apache/edgent/window/Windows.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:10 EST 2017 -->
-<title>Windows (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Windows (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Windows (Edgent v1.1.0)";
+            parent.document.title="Windows (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -97,7 +98,7 @@
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
-<li>java.lang.Object</li>
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
 <li>org.apache.edgent.window.Windows</li>
@@ -110,7 +111,7 @@
 <hr>
 <br>
 <pre>public class <span class="typeNameLabel">Windows</span>
-extends java.lang.Object</pre>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Factory to create <code>Window</code> implementations.</div>
 </li>
 </ul>
@@ -148,7 +149,7 @@
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,java.util.LinkedList&lt;T&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html?is-external=true" title="class or interface in java.util">LinkedList</a>&lt;T&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Windows.html#lastNProcessOnInsert-int-org.apache.edgent.function.Function-">lastNProcessOnInsert</a></span>(int&nbsp;count,
                     <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction)</code>
 <div class="block">Return a window that maintains the last <code>count</code> tuples inserted
@@ -156,8 +157,8 @@
 </td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -171,8 +172,8 @@
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
-<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
 </ul>
 </li>
 </ul>
@@ -211,12 +212,12 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>window</h4>
-<pre>public static&nbsp;&lt;T,K,L extends java.util.List&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;&nbsp;window(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
-                                                                     <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
-                                                                     <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
-                                                                     <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
-                                                                     <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
-                                                                     <a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</pre>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;&nbsp;window(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+                                                           <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+                                                           <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+                                                           <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+                                                           <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+                                                           <a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</pre>
 <div class="block">Create a window using the passed in policies.</div>
 <dl>
 <dt><span class="paramLabel">Type Parameters:</span></dt>
@@ -245,8 +246,8 @@
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lastNProcessOnInsert</h4>
-<pre>public static&nbsp;&lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,java.util.LinkedList&lt;T&gt;&gt;&nbsp;lastNProcessOnInsert(int&nbsp;count,
-                                                                             <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction)</pre>
+<pre>public static&nbsp;&lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html?is-external=true" title="class or interface in java.util">LinkedList</a>&lt;T&gt;&gt;&nbsp;lastNProcessOnInsert(int&nbsp;count,
+                                                                   <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction)</pre>
 <div class="block">Return a window that maintains the last <code>count</code> tuples inserted
  with processing triggered on every insert. This provides 
  a continuous processing, where processing is invoked every
@@ -293,7 +294,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -338,6 +338,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/class-use/InsertionTimeList.html b/site/javadoc/latest/org/apache/edgent/window/class-use/InsertionTimeList.html
index 18d35a1..0018d83 100644
--- a/site/javadoc/latest/org/apache/edgent/window/class-use/InsertionTimeList.html
+++ b/site/javadoc/latest/org/apache/edgent/window/class-use/InsertionTimeList.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.window.InsertionTimeList (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.window.InsertionTimeList (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.window.InsertionTimeList (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.window.InsertionTimeList (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -107,7 +108,7 @@
 <tr class="altColor">
 <td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictOlderWithProcess-long-java.util.concurrent.TimeUnit-">evictOlderWithProcess</a></span>(long&nbsp;time,
-                     java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">An eviction policy which evicts all tuples that are older than a specified time.</div>
 </td>
 </tr>
@@ -135,12 +136,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -170,6 +170,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/class-use/Partition.html b/site/javadoc/latest/org/apache/edgent/window/class-use/Partition.html
index da8f7f4..6a9ffce 100644
--- a/site/javadoc/latest/org/apache/edgent/window/class-use/Partition.html
+++ b/site/javadoc/latest/org/apache/edgent/window/class-use/Partition.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.window.Partition (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.window.Partition (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.window.Partition (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.window.Partition (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -105,35 +106,35 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#alwaysInsert--">alwaysInsert</a></span>()</code>
 <div class="block">Returns an insertion policy that indicates the tuple
  is to be inserted into the partition.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#countContentsPolicy-int-">countContentsPolicy</a></span>(int&nbsp;count)</code>
 <div class="block">Returns a count-based contents policy.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#doNothing--">doNothing</a></span>()</code>
 <div class="block">A <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><code>BiConsumer</code></a> policy which does nothing.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictAll--">evictAll</a></span>()</code>
 <div class="block">Returns a Consumer representing an evict determiner that evict all tuples
  from the window.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,java.util.List&lt;T&gt;&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictAllAndScheduleEvictWithProcess-long-java.util.concurrent.TimeUnit-">evictAllAndScheduleEvictWithProcess</a></span>(long&nbsp;time,
-                                   java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">An eviction policy which processes the window, evicts all tuples, and 
  schedules the next eviction after the appropriate interval.</div>
 </td>
@@ -141,12 +142,12 @@
 <tr class="rowColor">
 <td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictOlderWithProcess-long-java.util.concurrent.TimeUnit-">evictOlderWithProcess</a></span>(long&nbsp;time,
-                     java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">An eviction policy which evicts all tuples that are older than a specified time.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictOldest--">evictOldest</a></span>()</code>
 <div class="block">Returns an evict determiner that evicts the oldest tuple.</div>
 </td>
@@ -164,13 +165,13 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,java.lang.Boolean&gt;</code></td>
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getInsertionPolicy--">getInsertionPolicy</a></span>()</code>
 <div class="block">Returns the insertion policy of the window.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>java.util.Map&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;</code></td>
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getPartitions--">getPartitions</a></span>()</code>
 <div class="block">Retrieves the partitions in the window.</div>
 </td>
@@ -182,30 +183,30 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#processOnInsert--">processOnInsert</a></span>()</code>
 <div class="block">Returns a trigger policy that triggers
  processing on every insert.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#processWhenFullAndEvict-int-">processWhenFullAndEvict</a></span>(int&nbsp;size)</code>
 <div class="block">Returns a trigger policy that triggers when the size of a partition
  equals or exceeds a value, and then evicts its contents.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#scheduleEvictIfEmpty-long-java.util.concurrent.TimeUnit-">scheduleEvictIfEmpty</a></span>(long&nbsp;time,
-                    java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">A policy which schedules a future partition eviction if the partition is empty.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#scheduleEvictOnFirstInsert-long-java.util.concurrent.TimeUnit-">scheduleEvictOnFirstInsert</a></span>(long&nbsp;time,
-                          java.util.concurrent.TimeUnit&nbsp;unit)</code>
+                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
 <div class="block">A policy which schedules a future partition eviction on the first insert.</div>
 </td>
 </tr>
@@ -219,8 +220,8 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -230,8 +231,8 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -241,8 +242,8 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -252,8 +253,8 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -282,12 +283,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -317,6 +317,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/class-use/PartitionedState.html b/site/javadoc/latest/org/apache/edgent/window/class-use/PartitionedState.html
index 74eacb2..2da6cbc 100644
--- a/site/javadoc/latest/org/apache/edgent/window/class-use/PartitionedState.html
+++ b/site/javadoc/latest/org/apache/edgent/window/class-use/PartitionedState.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.window.PartitionedState (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.window.PartitionedState (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.window.PartitionedState (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.window.PartitionedState (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/class-use/Policies.html b/site/javadoc/latest/org/apache/edgent/window/class-use/Policies.html
index 11158a8..facc1eb 100644
--- a/site/javadoc/latest/org/apache/edgent/window/class-use/Policies.html
+++ b/site/javadoc/latest/org/apache/edgent/window/class-use/Policies.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.window.Policies (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.window.Policies (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.window.Policies (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.window.Policies (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/class-use/Window.html b/site/javadoc/latest/org/apache/edgent/window/class-use/Window.html
index 134aec9..929256b 100644
--- a/site/javadoc/latest/org/apache/edgent/window/class-use/Window.html
+++ b/site/javadoc/latest/org/apache/edgent/window/class-use/Window.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Interface org.apache.edgent.window.Window (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.window.Window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface org.apache.edgent.window.Window (Edgent v1.1.0)";
+            parent.document.title="Uses of Interface org.apache.edgent.window.Window (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -110,8 +111,8 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#Aggregate-org.apache.edgent.window.Window-org.apache.edgent.function.BiFunction-">Aggregate</a></span>(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
-         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;java.util.List&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#Aggregate-org.apache.edgent.window.Window-org.apache.edgent.function.BiFunction-">Aggregate</a></span>(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -134,7 +135,7 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,java.util.LinkedList&lt;T&gt;&gt;</code></td>
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html?is-external=true" title="class or interface in java.util">LinkedList</a>&lt;T&gt;&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#lastNProcessOnInsert-int-org.apache.edgent.function.Function-">lastNProcessOnInsert</a></span>(int&nbsp;count,
                     <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction)</code>
 <div class="block">Return a window that maintains the last <code>count</code> tuples inserted
@@ -142,8 +143,8 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static &lt;T,K,L extends java.util.List&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,java.lang.Boolean&gt;&nbsp;insertionPolicy,
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
       <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
       <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
@@ -172,12 +173,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -207,6 +207,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/class-use/Windows.html b/site/javadoc/latest/org/apache/edgent/window/class-use/Windows.html
index c5cf5b5..2bd6376 100644
--- a/site/javadoc/latest/org/apache/edgent/window/class-use/Windows.html
+++ b/site/javadoc/latest/org/apache/edgent/window/class-use/Windows.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Uses of Class org.apache.edgent.window.Windows (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.window.Windows (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class org.apache.edgent.window.Windows (Edgent v1.1.0)";
+            parent.document.title="Uses of Class org.apache.edgent.window.Windows (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -35,7 +36,7 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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>
@@ -86,12 +87,11 @@
 <li><a href="../package-summary.html">Package</a></li>
 <li><a href="../../../../../org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="../../../../../overview-tree.html">Tree</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 class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -121,6 +121,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/package-frame.html b/site/javadoc/latest/org/apache/edgent/window/package-frame.html
index 0fc0c48..5dc9bcb 100644
--- a/site/javadoc/latest/org/apache/edgent/window/package-frame.html
+++ b/site/javadoc/latest/org/apache/edgent/window/package-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.window (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
diff --git a/site/javadoc/latest/org/apache/edgent/window/package-summary.html b/site/javadoc/latest/org/apache/edgent/window/package-summary.html
index c735dfd..a72c9dd 100644
--- a/site/javadoc/latest/org/apache/edgent/window/package-summary.html
+++ b/site/javadoc/latest/org/apache/edgent/window/package-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.window (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.window (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.window (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -87,13 +88,13 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L extends java.util.List&lt;T&gt;&gt;</td>
+<td class="colFirst"><a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</td>
 <td class="colLast">
 <div class="block">A partition within a <code>Window</code>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L extends java.util.List&lt;T&gt;&gt;</td>
+<td class="colFirst"><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</td>
 <td class="colLast">
 <div class="block">Partitioned window of tuples.</div>
 </td>
@@ -161,7 +162,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/package-tree.html b/site/javadoc/latest/org/apache/edgent/window/package-tree.html
index d63dcdf..54b7706 100644
--- a/site/javadoc/latest/org/apache/edgent/window/package-tree.html
+++ b/site/javadoc/latest/org/apache/edgent/window/package-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>org.apache.edgent.window Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.window Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="org.apache.edgent.window Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="org.apache.edgent.window Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -79,13 +80,13 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">java.util.AbstractCollection&lt;E&gt; (implements java.util.Collection&lt;E&gt;)
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractCollection</span></a>&lt;E&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;E&gt;)
 <ul>
-<li type="circle">java.util.AbstractList&lt;E&gt; (implements java.util.List&lt;E&gt;)
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractList</span></a>&lt;E&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;E&gt;)
 <ul>
-<li type="circle">java.util.AbstractSequentialList&lt;E&gt;
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractSequentialList</span></a>&lt;E&gt;
 <ul>
 <li type="circle">org.apache.edgent.window.<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window"><span class="typeNameLink">InsertionTimeList</span></a>&lt;T&gt;</li>
 </ul>
@@ -102,7 +103,7 @@
 </ul>
 <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
 <ul>
-<li type="circle">java.io.Serializable
+<li type="circle">java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
 <ul>
 <li type="circle">org.apache.edgent.window.<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Partition</span></a>&lt;T,K,L&gt;</li>
 </ul>
@@ -128,7 +129,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -158,6 +158,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/org/apache/edgent/window/package-use.html b/site/javadoc/latest/org/apache/edgent/window/package-use.html
index d8d79b4..95318de 100644
--- a/site/javadoc/latest/org/apache/edgent/window/package-use.html
+++ b/site/javadoc/latest/org/apache/edgent/window/package-use.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Uses of Package org.apache.edgent.window (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package org.apache.edgent.window (Edgent v1.1.0)";
+            parent.document.title="Uses of Package org.apache.edgent.window (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -161,7 +162,6 @@
 <li><a href="../../../../index-all.html">Index</a></li>
 <li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -191,6 +191,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/overview-frame.html b/site/javadoc/latest/overview-frame.html
index 7c14dd8..044bda0 100644
--- a/site/javadoc/latest/overview-frame.html
+++ b/site/javadoc/latest/overview-frame.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:11 EST 2017 -->
-<title>Overview List (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Overview List (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -13,6 +14,7 @@
 <div class="indexContainer">
 <h2 title="Packages">Packages</h2>
 <ul title="Packages">
+<li><a href="org/apache/edgent/analytics/math3/package-frame.html" target="packageFrame">org.apache.edgent.analytics.math3</a></li>
 <li><a href="org/apache/edgent/analytics/math3/json/package-frame.html" target="packageFrame">org.apache.edgent.analytics.math3.json</a></li>
 <li><a href="org/apache/edgent/analytics/math3/stat/package-frame.html" target="packageFrame">org.apache.edgent.analytics.math3.stat</a></li>
 <li><a href="org/apache/edgent/analytics/sensors/package-frame.html" target="packageFrame">org.apache.edgent.analytics.sensors</a></li>
@@ -41,8 +43,6 @@
 <li><a href="org/apache/edgent/graph/package-frame.html" target="packageFrame">org.apache.edgent.graph</a></li>
 <li><a href="org/apache/edgent/graph/spi/package-frame.html" target="packageFrame">org.apache.edgent.graph.spi</a></li>
 <li><a href="org/apache/edgent/graph/spi/execution/package-frame.html" target="packageFrame">org.apache.edgent.graph.spi.execution</a></li>
-<li><a href="org/apache/edgent/javax/websocket/package-frame.html" target="packageFrame">org.apache.edgent.javax.websocket</a></li>
-<li><a href="org/apache/edgent/javax/websocket/impl/package-frame.html" target="packageFrame">org.apache.edgent.javax.websocket.impl</a></li>
 <li><a href="org/apache/edgent/metrics/package-frame.html" target="packageFrame">org.apache.edgent.metrics</a></li>
 <li><a href="org/apache/edgent/metrics/oplets/package-frame.html" target="packageFrame">org.apache.edgent.metrics.oplets</a></li>
 <li><a href="org/apache/edgent/oplet/package-frame.html" target="packageFrame">org.apache.edgent.oplet</a></li>
@@ -61,30 +61,9 @@
 <li><a href="org/apache/edgent/runtime/jmxcontrol/package-frame.html" target="packageFrame">org.apache.edgent.runtime.jmxcontrol</a></li>
 <li><a href="org/apache/edgent/runtime/jobregistry/package-frame.html" target="packageFrame">org.apache.edgent.runtime.jobregistry</a></li>
 <li><a href="org/apache/edgent/runtime/jsoncontrol/package-frame.html" target="packageFrame">org.apache.edgent.runtime.jsoncontrol</a></li>
-<li><a href="org/apache/edgent/samples/apps/package-frame.html" target="packageFrame">org.apache.edgent.samples.apps</a></li>
-<li><a href="org/apache/edgent/samples/apps/mqtt/package-frame.html" target="packageFrame">org.apache.edgent.samples.apps.mqtt</a></li>
-<li><a href="org/apache/edgent/samples/apps/sensorAnalytics/package-frame.html" target="packageFrame">org.apache.edgent.samples.apps.sensorAnalytics</a></li>
-<li><a href="org/apache/edgent/samples/connectors/package-frame.html" target="packageFrame">org.apache.edgent.samples.connectors</a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/package-frame.html" target="packageFrame">org.apache.edgent.samples.connectors.elm327</a></li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/runtime/package-frame.html" target="packageFrame">org.apache.edgent.samples.connectors.elm327.runtime</a></li>
-<li><a href="org/apache/edgent/samples/connectors/file/package-frame.html" target="packageFrame">org.apache.edgent.samples.connectors.file</a></li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/package-frame.html" target="packageFrame">org.apache.edgent.samples.connectors.iotp</a></li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/package-frame.html" target="packageFrame">org.apache.edgent.samples.connectors.jdbc</a></li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/package-frame.html" target="packageFrame">org.apache.edgent.samples.connectors.kafka</a></li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/package-frame.html" target="packageFrame">org.apache.edgent.samples.connectors.mqtt</a></li>
-<li><a href="org/apache/edgent/samples/connectors/obd2/package-frame.html" target="packageFrame">org.apache.edgent.samples.connectors.obd2</a></li>
-<li><a href="org/apache/edgent/samples/console/package-frame.html" target="packageFrame">org.apache.edgent.samples.console</a></li>
-<li><a href="org/apache/edgent/samples/scenarios/iotp/package-frame.html" target="packageFrame">org.apache.edgent.samples.scenarios.iotp</a></li>
-<li><a href="org/apache/edgent/samples/topology/package-frame.html" target="packageFrame">org.apache.edgent.samples.topology</a></li>
-<li><a href="org/apache/edgent/samples/utils/metrics/package-frame.html" target="packageFrame">org.apache.edgent.samples.utils.metrics</a></li>
-<li><a href="org/apache/edgent/samples/utils/sensor/package-frame.html" target="packageFrame">org.apache.edgent.samples.utils.sensor</a></li>
 <li><a href="org/apache/edgent/streamscope/package-frame.html" target="packageFrame">org.apache.edgent.streamscope</a></li>
 <li><a href="org/apache/edgent/streamscope/mbeans/package-frame.html" target="packageFrame">org.apache.edgent.streamscope.mbeans</a></li>
 <li><a href="org/apache/edgent/streamscope/oplets/package-frame.html" target="packageFrame">org.apache.edgent.streamscope.oplets</a></li>
-<li><a href="org/apache/edgent/test/svt/package-frame.html" target="packageFrame">org.apache.edgent.test.svt</a></li>
-<li><a href="org/apache/edgent/test/svt/apps/package-frame.html" target="packageFrame">org.apache.edgent.test.svt.apps</a></li>
-<li><a href="org/apache/edgent/test/svt/apps/iotp/package-frame.html" target="packageFrame">org.apache.edgent.test.svt.apps.iotp</a></li>
-<li><a href="org/apache/edgent/test/svt/utils/sensor/gps/package-frame.html" target="packageFrame">org.apache.edgent.test.svt.utils.sensor.gps</a></li>
 <li><a href="org/apache/edgent/topology/package-frame.html" target="packageFrame">org.apache.edgent.topology</a></li>
 <li><a href="org/apache/edgent/topology/json/package-frame.html" target="packageFrame">org.apache.edgent.topology.json</a></li>
 <li><a href="org/apache/edgent/topology/mbeans/package-frame.html" target="packageFrame">org.apache.edgent.topology.mbeans</a></li>
diff --git a/site/javadoc/latest/overview-summary.html b/site/javadoc/latest/overview-summary.html
index f11ed02..d2f2fc5 100644
--- a/site/javadoc/latest/overview-summary.html
+++ b/site/javadoc/latest/overview-summary.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Overview (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Overview (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Overview (Edgent v1.1.0)";
+            parent.document.title="Overview (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -70,12 +71,11 @@
 </a></div>
 <!-- ========= END OF TOP NAVBAR ========= -->
 <div class="header">
-<h1 class="title">Apache Edgent (incubating) v1.1.0</h1>
+<h1 class="title">Apache Edgent (incubating) v1.2.0 API</h1>
 </div>
 <div class="header">
 <div class="subTitle">
-<div class="block">Edgent provides an programming model and micro-service style runtime
-for executing streaming analytics at the <i>edge</i>.</div>
+<div class="block">Apache Edgent is an SDK for developing and executing streaming analytics at the <i>edge</i>.</div>
 </div>
 <p>See: <a href="#overview.description">Description</a></p>
 </div>
@@ -183,18 +183,24 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></td>
 <td class="colLast">
 <div class="block">JSON analytics using Apache Commons Math.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></td>
 <td class="colLast">
 <div class="block">Statistical algorithms using Apache Commons Math.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></td>
 <td class="colLast">
 <div class="block">Analytics focused on handling sensor data.</div>
@@ -204,47 +210,6 @@
 </table>
 </div>
 <div class="contentContainer">
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent Utilities table, listing packages, and an explanation">
-<caption><span>Edgent Utilities</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></td>
-<td class="colLast">
-<div class="block">Metric utility methods, oplets, and reporters which allow an 
- application to expose metric values, for example via JMX.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></td>
-<td class="colLast">
-<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a></td>
-<td class="colLast">
-<div class="block">Stream Oscilloscope <a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>
- Management Bean interfaces.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></td>
-<td class="colLast">
-<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="contentContainer">
 <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent Connectors table, listing packages, and an explanation">
 <caption><span>Edgent Connectors</span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
@@ -297,7 +262,7 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></td>
 <td class="colLast">
-<div class="block">Apache Kafka enterprise messing hub stream connector.</div>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -339,127 +304,73 @@
 <tr class="altColor">
 <td class="colFirst"><a href="org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
 <td class="colLast">
-<div class="block">WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
 </td>
 </tr>
 </tbody>
 </table>
 </div>
 <div class="contentContainer">
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent Samples table, listing packages, and an explanation">
-<caption><span>Edgent Samples</span><span class="tabEnd">&nbsp;</span></caption>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent Utilities table, listing packages, and an explanation">
+<caption><span>Edgent Utilities</span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/apps/package-summary.html">org.apache.edgent.samples.apps</a></td>
+<td class="colFirst"><a href="org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></td>
 <td class="colLast">
-<div class="block">Support for some more complex Edgent application samples.</div>
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/apps/mqtt/package-summary.html">org.apache.edgent.samples.apps.mqtt</a></td>
-<td class="colLast">
-<div class="block">Base support for Edgent MQTT based application samples.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">org.apache.edgent.samples.apps.sensorAnalytics</a></td>
-<td class="colLast">
-<div class="block">The Sensor Analytics sample application demonstrates some common 
- continuous sensor analytic application themes.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/connectors/package-summary.html">org.apache.edgent.samples.connectors</a></td>
-<td class="colLast">
-<div class="block">General support for connector samples.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/connectors/elm327/package-summary.html">org.apache.edgent.samples.connectors.elm327</a></td>
-<td class="colLast">
-<div class="block">OBD-II protocol sample using ELM327.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/connectors/elm327/runtime/package-summary.html">org.apache.edgent.samples.connectors.elm327.runtime</a></td>
+<td class="colFirst"><a href="org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/connectors/file/package-summary.html">org.apache.edgent.samples.connectors.file</a></td>
+<td class="colFirst"><a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></td>
 <td class="colLast">
-<div class="block">Samples showing use of the 
- <a href="./org/apache/edgent/connectors/file/package-summary.html">
-     File stream connector</a>.</div>
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/connectors/iotp/package-summary.html">org.apache.edgent.samples.connectors.iotp</a></td>
+<td class="colFirst"><a href="org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a></td>
 <td class="colLast">
-<div class="block">Samples showing device events and commands with IBM Watson IoT Platform.</div>
+<div class="block">Stream Oscilloscope <a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>
+ Management Bean interfaces.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/connectors/jdbc/package-summary.html">org.apache.edgent.samples.connectors.jdbc</a></td>
+<td class="colFirst"><a href="org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></td>
 <td class="colLast">
-<div class="block">Samples showing use of the
- <a href="./org/apache/edgent/connectors/jdbc/package-summary.html">
-     JDBC stream connector</a>.</div>
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/connectors/kafka/package-summary.html">org.apache.edgent.samples.connectors.kafka</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the
- <a href="./org/apache/edgent/connectors/kafka/package-summary.html">
-     Apache Kafka stream connector</a>.</div>
-</td>
+</tbody>
+</table>
+</div>
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent Tester table, listing packages, and an explanation">
+<caption><span>Edgent Tester</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
 </tr>
+<tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/connectors/mqtt/package-summary.html">org.apache.edgent.samples.connectors.mqtt</a></td>
+<td class="colFirst"><a href="org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></td>
 <td class="colLast">
-<div class="block">Samples showing use of the
- <a href="./org/apache/edgent/connectors/mqtt/package-summary.html">
-     MQTT stream connector</a>.</div>
+<div class="block">Testing for a streaming topology.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/connectors/obd2/package-summary.html">org.apache.edgent.samples.connectors.obd2</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/console/package-summary.html">org.apache.edgent.samples.console</a></td>
-<td class="colLast">
-<div class="block">Samples showing use of the Console web application.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/scenarios/iotp/package-summary.html">org.apache.edgent.samples.scenarios.iotp</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/topology/package-summary.html">org.apache.edgent.samples.topology</a></td>
-<td class="colLast">
-<div class="block">Samples showing creating and executing basic topologies .</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/utils/metrics/package-summary.html">org.apache.edgent.samples.utils.metrics</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/samples/utils/sensor/package-summary.html">org.apache.edgent.samples.utils.sensor</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </div>
@@ -573,18 +484,6 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/javax/websocket/package-summary.html">org.apache.edgent.javax.websocket</a></td>
-<td class="colLast">
-<div class="block">Support for working around JSR356 limitations for SSL client container/sockets.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/javax/websocket/impl/package-summary.html">org.apache.edgent.javax.websocket.impl</a></td>
-<td class="colLast">
-<div class="block">Support for working around JSR356 limitations for SSL client container/sockets.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -622,36 +521,13 @@
  an operation on a control service MBean.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/test/svt/package-summary.html">org.apache.edgent.test.svt</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/test/svt/apps/package-summary.html">org.apache.edgent.test.svt.apps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/test/svt/apps/iotp/package-summary.html">org.apache.edgent.test.svt.apps.iotp</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="org/apache/edgent/test/svt/utils/sensor/gps/package-summary.html">org.apache.edgent.test.svt.utils.sensor.gps</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></td>
-<td class="colLast">
-<div class="block">Testing for a streaming topology.</div>
-</td>
-</tr>
 </tbody>
 </table>
 </div>
 <div class="contentContainer"><a name="overview.description">
 <!--   -->
 </a>
-<div class="block">Edgent provides an programming model and micro-service style runtime
-for executing streaming analytics at the <i>edge</i>.
+<div class="block">Apache Edgent is an SDK for developing and executing streaming analytics at the <i>edge</i>.
 <P>
 <em>
 Apache Edgent is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
@@ -665,11 +541,18 @@
 </OL>
 <a name="overview"></a>
 <H2>Overview</H2>
-Edgent provides an programming model and runtime for executing streaming
-analytics at the <i>edge</i>. Edgent is focusing on two edge cases:
+Apache Edgent is an SDK for developing and executing streaming analytics at the <i>edge</i>.
+Edgent provides a stream processing style programming model for 
+composing stream processing graphs and a micro-services style runtime for
+executing the graphs.  Some analytics and a rich collection
+of connectors are provided. Users can easily develop and use their 
+own analytics and connectors.  
+A framework for testing processing graphs is also included.
+<P>
+Edgent is focusing on two edge cases:
 <UL>
-<LI>Internet of Things (IoT) - Widely distributed and/or mobile devices.</LI>
-<LI>Enterprise Embedded - Edge analytics within an enterprise, such as local analytic applications of eash system in a machine room, or error log analytics in application servers.</LI>
+<LI>Internet of Things (IoT) - Widely distributed and/or mobile devices and gateways.</LI>
+<LI>Enterprise Embedded - Edge analytics within an enterprise, such as local analytic applications of each system in a machine room, or error log analytics in application servers.</LI>
 </UL>
 In both cases Edgent applications analyze live data and
 send results of that analytics and/or data intermittently
@@ -754,125 +637,11 @@
 by downstream connected oplet invocations.
 <a name="start"></a>
 <H2>Getting Started</H2>
-Below, <code>&lt;edgent-target&gt;</code> refers to an Edgent release's platform target
-directory such as <code>.../edgent/java8</code>.
 <P>
 A number of sample Java applications are provided that demonstrate use of Edgent.
-<BR>
-The Java code for the samples is under <code>&lt;edgent-target&gt;/samples</code>.
-<P>
-Shell scripts to run the samples are <code>&lt;edgent-target&gt;/scripts</code>.
-See the <code>README</code> there.
-<P>
-Summary of samples:
-<TABLE border=1 width="80%" table-layout="auto">
-<TR class="rowColor"><TH>Sample</TH><TH>Description</TH><TH>Focus</TH></TR>
-<TR class="altColor"><TD><a href="org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology"><code>HelloEdgent</code></a></TD>
-  <TD>Prints Hello Edgent! to standard output.</TD>
-  <TD>Basic mechanics of declaring a topology and executing it.</TD></TR>
-<TR class="altColor"><TD><a href="org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology"><code>PeriodicSource</code></a></TD>
-  <TD>Polls a random number generator for a new value every second
-      and then prints out the raw value and a filtered and transformed stream.</TD>
-  <TD>Polling of a data value to create a source stream.</TD></TR>
-<TR class="altColor"><TD><a href="org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology"><code>SensorsAggregates</code></a></TD>
-  <TD>Demonstrates partitioned aggregation and filtering of simulated sensors
-      that are bursty in nature, so that only intermittently
-      is the data output to <code>System.out</code></TD>
-  <TD>Simulated sensors with windowed aggregation</TD></TR>
-<TR class="altColor"><TD><a href="org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology"><code>SimpleFilterTransform</code></a></TD>
-  <TD></TD>
-  <TD></TD></TR>
-<TR class="altColor"><TD><a href="./org/apache/edgent/samples/connectors/file/package-summary.html">
-      File</a></TD>
-  <TD>Write a stream of tuples to files.  Watch a directory for new files
-      and create a stream of tuples from the file contents.</TD>
-  <TD>Use of the <a href="./org/apache/edgent/connectors/file/package-summary.html">
-      File stream connector</a></TD></TR>
-<TR class="altColor"><TD><a href="./org/apache/edgent/samples/connectors/iotp/package-summary.html">
-      IotfSensors, IotfQuickstart</a></TD>
-  <TD>Sends simulated sensor readings to an IBM Watson IoT Platform instance as device events.</TD>
-  <TD>Use of the <a href="./org/apache/edgent/connectors/iotp/package-summary.html">
-      IBM Watson IoT Platform connector</a> to send device events and receive device commands.</TD></TR>
-<TR class="altColor"><TD><a href="./org/apache/edgent/samples/connectors/jdbc/package-summary.html">
-      JDBC</a></TD>
-  <TD>Write a stream of tuples to an Apache Derby database table.
-      Create a stream of tuples by reading a table.</TD>
-  <TD>Use of the <a href="./org/apache/edgent/connectors/jdbc/package-summary.html">
-      JDBC stream connector</a></TD></TR>
-<TR class="altColor"><TD><a href="./org/apache/edgent/samples/connectors/kafka/package-summary.html">
-      Kafka</a></TD>
-  <TD>Publish a stream of tuples to a Kafka topic. 
-      Create a stream of tuples by subscribing to a topic and receiving 
-      messages from it.</TD>
-  <TD>Use of the <a href="./org/apache/edgent/connectors/kafka/package-summary.html">
-      Kafka stream connector</a></TD></TR>
-<TR class="altColor"><TD><a href="./org/apache/edgent/samples/connectors/mqtt/package-summary.html">
-      MQTT</a></TD>
-  <TD>Publish a stream of tuples to a MQTT topic. 
-      Create a stream of tuples by subscribing to a topic and receiving 
-      messages from it.</TD>
-  <TD>Use of the <a href="./org/apache/edgent/connectors/mqtt/package-summary.html">
-      MQTT stream connector</a></TD></TR>
-<TR class="altColor"><TD><a href="./org/apache/edgent/samples/apps/sensorAnalytics/package-summary.html">
-      SensorAnalytics</a></TD>
-  <TD>Demonstrates a Sensor Analytics application that includes: 
-      configuration control, a device of one or more sensors and
-      some typical analytics, use of MQTT for publishing results and receiving
-      commands, local results logging, conditional stream tracing.</TD>
-  <TD>A more complete sample application demonstrating common themes.</TD></TR>
-</TABLE>
-<BR>
-Other samples are also provided but have not yet been fully documented.
-Feel free to explore them.
-<H2>Building Applications</H2>
-You need to include one or more Edgent jars in your <code>classpath</code> depending
-on what features your application uses.
-<P>
-Include one or more of the topology providers:
-<ul>
-<li><code>&lt;edgent-target&gt;/lib/edgent.providers.iot.jar</code> - if you use the
-<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot"><code>IotProvider</code></a></li>
-<li><code>&lt;edgent-target&gt;/lib/edgent.providers.direct.jar</code> - if you use the
-<a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><code>DirectProvider</code></a></li>
-<li><code>&lt;edgent-target&gt;/lib/edgent.providers.development.jar</code> - if you use the
-<a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development"><code>DevelopmentProvider</code></a></li>
-</ul>
-Include the jar of any Edgent connector you use:
-<ul>
-<li><code>&lt;edgent-target&gt;/connectors/command/lib/edgent.connectors.command.jar</code></li>
-<li><code>&lt;edgent-target&gt;/connectors/csv/lib/edgent.connectors.csv.jar</code></li>
-<li><code>&lt;edgent-target&gt;/connectors/file/lib/edgent.connectors.file.jar</code></li>
-<li><code>&lt;edgent-target&gt;/connectors/http/lib/edgent.connectors.http.jar</code></li>
-<li><code>&lt;edgent-target&gt;/connectors/iotp/lib/edgent.connectors.iotp.jar</code></li>
-<li><code>&lt;edgent-target&gt;/connectors/jdbc/lib/edgent.connectors.jdbc.jar</code></li>
-<li><code>&lt;edgent-target&gt;/connectors/kafka/lib/edgent.connectors.kafka.jar</code></li>
-<li><code>&lt;edgent-target&gt;/connectors/mqtt/lib/edgent.connectors.mqtt.jar</code></li>
-<li><code>&lt;edgent-target&gt;/connectors/pubsub/lib/edgent.connectors.pubsub.jar</code></li>
-<li><code>&lt;edgent-target&gt;/connectors/wsclient-javax.websocket/lib/edgent.connectors.wsclient.javax.websocket.jar</code> [*]</li>
-</ul>
-[*] You also need to include a <code>javax.websocket</code> client implementation
-if you use the <code>wsclient</code> connector.  Include the following to use
-an Eclipse Jetty based implementation:
-<ul>
-<li><code>&lt;edgent-target&gt;/connectors/javax.websocket-client/lib/javax.websocket-client.jar</code></li>
-</ul>
-<p>
-Include jars for any Edgent analytic features you use:
-<ul>
-<li><code>&lt;edgent-target&gt;/analytics/math3/lib/edgent.analytics.math3.jar</code></li>
-<li><code>&lt;edgent-target&gt;/analytics/sensors/lib/edgent.analytics.sensors.jar</code></li>
-</ul>
-Include jars for any Edgent utility features you use:
-<ul>
-<li><code>&lt;edgent-target&gt;/utils/metrics/lib/edgent.utils.metrics.jar</code> - for the <code>org.apache.edgent.metrics</code> package</li>
-</ul>
-Edgent uses <a href="www.slf4j.org">slf4j</a> for logging,
-leaving the decision of the actual logging implementation to your application
-(e.g., <code>java.util.logging</code> or <code>log4j</code>).  
-For <code>java.util.logging</code> you can include:
-<ul>
-<li><code>&lt;edgent-target&gt;/ext/ slf4j-jdk14-1.7.12.jar</code></li>
-</ul></div>
+General information about Edgent Application development and 
+some development utilities are included.
+See <a href="https://edgent.apache.org/docs/edgent-getting-started">Getting Started</a>.</div>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
@@ -892,7 +661,6 @@
 <li><a href="index-all.html">Index</a></li>
 <li><a href="help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -922,6 +690,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/overview-tree.html b/site/javadoc/latest/overview-tree.html
index 40b97d8..b164ed4 100644
--- a/site/javadoc/latest/overview-tree.html
+++ b/site/javadoc/latest/overview-tree.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:13 EST 2017 -->
-<title>Class Hierarchy (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Class Hierarchy (Edgent v1.1.0)";
+            parent.document.title="Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -73,6 +74,7 @@
 <h1 class="title">Hierarchy For All Packages</h1>
 <span class="packageHierarchyLabel">Package Hierarchies:</span>
 <ul class="horizontal">
+<li><a href="org/apache/edgent/analytics/math3/package-tree.html">org.apache.edgent.analytics.math3</a>, </li>
 <li><a href="org/apache/edgent/analytics/math3/json/package-tree.html">org.apache.edgent.analytics.math3.json</a>, </li>
 <li><a href="org/apache/edgent/analytics/math3/stat/package-tree.html">org.apache.edgent.analytics.math3.stat</a>, </li>
 <li><a href="org/apache/edgent/analytics/sensors/package-tree.html">org.apache.edgent.analytics.sensors</a>, </li>
@@ -101,8 +103,6 @@
 <li><a href="org/apache/edgent/graph/package-tree.html">org.apache.edgent.graph</a>, </li>
 <li><a href="org/apache/edgent/graph/spi/package-tree.html">org.apache.edgent.graph.spi</a>, </li>
 <li><a href="org/apache/edgent/graph/spi/execution/package-tree.html">org.apache.edgent.graph.spi.execution</a>, </li>
-<li><a href="org/apache/edgent/javax/websocket/package-tree.html">org.apache.edgent.javax.websocket</a>, </li>
-<li><a href="org/apache/edgent/javax/websocket/impl/package-tree.html">org.apache.edgent.javax.websocket.impl</a>, </li>
 <li><a href="org/apache/edgent/metrics/package-tree.html">org.apache.edgent.metrics</a>, </li>
 <li><a href="org/apache/edgent/metrics/oplets/package-tree.html">org.apache.edgent.metrics.oplets</a>, </li>
 <li><a href="org/apache/edgent/oplet/package-tree.html">org.apache.edgent.oplet</a>, </li>
@@ -121,30 +121,9 @@
 <li><a href="org/apache/edgent/runtime/jmxcontrol/package-tree.html">org.apache.edgent.runtime.jmxcontrol</a>, </li>
 <li><a href="org/apache/edgent/runtime/jobregistry/package-tree.html">org.apache.edgent.runtime.jobregistry</a>, </li>
 <li><a href="org/apache/edgent/runtime/jsoncontrol/package-tree.html">org.apache.edgent.runtime.jsoncontrol</a>, </li>
-<li><a href="org/apache/edgent/samples/apps/package-tree.html">org.apache.edgent.samples.apps</a>, </li>
-<li><a href="org/apache/edgent/samples/apps/mqtt/package-tree.html">org.apache.edgent.samples.apps.mqtt</a>, </li>
-<li><a href="org/apache/edgent/samples/apps/sensorAnalytics/package-tree.html">org.apache.edgent.samples.apps.sensorAnalytics</a>, </li>
-<li><a href="org/apache/edgent/samples/connectors/package-tree.html">org.apache.edgent.samples.connectors</a>, </li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/package-tree.html">org.apache.edgent.samples.connectors.elm327</a>, </li>
-<li><a href="org/apache/edgent/samples/connectors/elm327/runtime/package-tree.html">org.apache.edgent.samples.connectors.elm327.runtime</a>, </li>
-<li><a href="org/apache/edgent/samples/connectors/file/package-tree.html">org.apache.edgent.samples.connectors.file</a>, </li>
-<li><a href="org/apache/edgent/samples/connectors/iotp/package-tree.html">org.apache.edgent.samples.connectors.iotp</a>, </li>
-<li><a href="org/apache/edgent/samples/connectors/jdbc/package-tree.html">org.apache.edgent.samples.connectors.jdbc</a>, </li>
-<li><a href="org/apache/edgent/samples/connectors/kafka/package-tree.html">org.apache.edgent.samples.connectors.kafka</a>, </li>
-<li><a href="org/apache/edgent/samples/connectors/mqtt/package-tree.html">org.apache.edgent.samples.connectors.mqtt</a>, </li>
-<li><a href="org/apache/edgent/samples/connectors/obd2/package-tree.html">org.apache.edgent.samples.connectors.obd2</a>, </li>
-<li><a href="org/apache/edgent/samples/console/package-tree.html">org.apache.edgent.samples.console</a>, </li>
-<li><a href="org/apache/edgent/samples/scenarios/iotp/package-tree.html">org.apache.edgent.samples.scenarios.iotp</a>, </li>
-<li><a href="org/apache/edgent/samples/topology/package-tree.html">org.apache.edgent.samples.topology</a>, </li>
-<li><a href="org/apache/edgent/samples/utils/metrics/package-tree.html">org.apache.edgent.samples.utils.metrics</a>, </li>
-<li><a href="org/apache/edgent/samples/utils/sensor/package-tree.html">org.apache.edgent.samples.utils.sensor</a>, </li>
 <li><a href="org/apache/edgent/streamscope/package-tree.html">org.apache.edgent.streamscope</a>, </li>
 <li><a href="org/apache/edgent/streamscope/mbeans/package-tree.html">org.apache.edgent.streamscope.mbeans</a>, </li>
 <li><a href="org/apache/edgent/streamscope/oplets/package-tree.html">org.apache.edgent.streamscope.oplets</a>, </li>
-<li><a href="org/apache/edgent/test/svt/package-tree.html">org.apache.edgent.test.svt</a>, </li>
-<li><a href="org/apache/edgent/test/svt/apps/package-tree.html">org.apache.edgent.test.svt.apps</a>, </li>
-<li><a href="org/apache/edgent/test/svt/apps/iotp/package-tree.html">org.apache.edgent.test.svt.apps.iotp</a>, </li>
-<li><a href="org/apache/edgent/test/svt/utils/sensor/gps/package-tree.html">org.apache.edgent.test.svt.utils.sensor.gps</a>, </li>
 <li><a href="org/apache/edgent/topology/package-tree.html">org.apache.edgent.topology</a>, </li>
 <li><a href="org/apache/edgent/topology/json/package-tree.html">org.apache.edgent.topology.json</a>, </li>
 <li><a href="org/apache/edgent/topology/mbeans/package-tree.html">org.apache.edgent.topology.mbeans</a>, </li>
@@ -161,28 +140,13 @@
 <div class="contentContainer">
 <h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/AbstractApplication.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">AbstractApplication</span></a>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractCollection</span></a>&lt;E&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;E&gt;)
 <ul>
-<li type="circle">org.apache.edgent.test.svt.apps.iotp.<a href="org/apache/edgent/test/svt/apps/iotp/AbstractIotpApplication.html" title="class in org.apache.edgent.test.svt.apps.iotp"><span class="typeNameLink">AbstractIotpApplication</span></a>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractList</span></a>&lt;E&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;E&gt;)
 <ul>
-<li type="circle">org.apache.edgent.test.svt.apps.<a href="org/apache/edgent/test/svt/apps/FleetManagementAnalyticsClientApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">FleetManagementAnalyticsClientApplication</span></a></li>
-</ul>
-</li>
-<li type="circle">org.apache.edgent.samples.apps.mqtt.<a href="org/apache/edgent/samples/apps/mqtt/AbstractMqttApplication.html" title="class in org.apache.edgent.samples.apps.mqtt"><span class="typeNameLink">AbstractMqttApplication</span></a>
-<ul>
-<li type="circle">org.apache.edgent.samples.apps.mqtt.<a href="org/apache/edgent/samples/apps/mqtt/DeviceCommsApp.html" title="class in org.apache.edgent.samples.apps.mqtt"><span class="typeNameLink">DeviceCommsApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.apps.sensorAnalytics.<a href="org/apache/edgent/samples/apps/sensorAnalytics/SensorAnalyticsApplication.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><span class="typeNameLink">SensorAnalyticsApplication</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li type="circle">java.util.AbstractCollection&lt;E&gt; (implements java.util.Collection&lt;E&gt;)
-<ul>
-<li type="circle">java.util.AbstractList&lt;E&gt; (implements java.util.List&lt;E&gt;)
-<ul>
-<li type="circle">java.util.AbstractSequentialList&lt;E&gt;
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractSequentialList</span></a>&lt;E&gt;
 <ul>
 <li type="circle">org.apache.edgent.window.<a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window"><span class="typeNameLink">InsertionTimeList</span></a>&lt;T&gt;</li>
 </ul>
@@ -196,11 +160,11 @@
 <li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">InvocationContext</span></a>&lt;I,O&gt;</li>
 </ul>
 </li>
-<li type="circle">java.util.concurrent.AbstractExecutorService (implements java.util.concurrent.ExecutorService)
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">AbstractExecutorService</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>)
 <ul>
-<li type="circle">java.util.concurrent.ThreadPoolExecutor
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">ThreadPoolExecutor</span></a>
 <ul>
-<li type="circle">java.util.concurrent.ScheduledThreadPoolExecutor (implements java.util.concurrent.ScheduledExecutorService)
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">ScheduledThreadPoolExecutor</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>)
 <ul>
 <li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">TrackingScheduledExecutor</span></a></li>
 </ul>
@@ -219,6 +183,16 @@
 <li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">EtiaoJob</span></a> (implements org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>)</li>
 </ul>
 </li>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractMap</span></a>&lt;K,V&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;)
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">HashMap</span></a>&lt;K,V&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">MvResultMap</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">ResultMap</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
 <li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
 <ul>
 <li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">FanIn</span></a>&lt;T,U&gt;
@@ -262,12 +236,12 @@
 <li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Source</span></a>&lt;T&gt;
 <ul>
 <li type="circle">org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Events</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">PeriodicSource</span></a>&lt;T&gt; (implements org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, java.lang.Runnable)
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">PeriodicSource</span></a>&lt;T&gt; (implements org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
 <ul>
 <li type="circle">org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">SupplierPeriodicSource</span></a>&lt;T&gt;</li>
 </ul>
 </li>
-<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">ProcessSource</span></a>&lt;T&gt; (implements java.lang.Runnable)
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">ProcessSource</span></a>&lt;T&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
 <ul>
 <li type="circle">org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">SupplierSource</span></a>&lt;T&gt;</li>
 </ul>
@@ -312,33 +286,18 @@
 <li type="circle">org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">ExecutableVertex</span></a>&lt;N,C,P&gt;</li>
 </ul>
 </li>
-<li type="circle">org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/ApplicationUtilities.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">ApplicationUtilities</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Aggregations</span></a></li>
 <li type="circle">org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">AppService</span></a> (implements org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a>)</li>
 <li type="circle">org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">AppServiceControl</span></a> (implements org.apache.edgent.topology.mbeans.<a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a>)</li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/CombiningStreamsProcessingResults.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">CombiningStreamsProcessingResults</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.elm327.runtime.<a href="org/apache/edgent/samples/connectors/elm327/runtime/CommandExecutor.html" title="class in org.apache.edgent.samples.connectors.elm327.runtime"><span class="typeNameLink">CommandExecutor</span></a></li>
 <li type="circle">org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command"><span class="typeNameLink">CommandStreams</span></a></li>
-<li type="circle">org.apache.edgent.samples.console.<a href="org/apache/edgent/samples/console/ConsoleWaterDetector.html" title="class in org.apache.edgent.samples.console"><span class="typeNameLink">ConsoleWaterDetector</span></a></li>
 <li type="circle">org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">Controls</span></a></li>
 <li type="circle">org.apache.edgent.connectors.csv.<a href="org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv"><span class="typeNameLink">Csv</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/DbUtils.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">DbUtils</span></a></li>
 <li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Deadtime</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/DevelopmentMetricsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">DevelopmentMetricsSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/DevelopmentSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">DevelopmentSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/DevelopmentSampleJobMXBean.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">DevelopmentSampleJobMXBean</span></a></li>
 <li type="circle">org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">DirectEdge</span></a> (implements org.apache.edgent.graph.<a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>)</li>
-<li type="circle">org.apache.edgent.javax.websocket.<a href="org/apache/edgent/javax/websocket/EdgentSslContainerProvider.html" title="class in org.apache.edgent.javax.websocket"><span class="typeNameLink">EdgentSslContainerProvider</span></a>
-<ul>
-<li type="circle">org.apache.edgent.javax.websocket.impl.<a href="org/apache/edgent/javax/websocket/impl/EdgentSslContainerProviderImpl.html" title="class in org.apache.edgent.javax.websocket.impl"><span class="typeNameLink">EdgentSslContainerProviderImpl</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">EdgeType</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Elm327Streams.html" title="class in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Elm327Streams</span></a></li>
 <li type="circle">org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans"><span class="typeNameLink">EtiaoJobBean</span></a> (implements org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a>)</li>
 <li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Executable</span></a> (implements org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>)</li>
-<li type="circle">org.apache.edgent.samples.connectors.file.<a href="org/apache/edgent/samples/connectors/file/FileReaderApp.html" title="class in org.apache.edgent.samples.connectors.file"><span class="typeNameLink">FileReaderApp</span></a></li>
 <li type="circle">org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileStreams</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.file.<a href="org/apache/edgent/samples/connectors/file/FileWriterApp.html" title="class in org.apache.edgent.samples.connectors.file"><span class="typeNameLink">FileWriterApp</span></a></li>
 <li type="circle">org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterCycleConfig</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterFlushConfig</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterPolicy</span></a>&lt;T&gt; (implements org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;T&gt;)
@@ -349,94 +308,46 @@
 <li type="circle">org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterRetentionConfig</span></a></li>
 <li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Filters</span></a></li>
 <li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function"><span class="typeNameLink">Functions</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.apps.<a href="org/apache/edgent/test/svt/apps/GpsAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">GpsAnalyticsApplication</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/GpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">GpsSensor</span></a></li>
 <li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">GraphType</span></a></li>
 <li type="circle">org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot"><span class="typeNameLink">HeartBeat</span></a></li>
-<li type="circle">org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">HeartMonitorSensor</span></a> (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/HelloEdgent.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">HelloEdgent</span></a></li>
 <li type="circle">org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpClients</span></a></li>
 <li type="circle">org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpResponders</span></a></li>
-<li type="circle">org.apache.edgent.samples.console.<a href="org/apache/edgent/samples/console/HttpServerSample.html" title="class in org.apache.edgent.samples.console"><span class="typeNameLink">HttpServerSample</span></a></li>
 <li type="circle">org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpStreams</span></a></li>
-<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Invocation</span></a>&lt;T,I,O&gt; (implements java.lang.AutoCloseable)</li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Invocation</span></a>&lt;T,I,O&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
 <li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">InvocationType</span></a>&lt;I,O&gt;</li>
 <li type="circle">org.apache.edgent.apps.iot.<a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot"><span class="typeNameLink">IotDevicePubSub</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpAppClient.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpAppClient</span></a></li>
 <li type="circle">org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpDevice</span></a> (implements org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>)</li>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpDeviceSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.scenarios.iotp.<a href="org/apache/edgent/samples/scenarios/iotp/IotpFullScenario.html" title="class in org.apache.edgent.samples.scenarios.iotp"><span class="typeNameLink">IotpFullScenario</span></a></li>
 <li type="circle">org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpGateway</span></a> (implements org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a>)</li>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpGWDeviceSample.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpGWDeviceSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpQuickstart</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpQuickstart2.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpQuickstart2</span></a></li>
 <li type="circle">org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot"><span class="typeNameLink">IotProvider</span></a> (implements org.apache.edgent.execution.<a href="org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;E,J&gt;, org.apache.edgent.topology.<a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>)</li>
-<li type="circle">org.apache.edgent.samples.connectors.iotp.<a href="org/apache/edgent/samples/connectors/iotp/IotpSensors.html" title="class in org.apache.edgent.samples.connectors.iotp"><span class="typeNameLink">IotpSensors</span></a></li>
 <li type="circle">org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">JdbcStreams</span></a></li>
 <li type="circle">org.apache.edgent.runtime.jmxcontrol.<a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol"><span class="typeNameLink">JMXControlService</span></a> (implements org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>)</li>
 <li type="circle">org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">JobEvents</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/JobEventsSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">JobEventsSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/JobExecution.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">JobExecution</span></a></li>
 <li type="circle">org.apache.edgent.apps.runtime.<a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime"><span class="typeNameLink">JobMonitorApp</span></a></li>
 <li type="circle">org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">JobRegistry</span></a> (implements org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a>)</li>
 <li type="circle">org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonAnalytics</span></a></li>
 <li type="circle">org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol"><span class="typeNameLink">JsonControlService</span></a> (implements org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>)</li>
 <li type="circle">org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json"><span class="typeNameLink">JsonFunctions</span></a></li>
 <li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">JsonStorelessStatistic</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>)</li>
-<li type="circle">org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/JsonTuples.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">JsonTuples</span></a></li>
 <li type="circle">org.apache.edgent.connectors.wsclient.javax.websocket.<a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket"><span class="typeNameLink">Jsr356WebSocketClient</span></a> (implements org.apache.edgent.connectors.wsclient.<a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a>)</li>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/KafkaClient.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">KafkaClient</span></a></li>
 <li type="circle">org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer</span></a></li>
 <li type="circle">org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaProducer</span></a></li>
 <li type="circle">org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">LoadBalancedSplitter</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">MetricObjectNameFactory</span></a> (implements com.codahale.metrics.ObjectNameFactory)</li>
 <li type="circle">org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Metrics</span></a></li>
 <li type="circle">org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">MetricsSetup</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/MqttClient.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">MqttClient</span></a></li>
 <li type="circle">org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttConfig</span></a></li>
 <li type="circle">org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot"><span class="typeNameLink">MqttDevice</span></a> (implements org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>)</li>
 <li type="circle">org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttStreams</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">MsgSupplier</span></a> (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/MyClass1.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">MyClass1</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/MyClass2.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">MyClass2</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.obd2.<a href="org/apache/edgent/samples/connectors/obd2/Obd2Streams.html" title="class in org.apache.edgent.samples.connectors.obd2"><span class="typeNameLink">Obd2Streams</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.apps.<a href="org/apache/edgent/test/svt/apps/ObdAnalyticsApplication.html" title="class in org.apache.edgent.test.svt.apps"><span class="typeNameLink">ObdAnalyticsApplication</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Options.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Options</span></a></li>
 <li type="circle">org.apache.edgent.window.<a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window"><span class="typeNameLink">PartitionedState</span></a>&lt;K,S&gt;</li>
-<li type="circle">org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/PeriodicRandomSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">PeriodicRandomSensor</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/PeriodicSource.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">PeriodicSource</span></a></li>
-<li type="circle">org.apache.edgent.samples.utils.metrics.<a href="org/apache/edgent/samples/utils/metrics/PeriodicSourceWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics"><span class="typeNameLink">PeriodicSourceWithMetrics</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/Person.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">Person</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/PersonData.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">PersonData</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/PersonId.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">PersonId</span></a></li>
 <li type="circle">org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">PlumbingStreams</span></a></li>
 <li type="circle">org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Policies</span></a></li>
 <li type="circle">org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">ProviderPubSub</span></a> (implements org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a>)</li>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">PublisherApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/PublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">PublisherApp</span></a></li>
 <li type="circle">org.apache.edgent.connectors.pubsub.<a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub"><span class="typeNameLink">PublishSubscribe</span></a></li>
-<li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;, java.io.Serializable)</li>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
 <li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Ranges</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/Runner.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">Runner</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/Runner.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">Runner</span></a></li>
-<li type="circle">org.apache.edgent.samples.apps.sensorAnalytics.<a href="org/apache/edgent/samples/apps/sensorAnalytics/Sensor1.html" title="class in org.apache.edgent.samples.apps.sensorAnalytics"><span class="typeNameLink">Sensor1</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SensorsAggregates.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">SensorsAggregates</span></a></li>
 <li type="circle">org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">ServiceContainer</span></a></li>
 <li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">SettableForwarder</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SimpleFilterTransform.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">SimpleFilterTransform</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">SimplePublisherApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/SimplePublisherApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">SimplePublisherApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/SimpleReaderApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">SimpleReaderApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">SimpleSimulatedSensor</span></a> (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">SimpleSubscriberApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/SimpleSubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">SimpleSubscriberApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.jdbc.<a href="org/apache/edgent/samples/connectors/jdbc/SimpleWriterApp.html" title="class in org.apache.edgent.samples.connectors.jdbc"><span class="typeNameLink">SimpleWriterApp</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGeofence.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">SimulatedGeofence</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.utils.sensor.gps.<a href="org/apache/edgent/test/svt/utils/sensor/gps/SimulatedGpsSensor.html" title="class in org.apache.edgent.test.svt.utils.sensor.gps"><span class="typeNameLink">SimulatedGpsSensor</span></a></li>
-<li type="circle">org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimulatedSensors.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">SimulatedSensors</span></a></li>
-<li type="circle">org.apache.edgent.samples.utils.sensor.<a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor"><span class="typeNameLink">SimulatedTemperatureSensor</span></a> (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SplitWithEnumSample.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">SplitWithEnumSample</span></a></li>
-<li type="circle">org.apache.edgent.samples.utils.metrics.<a href="org/apache/edgent/samples/utils/metrics/SplitWithMetrics.html" title="class in org.apache.edgent.samples.utils.metrics"><span class="typeNameLink">SplitWithMetrics</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">StorelessStatistic</span></a> (implements org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>)</li>
 <li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.BufferManager</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.Sample</span></a>&lt;T&gt;</li>
@@ -445,18 +356,11 @@
 <li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeRegistry</span></a></li>
 <li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeRegistryBean</span></a> (implements org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a>)</li>
 <li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeSetup</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/StreamTags.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">StreamTags</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.kafka.<a href="org/apache/edgent/samples/connectors/kafka/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.kafka"><span class="typeNameLink">SubscriberApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.mqtt.<a href="org/apache/edgent/samples/connectors/mqtt/SubscriberApp.html" title="class in org.apache.edgent.samples.connectors.mqtt"><span class="typeNameLink">SubscriberApp</span></a></li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/TerminateAfterNTuples.html" title="class in org.apache.edgent.samples.topology"><span class="typeNameLink">TerminateAfterNTuples</span></a></li>
-<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">ThreadFactoryTracker</span></a> (implements java.util.concurrent.ThreadFactory)</li>
-<li type="circle">org.apache.edgent.samples.apps.<a href="org/apache/edgent/samples/apps/TopologyProviderFactory.html" title="class in org.apache.edgent.samples.apps"><span class="typeNameLink">TopologyProviderFactory</span></a></li>
-<li type="circle">org.apache.edgent.test.svt.<a href="org/apache/edgent/test/svt/TopologyTestBasic.html" title="class in org.apache.edgent.test.svt"><span class="typeNameLink">TopologyTestBasic</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.<a href="org/apache/edgent/samples/connectors/Util.html" title="class in org.apache.edgent.samples.connectors"><span class="typeNameLink">Util</span></a></li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">ThreadFactoryTracker</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>)</li>
 <li type="circle">org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Valve</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;)</li>
 <li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">VertexType</span></a>&lt;I,O&gt;</li>
 <li type="circle">org.apache.edgent.window.<a href="org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Windows</span></a></li>
-<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">WrappedFunction</span></a>&lt;F&gt; (implements java.io.Serializable)
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">WrappedFunction</span></a>&lt;F&gt; (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.edgent.topology.spi.functions.<a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions"><span class="typeNameLink">EndlessSupplier</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
 </ul>
@@ -468,14 +372,13 @@
 <ul>
 <li type="circle">org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">ApplicationService</span></a></li>
 <li type="circle">org.apache.edgent.topology.mbeans.<a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><span class="typeNameLink">ApplicationServiceMXBean</span></a></li>
-<li type="circle">java.lang.AutoCloseable
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">AutoCloseable</span></a>
 <ul>
 <li type="circle">org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Oplet</span></a>&lt;I,O&gt;</li>
 </ul>
 </li>
 <li type="circle">org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">CheckedFunction</span></a>&lt;T,R&gt;</li>
 <li type="circle">org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">CheckedSupplier</span></a>&lt;T&gt;</li>
-<li type="circle">org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Cmd</span></a></li>
 <li type="circle">org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Commands</span></a></li>
 <li type="circle">org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester"><span class="typeNameLink">Condition</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.edgent.execution.<a href="org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Configs</span></a></li>
@@ -506,7 +409,7 @@
 <li type="circle">org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">OpletContext</span></a>&lt;I,O&gt;</li>
 </ul>
 </li>
-<li type="circle">java.io.Serializable
+<li type="circle">java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
 <ul>
 <li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">BiConsumer</span></a>&lt;T,U&gt;</li>
 <li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">BiFunction</span></a>&lt;T,U,R&gt;</li>
@@ -522,10 +425,12 @@
 <li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Supplier</span></a>&lt;T&gt;
 <ul>
 <li type="circle">org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonUnivariateAggregate</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregate</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">ToIntFunction</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">UnaryOperator</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregate</span></a></li>
 </ul>
 </li>
 <li type="circle">org.apache.edgent.connectors.serial.<a href="org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">SerialPort</span></a></li>
@@ -557,25 +462,25 @@
 </ul>
 </li>
 <li type="circle">org.apache.edgent.topology.<a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TopologyProvider</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregator</span></a></li>
 <li type="circle">org.apache.edgent.graph.<a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Vertex</span></a>&lt;N,C,P&gt;</li>
 <li type="circle">org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Window</span></a>&lt;T,K,L&gt;</li>
 </ul>
 <h2 title="Enum Hierarchy">Enum Hierarchy</h2>
 <ul>
-<li type="circle">java.lang.Object
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>)</li>
-<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>)</li>
-<li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range.BoundType</span></a></li>
 <li type="circle">org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.State</span></a></li>
 <li type="circle">org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.Health</span></a></li>
 <li type="circle">org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.Action</span></a></li>
 <li type="circle">org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services"><span class="typeNameLink">JobRegistryService.EventType</span></a></li>
-<li type="circle">org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Elm327Cmds.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Elm327Cmds</span></a> (implements org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>)</li>
-<li type="circle">org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Pids01.html" title="enum in org.apache.edgent.samples.connectors.elm327"><span class="typeNameLink">Pids01</span></a> (implements org.apache.edgent.samples.connectors.elm327.<a href="org/apache/edgent/samples/connectors/elm327/Cmd.html" title="interface in org.apache.edgent.samples.connectors.elm327">Cmd</a>)</li>
-<li type="circle">org.apache.edgent.samples.topology.<a href="org/apache/edgent/samples/topology/SplitWithEnumSample.LogSeverityEnum.html" title="enum in org.apache.edgent.samples.topology"><span class="typeNameLink">SplitWithEnumSample.LogSeverityEnum</span></a></li>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range.BoundType</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic2</span></a> (implements org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression2</span></a> (implements org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>)</li>
 </ul>
 </li>
 </ul>
@@ -600,7 +505,6 @@
 <li><a href="index-all.html">Index</a></li>
 <li><a href="help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -630,6 +534,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/latest/package-list b/site/javadoc/latest/package-list
index b1a870a..dfc181e 100644
--- a/site/javadoc/latest/package-list
+++ b/site/javadoc/latest/package-list
@@ -1,3 +1,4 @@
+org.apache.edgent.analytics.math3
 org.apache.edgent.analytics.math3.json
 org.apache.edgent.analytics.math3.stat
 org.apache.edgent.analytics.sensors
@@ -26,8 +27,6 @@
 org.apache.edgent.graph
 org.apache.edgent.graph.spi
 org.apache.edgent.graph.spi.execution
-org.apache.edgent.javax.websocket
-org.apache.edgent.javax.websocket.impl
 org.apache.edgent.metrics
 org.apache.edgent.metrics.oplets
 org.apache.edgent.oplet
@@ -46,30 +45,9 @@
 org.apache.edgent.runtime.jmxcontrol
 org.apache.edgent.runtime.jobregistry
 org.apache.edgent.runtime.jsoncontrol
-org.apache.edgent.samples.apps
-org.apache.edgent.samples.apps.mqtt
-org.apache.edgent.samples.apps.sensorAnalytics
-org.apache.edgent.samples.connectors
-org.apache.edgent.samples.connectors.elm327
-org.apache.edgent.samples.connectors.elm327.runtime
-org.apache.edgent.samples.connectors.file
-org.apache.edgent.samples.connectors.iotp
-org.apache.edgent.samples.connectors.jdbc
-org.apache.edgent.samples.connectors.kafka
-org.apache.edgent.samples.connectors.mqtt
-org.apache.edgent.samples.connectors.obd2
-org.apache.edgent.samples.console
-org.apache.edgent.samples.scenarios.iotp
-org.apache.edgent.samples.topology
-org.apache.edgent.samples.utils.metrics
-org.apache.edgent.samples.utils.sensor
 org.apache.edgent.streamscope
 org.apache.edgent.streamscope.mbeans
 org.apache.edgent.streamscope.oplets
-org.apache.edgent.test.svt
-org.apache.edgent.test.svt.apps
-org.apache.edgent.test.svt.apps.iotp
-org.apache.edgent.test.svt.utils.sensor.gps
 org.apache.edgent.topology
 org.apache.edgent.topology.json
 org.apache.edgent.topology.mbeans
diff --git a/site/javadoc/latest/serialized-form.html b/site/javadoc/latest/serialized-form.html
index 0c55bb8..8db689a 100644
--- a/site/javadoc/latest/serialized-form.html
+++ b/site/javadoc/latest/serialized-form.html
@@ -2,9 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_112) on Sun Feb 26 17:08:12 EST 2017 -->
-<title>Serialized Form (Edgent v1.1.0)</title>
-<meta name="date" content="2017-02-26">
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Serialized Form (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
 </head>
@@ -12,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Serialized Form (Edgent v1.1.0)";
+            parent.document.title="Serialized Form (Apache Edgent (incubating) v1.2.0 API)";
         }
     }
     catch(err) {
@@ -75,6 +76,29 @@
 <div class="serializedFormContainer">
 <ul class="blockList">
 <li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.analytics.math3</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.MvResultMap">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3.MvResultMap</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.ResultMap">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3.ResultMap</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+</li>
+</ul>
+</li>
+<li class="blockList">
 <h2 title="Package">Package&nbsp;org.apache.edgent.analytics.math3.json</h2>
 </li>
 <li class="blockList">
@@ -83,7 +107,7 @@
 <li class="blockList"><a name="org.apache.edgent.analytics.sensors.Deadtime">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors.Deadtime</a> extends java.lang.Object implements Serializable</h3>
+<h3>Class <a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors.Deadtime</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>1L</dd>
@@ -111,7 +135,7 @@
 <li class="blockList"><a name="org.apache.edgent.analytics.sensors.Range">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors.Range</a> extends java.lang.Object implements Serializable</h3>
+<h3>Class <a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors.Range</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>1L</dd>
@@ -122,11 +146,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>lowerEndpoint</h4>
-<pre>java.lang.Comparable&lt;T&gt; lowerEndpoint</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">T</a>&gt; lowerEndpoint</pre>
 </li>
 <li class="blockList">
 <h4>upperEndpoint</h4>
-<pre>java.lang.Comparable&lt;T&gt; upperEndpoint</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">T</a>&gt; upperEndpoint</pre>
 </li>
 <li class="blockList">
 <h4>lbt</h4>
@@ -148,7 +172,7 @@
 <li class="blockList"><a name="org.apache.edgent.function.WrappedFunction">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">org.apache.edgent.function.WrappedFunction</a> extends java.lang.Object implements Serializable</h3>
+<h3>Class <a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">org.apache.edgent.function.WrappedFunction</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>1L</dd>
@@ -159,7 +183,7 @@
 <ul class="blockList">
 <li class="blockListLast">
 <h4>f</h4>
-<pre>java.lang.Object f</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> f</pre>
 </li>
 </ul>
 </li>
@@ -224,11 +248,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>shortMetricName</h4>
-<pre>java.lang.String shortMetricName</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> shortMetricName</pre>
 </li>
 <li class="blockListLast">
 <h4>metricName</h4>
-<pre>java.lang.String metricName</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> metricName</pre>
 </li>
 </ul>
 </li>
@@ -253,7 +277,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>targets</h4>
-<pre>java.util.List&lt;E&gt; targets</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; targets</pre>
 </li>
 <li class="blockListLast">
 <h4>n</h4>
@@ -310,7 +334,7 @@
 </li>
 <li class="blockList">
 <h4>destinations</h4>
-<pre>java.util.List&lt;E&gt; destinations</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; destinations</pre>
 </li>
 <li class="blockListLast">
 <h4>n</h4>
@@ -444,11 +468,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>thread</h4>
-<pre>java.lang.Thread thread</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a> thread</pre>
 </li>
 <li class="blockListLast">
 <h4>tuples</h4>
-<pre>java.util.concurrent.LinkedBlockingQueue&lt;E&gt; tuples</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">E</a>&gt; tuples</pre>
 </li>
 </ul>
 </li>
@@ -468,11 +492,11 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>executor</h4>
-<pre>java.util.concurrent.ScheduledExecutorService executor</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> executor</pre>
 </li>
 <li class="blockListLast">
 <h4>window</h4>
-<pre><a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">L</a> extends java.util.List&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;&gt; window</pre>
+<pre><a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">L</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;&gt; window</pre>
 </li>
 </ul>
 </li>
@@ -492,7 +516,7 @@
 <ul class="blockList">
 <li class="blockListLast">
 <h4>executor</h4>
-<pre>java.util.concurrent.ScheduledExecutorService executor</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> executor</pre>
 </li>
 </ul>
 </li>
@@ -517,7 +541,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>window</h4>
-<pre><a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">L</a> extends java.util.List&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;&gt; window</pre>
+<pre><a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">L</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;&gt; window</pre>
 </li>
 <li class="blockListLast">
 <h4>aggregator</h4>
@@ -536,7 +560,7 @@
 <li class="blockList"><a name="org.apache.edgent.runtime.etiao.SettableForwarder">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao.SettableForwarder</a> extends java.lang.Object implements Serializable</h3>
+<h3>Class <a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao.SettableForwarder</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>1L</dd>
@@ -556,138 +580,12 @@
 </ul>
 </li>
 <li class="blockList">
-<h2 title="Package">Package&nbsp;org.apache.edgent.samples.connectors</h2>
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.connectors.MsgSupplier">
-<!--   -->
-</a>
-<h3>Class <a href="org/apache/edgent/samples/connectors/MsgSupplier.html" title="class in org.apache.edgent.samples.connectors">org.apache.edgent.samples.connectors.MsgSupplier</a> extends java.lang.Object implements Serializable</h3>
-<dl class="nameValue">
-<dt>serialVersionUID:</dt>
-<dd>1L</dd>
-</dl>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>maxCnt</h4>
-<pre>int maxCnt</pre>
-</li>
-<li class="blockList">
-<h4>cnt</h4>
-<pre>int cnt</pre>
-</li>
-<li class="blockListLast">
-<h4>done</h4>
-<pre>boolean done</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList">
-<h2 title="Package">Package&nbsp;org.apache.edgent.samples.utils.sensor</h2>
-<ul class="blockList">
-<li class="blockList"><a name="org.apache.edgent.samples.utils.sensor.HeartMonitorSensor">
-<!--   -->
-</a>
-<h3>Class <a href="org/apache/edgent/samples/utils/sensor/HeartMonitorSensor.html" title="class in org.apache.edgent.samples.utils.sensor">org.apache.edgent.samples.utils.sensor.HeartMonitorSensor</a> extends java.lang.Object implements Serializable</h3>
-<dl class="nameValue">
-<dt>serialVersionUID:</dt>
-<dd>1L</dd>
-</dl>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>currentSystolic</h4>
-<pre>java.lang.Integer currentSystolic</pre>
-</li>
-<li class="blockList">
-<h4>currentDiastolic</h4>
-<pre>java.lang.Integer currentDiastolic</pre>
-</li>
-<li class="blockListLast">
-<h4>rand</h4>
-<pre>java.util.Random rand</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.utils.sensor.SimpleSimulatedSensor">
-<!--   -->
-</a>
-<h3>Class <a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">org.apache.edgent.samples.utils.sensor.SimpleSimulatedSensor</a> extends java.lang.Object implements Serializable</h3>
-<dl class="nameValue">
-<dt>serialVersionUID:</dt>
-<dd>1L</dd>
-</dl>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>numFracDigits</h4>
-<pre>int numFracDigits</pre>
-</li>
-<li class="blockList">
-<h4>df</h4>
-<pre>java.text.DecimalFormat df</pre>
-</li>
-<li class="blockList">
-<h4>r</h4>
-<pre>java.util.Random r</pre>
-</li>
-<li class="blockList">
-<h4>range</h4>
-<pre><a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a> extends java.lang.Comparable&lt;?&gt;&gt; range</pre>
-</li>
-<li class="blockList">
-<h4>deltaFactor</h4>
-<pre>double deltaFactor</pre>
-</li>
-<li class="blockListLast">
-<h4>currentValue</h4>
-<pre>double currentValue</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList"><a name="org.apache.edgent.samples.utils.sensor.SimulatedTemperatureSensor">
-<!--   -->
-</a>
-<h3>Class <a href="org/apache/edgent/samples/utils/sensor/SimulatedTemperatureSensor.html" title="class in org.apache.edgent.samples.utils.sensor">org.apache.edgent.samples.utils.sensor.SimulatedTemperatureSensor</a> extends java.lang.Object implements Serializable</h3>
-<dl class="nameValue">
-<dt>serialVersionUID:</dt>
-<dd>1L</dd>
-</dl>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockListLast">
-<h4>sensor</h4>
-<pre><a href="org/apache/edgent/samples/utils/sensor/SimpleSimulatedSensor.html" title="class in org.apache.edgent.samples.utils.sensor">SimpleSimulatedSensor</a> sensor</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList">
 <h2 title="Package">Package&nbsp;org.apache.edgent.streamscope</h2>
 <ul class="blockList">
 <li class="blockList"><a name="org.apache.edgent.streamscope.StreamScope">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">org.apache.edgent.streamscope.StreamScope</a> extends java.lang.Object implements Serializable</h3>
+<h3>Class <a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">org.apache.edgent.streamscope.StreamScope</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>1L</dd>
@@ -734,7 +632,7 @@
 <li class="blockList"><a name="org.apache.edgent.topology.plumbing.LoadBalancedSplitter">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing.LoadBalancedSplitter</a> extends java.lang.Object implements Serializable</h3>
+<h3>Class <a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing.LoadBalancedSplitter</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>1L</dd>
@@ -745,7 +643,7 @@
 <ul class="blockList">
 <li class="blockList">
 <h4>gate</h4>
-<pre>java.util.concurrent.Semaphore gate</pre>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a> gate</pre>
 </li>
 <li class="blockListLast">
 <h4>chBusy</h4>
@@ -758,7 +656,7 @@
 <li class="blockList"><a name="org.apache.edgent.topology.plumbing.Valve">
 <!--   -->
 </a>
-<h3>Class <a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing.Valve</a> extends java.lang.Object implements Serializable</h3>
+<h3>Class <a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing.Valve</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
 <dl class="nameValue">
 <dt>serialVersionUID:</dt>
 <dd>1L</dd>
@@ -803,7 +701,6 @@
 <li><a href="index-all.html">Index</a></li>
 <li><a href="help-doc.html">Help</a></li>
 </ul>
-<div class="aboutLanguage"><a href="http://edgent.incubator.apache.org">Apache Edgent (incubating)</a></div>
 </div>
 <div class="subNav">
 <ul class="navList">
@@ -833,6 +730,6 @@
 <!--   -->
 </a></div>
 <!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2017 The Apache Software Foundation. All Rights Reserved - 4744f56-20170226-1707</small></p>
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
 </body>
 </html>
diff --git a/site/javadoc/r1.2.0/allclasses-frame.html b/site/javadoc/r1.2.0/allclasses-frame.html
new file mode 100644
index 0000000..ff813d2
--- /dev/null
+++ b/site/javadoc/r1.2.0/allclasses-frame.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>All Classes (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">AbstractContext</a></li>
+<li><a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi" target="classFrame">AbstractGraph</a></li>
+<li><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution" target="classFrame">AbstractGraphJob</a></li>
+<li><a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core" target="classFrame">AbstractOplet</a></li>
+<li><a href="org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester" target="classFrame">AbstractTester</a></li>
+<li><a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi" target="classFrame">AbstractTopology</a></li>
+<li><a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi" target="classFrame">AbstractTopologyProvider</a></li>
+<li><a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi" target="classFrame">AbstractTStream</a></li>
+<li><a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">AbstractTWindow</a></li>
+<li><a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi" target="classFrame">AbstractVertex</a></li>
+<li><a href="org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window" target="classFrame">Aggregate</a></li>
+<li><a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">Aggregations</a></li>
+<li><a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services" target="classFrame"><span class="interfaceName">ApplicationService</span></a></li>
+<li><a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans" target="classFrame"><span class="interfaceName">ApplicationServiceMXBean</span></a></li>
+<li><a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice" target="classFrame">AppService</a></li>
+<li><a href="org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice" target="classFrame">AppServiceControl</a></li>
+<li><a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing" target="classFrame">Barrier</a></li>
+<li><a href="org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">BiConsumer</span></a></li>
+<li><a href="org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">BiFunction</span></a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">CheckedFunction</span></a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">CheckedSupplier</span></a></li>
+<li><a href="org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">Commands</span></a></li>
+<li><a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command" target="classFrame">CommandStreams</a></li>
+<li><a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file" target="classFrame">CompressedFileWriterPolicy</a></li>
+<li><a href="org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester" target="classFrame"><span class="interfaceName">Condition</span></a></li>
+<li><a href="org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution" target="classFrame"><span class="interfaceName">Configs</span></a></li>
+<li><a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Connector</span></a></li>
+<li><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">ConnectorStream</a></li>
+<li><a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">Consumer</span></a></li>
+<li><a href="org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services" target="classFrame">Controls</a></li>
+<li><a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services" target="classFrame"><span class="interfaceName">ControlService</span></a></li>
+<li><a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets" target="classFrame">CounterOp</a></li>
+<li><a href="org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv" target="classFrame">Csv</a></li>
+<li><a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors" target="classFrame">Deadtime</a></li>
+<li><a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development" target="classFrame">DevelopmentProvider</a></li>
+<li><a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi" target="classFrame">DirectEdge</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph" target="classFrame">DirectGraph</a></li>
+<li><a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct" target="classFrame">DirectProvider</a></li>
+<li><a href="org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution" target="classFrame"><span class="interfaceName">DirectSubmitter</span></a></li>
+<li><a href="org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct" target="classFrame">DirectTopology</a></li>
+<li><a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Edge</span></a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model" target="classFrame">EdgeType</a></li>
+<li><a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions" target="classFrame">EndlessSupplier</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">EtiaoJob</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans" target="classFrame">EtiaoJobBean</a></li>
+<li><a href="org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">Events</span></a></li>
+<li><a href="org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">Events</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">Executable</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph" target="classFrame">ExecutableVertex</a></li>
+<li><a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core" target="classFrame">FanIn</a></li>
+<li><a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core" target="classFrame">FanOut</a></li>
+<li><a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileStreams</a></li>
+<li><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileWriterCycleConfig</a></li>
+<li><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileWriterFlushConfig</a></li>
+<li><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileWriterPolicy</a></li>
+<li><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileWriterRetentionConfig</a></li>
+<li><a href="org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">Filter</a></li>
+<li><a href="org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors" target="classFrame">Filters</a></li>
+<li><a href="org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">FlatMap</a></li>
+<li><a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">Function</span></a></li>
+<li><a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function" target="classFrame">Functions</a></li>
+<li><a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Graph</span></a></li>
+<li><a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">GraphTopology</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model" target="classFrame">GraphType</a></li>
+<li><a href="org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot" target="classFrame">HeartBeat</a></li>
+<li><a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http" target="classFrame">HttpClients</a></li>
+<li><a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http" target="classFrame">HttpResponders</a></li>
+<li><a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http" target="classFrame">HttpStreams</a></li>
+<li><a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window" target="classFrame">InsertionTimeList</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">Invocation</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">InvocationContext</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model" target="classFrame">InvocationType</a></li>
+<li><a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">IotDevice</span></a></li>
+<li><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot" target="classFrame">IotDevicePubSub</a></li>
+<li><a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">IotGateway</span></a></li>
+<li><a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp" target="classFrame">IotpDevice</a></li>
+<li><a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp" target="classFrame">IotpGateway</a></li>
+<li><a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot" target="classFrame">IotProvider</a></li>
+<li><a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing" target="classFrame">Isolate</a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc" target="classFrame">JdbcStreams</a></li>
+<li><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol" target="classFrame">JMXControlService</a></li>
+<li><a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution" target="classFrame"><span class="interfaceName">Job</span></a></li>
+<li><a href="org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution" target="classFrame">Job.Action</a></li>
+<li><a href="org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution" target="classFrame">Job.Health</a></li>
+<li><a href="org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution" target="classFrame">Job.State</a></li>
+<li><a href="org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">JobContext</span></a></li>
+<li><a href="org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry" target="classFrame">JobEvents</a></li>
+<li><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime" target="classFrame">JobMonitorApp</a></li>
+<li><a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans" target="classFrame"><span class="interfaceName">JobMXBean</span></a></li>
+<li><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry" target="classFrame">JobRegistry</a></li>
+<li><a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services" target="classFrame"><span class="interfaceName">JobRegistryService</span></a></li>
+<li><a href="org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services" target="classFrame">JobRegistryService.EventType</a></li>
+<li><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json" target="classFrame">JsonAnalytics</a></li>
+<li><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol" target="classFrame">JsonControlService</a></li>
+<li><a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json" target="classFrame">JsonFunctions</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat" target="classFrame">JsonStorelessStatistic</a></li>
+<li><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json" target="classFrame"><span class="interfaceName">JsonUnivariateAggregate</span></a></li>
+<li><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json" target="classFrame"><span class="interfaceName">JsonUnivariateAggregator</span></a></li>
+<li><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket" target="classFrame">Jsr356WebSocketClient</a></li>
+<li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka" target="classFrame">KafkaConsumer</a></li>
+<li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka" target="classFrame"><span class="interfaceName">KafkaConsumer.ByteConsumerRecord</span></a></li>
+<li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka" target="classFrame"><span class="interfaceName">KafkaConsumer.ConsumerRecord</span></a></li>
+<li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka" target="classFrame"><span class="interfaceName">KafkaConsumer.StringConsumerRecord</span></a></li>
+<li><a href="org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka" target="classFrame">KafkaProducer</a></li>
+<li><a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing" target="classFrame">LoadBalancedSplitter</a></li>
+<li><a href="org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">Map</a></li>
+<li><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics" target="classFrame">MetricObjectNameFactory</a></li>
+<li><a href="org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics" target="classFrame">Metrics</a></li>
+<li><a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics" target="classFrame">MetricsSetup</a></li>
+<li><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt" target="classFrame">MqttConfig</a></li>
+<li><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot" target="classFrame">MqttDevice</a></li>
+<li><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt" target="classFrame">MqttStreams</a></li>
+<li><a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">MvResultMap</a></li>
+<li><a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">Oplet</span></a></li>
+<li><a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">OpletContext</span></a></li>
+<li><a href="org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">OutputPortContext</span></a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">ParameterSetter</span></a></li>
+<li><a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window" target="classFrame"><span class="interfaceName">Partition</span></a></li>
+<li><a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window" target="classFrame">PartitionedState</a></li>
+<li><a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Peek</a></li>
+<li><a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">Peek</a></li>
+<li><a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core" target="classFrame">PeriodicSource</a></li>
+<li><a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans" target="classFrame"><span class="interfaceName">PeriodMXBean</span></a></li>
+<li><a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Pipe</a></li>
+<li><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing" target="classFrame">PlumbingStreams</a></li>
+<li><a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window" target="classFrame">Policies</a></li>
+<li><a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">Predicate</span></a></li>
+<li><a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing" target="classFrame">PressureReliever</a></li>
+<li><a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core" target="classFrame">ProcessSource</a></li>
+<li><a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service" target="classFrame">ProviderPubSub</a></li>
+<li><a href="org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets" target="classFrame">Publish</a></li>
+<li><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub" target="classFrame">PublishSubscribe</a></li>
+<li><a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service" target="classFrame"><span class="interfaceName">PublishSubscribeService</span></a></li>
+<li><a href="org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">QoS</span></a></li>
+<li><a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors" target="classFrame">Range</a></li>
+<li><a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors" target="classFrame">Range.BoundType</a></li>
+<li><a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors" target="classFrame">Ranges</a></li>
+<li><a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets" target="classFrame">RateMeter</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Regression</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Regression2</a></li>
+<li><a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">ResultMap</a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">ResultsHandler</span></a></li>
+<li><a href="org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services" target="classFrame"><span class="interfaceName">RuntimeServices</span></a></li>
+<li><a href="org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial" target="classFrame"><span class="interfaceName">SerialDevice</span></a></li>
+<li><a href="org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial" target="classFrame"><span class="interfaceName">SerialPort</span></a></li>
+<li><a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services" target="classFrame">ServiceContainer</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">SettableForwarder</a></li>
+<li><a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets" target="classFrame">SingleMetricAbstractOplet</a></li>
+<li><a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Sink</a></li>
+<li><a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Source</a></li>
+<li><a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Split</a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">StatementSupplier</span></a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Statistic</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Statistic2</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat" target="classFrame">StorelessStatistic</a></li>
+<li><a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets" target="classFrame">StreamScope</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScope</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScope.BufferManager</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScope.Sample</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScope.TriggerManager</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScopeBean</a></li>
+<li><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans" target="classFrame"><span class="interfaceName">StreamScopeMXBean</span></a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScopeRegistry</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScopeRegistryBean</a></li>
+<li><a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans" target="classFrame"><span class="interfaceName">StreamScopeRegistryMXBean</span></a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScopeSetup</a></li>
+<li><a href="org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution" target="classFrame"><span class="interfaceName">Submitter</span></a></li>
+<li><a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">Supplier</span></a></li>
+<li><a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">SupplierPeriodicSource</a></li>
+<li><a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">SupplierSource</a></li>
+<li><a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester" target="classFrame"><span class="interfaceName">Tester</span></a></li>
+<li><a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">ThreadFactoryTracker</a></li>
+<li><a href="org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">ToDoubleFunction</span></a></li>
+<li><a href="org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">ToIntFunction</span></a></li>
+<li><a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">Topology</span></a></li>
+<li><a href="org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services" target="classFrame"><span class="interfaceName">TopologyBuilder</span></a></li>
+<li><a href="org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TopologyElement</span></a></li>
+<li><a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TopologyProvider</span></a></li>
+<li><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">TrackingScheduledExecutor</a></li>
+<li><a href="org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TSink</span></a></li>
+<li><a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TStream</span></a></li>
+<li><a href="org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TWindow</span></a></li>
+<li><a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">TWindowImpl</a></li>
+<li><a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">TWindowTimeImpl</a></li>
+<li><a href="org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">UnaryOperator</span></a></li>
+<li><a href="org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Union</a></li>
+<li><a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3" target="classFrame"><span class="interfaceName">UnivariateAggregate</span></a></li>
+<li><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3" target="classFrame"><span class="interfaceName">UnivariateAggregator</span></a></li>
+<li><a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing" target="classFrame">UnorderedIsolate</a></li>
+<li><a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing" target="classFrame">Valve</a></li>
+<li><a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Vertex</span></a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model" target="classFrame">VertexType</a></li>
+<li><a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient" target="classFrame"><span class="interfaceName">WebSocketClient</span></a></li>
+<li><a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window" target="classFrame"><span class="interfaceName">Window</span></a></li>
+<li><a href="org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window" target="classFrame">Windows</a></li>
+<li><a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function" target="classFrame">WrappedFunction</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/allclasses-noframe.html b/site/javadoc/r1.2.0/allclasses-noframe.html
new file mode 100644
index 0000000..75463f7
--- /dev/null
+++ b/site/javadoc/r1.2.0/allclasses-noframe.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>All Classes (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a></li>
+<li><a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a></li>
+<li><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></li>
+<li><a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></li>
+<li><a href="org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">AbstractTester</a></li>
+<li><a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></li>
+<li><a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a></li>
+<li><a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a></li>
+<li><a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a></li>
+<li><a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">AbstractVertex</a></li>
+<li><a href="org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a></li>
+<li><a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></li>
+<li><a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><span class="interfaceName">ApplicationService</span></a></li>
+<li><a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><span class="interfaceName">ApplicationServiceMXBean</span></a></li>
+<li><a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></li>
+<li><a href="org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice">AppServiceControl</a></li>
+<li><a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a></li>
+<li><a href="org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><span class="interfaceName">BiConsumer</span></a></li>
+<li><a href="org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><span class="interfaceName">BiFunction</span></a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="interfaceName">CheckedFunction</span></a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="interfaceName">CheckedSupplier</span></a></li>
+<li><a href="org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot"><span class="interfaceName">Commands</span></a></li>
+<li><a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></li>
+<li><a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">CompressedFileWriterPolicy</a></li>
+<li><a href="org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester"><span class="interfaceName">Condition</span></a></li>
+<li><a href="org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution"><span class="interfaceName">Configs</span></a></li>
+<li><a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph"><span class="interfaceName">Connector</span></a></li>
+<li><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></li>
+<li><a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><span class="interfaceName">Consumer</span></a></li>
+<li><a href="org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services">Controls</a></li>
+<li><a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><span class="interfaceName">ControlService</span></a></li>
+<li><a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a></li>
+<li><a href="org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv">Csv</a></li>
+<li><a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a></li>
+<li><a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></li>
+<li><a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></li>
+<li><a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></li>
+<li><a href="org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution"><span class="interfaceName">DirectSubmitter</span></a></li>
+<li><a href="org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></li>
+<li><a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><span class="interfaceName">Edge</span></a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></li>
+<li><a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></li>
+<li><a href="org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot"><span class="interfaceName">Events</span></a></li>
+<li><a href="org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a></li>
+<li><a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></li>
+<li><a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a></li>
+<li><a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">FileStreams</a></li>
+<li><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></li>
+<li><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></li>
+<li><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></li>
+<li><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></li>
+<li><a href="org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a></li>
+<li><a href="org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors">Filters</a></li>
+<li><a href="org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a></li>
+<li><a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><span class="interfaceName">Function</span></a></li>
+<li><a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></li>
+<li><a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><span class="interfaceName">Graph</span></a></li>
+<li><a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">GraphType</a></li>
+<li><a href="org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot">HeartBeat</a></li>
+<li><a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">HttpClients</a></li>
+<li><a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">HttpResponders</a></li>
+<li><a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">HttpStreams</a></li>
+<li><a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">InvocationType</a></li>
+<li><a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><span class="interfaceName">IotDevice</span></a></li>
+<li><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">IotDevicePubSub</a></li>
+<li><a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot"><span class="interfaceName">IotGateway</span></a></li>
+<li><a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></li>
+<li><a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></li>
+<li><a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></li>
+<li><a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">JdbcStreams</a></li>
+<li><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></li>
+<li><a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><span class="interfaceName">Job</span></a></li>
+<li><a href="org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></li>
+<li><a href="org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></li>
+<li><a href="org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></li>
+<li><a href="org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet"><span class="interfaceName">JobContext</span></a></li>
+<li><a href="org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry">JobEvents</a></li>
+<li><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">JobMonitorApp</a></li>
+<li><a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="interfaceName">JobMXBean</span></a></li>
+<li><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></li>
+<li><a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><span class="interfaceName">JobRegistryService</span></a></li>
+<li><a href="org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></li>
+<li><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></li>
+<li><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></li>
+<li><a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></li>
+<li><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="interfaceName">JsonUnivariateAggregate</span></a></li>
+<li><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="interfaceName">JsonUnivariateAggregator</span></a></li>
+<li><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></li>
+<li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">KafkaConsumer</a></li>
+<li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="interfaceName">KafkaConsumer.ByteConsumerRecord</span></a></li>
+<li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="interfaceName">KafkaConsumer.ConsumerRecord</span></a></li>
+<li><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="interfaceName">KafkaConsumer.StringConsumerRecord</span></a></li>
+<li><a href="org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka">KafkaProducer</a></li>
+<li><a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">LoadBalancedSplitter</a></li>
+<li><a href="org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a></li>
+<li><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></li>
+<li><a href="org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics">Metrics</a></li>
+<li><a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></li>
+<li><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></li>
+<li><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></li>
+<li><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">MqttStreams</a></li>
+<li><a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a></li>
+<li><a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><span class="interfaceName">Oplet</span></a></li>
+<li><a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><span class="interfaceName">OpletContext</span></a></li>
+<li><a href="org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet"><span class="interfaceName">OutputPortContext</span></a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="interfaceName">ParameterSetter</span></a></li>
+<li><a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="interfaceName">Partition</span></a></li>
+<li><a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">PartitionedState</a></li>
+<li><a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></li>
+<li><a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a></li>
+<li><a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></li>
+<li><a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="interfaceName">PeriodMXBean</span></a></li>
+<li><a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></li>
+<li><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></li>
+<li><a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></li>
+<li><a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><span class="interfaceName">Predicate</span></a></li>
+<li><a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a></li>
+<li><a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a></li>
+<li><a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">ProviderPubSub</a></li>
+<li><a href="org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Publish</a></li>
+<li><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">PublishSubscribe</a></li>
+<li><a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service"><span class="interfaceName">PublishSubscribeService</span></a></li>
+<li><a href="org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><span class="interfaceName">QoS</span></a></li>
+<li><a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></li>
+<li><a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></li>
+<li><a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></li>
+<li><a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></li>
+<li><a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="interfaceName">ResultsHandler</span></a></li>
+<li><a href="org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><span class="interfaceName">RuntimeServices</span></a></li>
+<li><a href="org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial"><span class="interfaceName">SerialDevice</span></a></li>
+<li><a href="org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><span class="interfaceName">SerialPort</span></a></li>
+<li><a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">SettableForwarder</a></li>
+<li><a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a></li>
+<li><a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></li>
+<li><a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></li>
+<li><a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="interfaceName">StatementSupplier</span></a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></li>
+<li><a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></li>
+<li><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="interfaceName">StreamScopeMXBean</span></a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistryBean</a></li>
+<li><a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="interfaceName">StreamScopeRegistryMXBean</span></a></li>
+<li><a href="org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope">StreamScopeSetup</a></li>
+<li><a href="org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution"><span class="interfaceName">Submitter</span></a></li>
+<li><a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="interfaceName">Supplier</span></a></li>
+<li><a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a></li>
+<li><a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a></li>
+<li><a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester"><span class="interfaceName">Tester</span></a></li>
+<li><a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">ThreadFactoryTracker</a></li>
+<li><a href="org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><span class="interfaceName">ToDoubleFunction</span></a></li>
+<li><a href="org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function"><span class="interfaceName">ToIntFunction</span></a></li>
+<li><a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><span class="interfaceName">Topology</span></a></li>
+<li><a href="org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><span class="interfaceName">TopologyBuilder</span></a></li>
+<li><a href="org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="interfaceName">TopologyElement</span></a></li>
+<li><a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><span class="interfaceName">TopologyProvider</span></a></li>
+<li><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></li>
+<li><a href="org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><span class="interfaceName">TSink</span></a></li>
+<li><a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><span class="interfaceName">TStream</span></a></li>
+<li><a href="org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology"><span class="interfaceName">TWindow</span></a></li>
+<li><a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowImpl</a></li>
+<li><a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a></li>
+<li><a href="org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function"><span class="interfaceName">UnaryOperator</span></a></li>
+<li><a href="org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a></li>
+<li><a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="interfaceName">UnivariateAggregate</span></a></li>
+<li><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="interfaceName">UnivariateAggregator</span></a></li>
+<li><a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a></li>
+<li><a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a></li>
+<li><a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><span class="interfaceName">Vertex</span></a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a></li>
+<li><a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient"><span class="interfaceName">WebSocketClient</span></a></li>
+<li><a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><span class="interfaceName">Window</span></a></li>
+<li><a href="org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window">Windows</a></li>
+<li><a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/constant-values.html b/site/javadoc/r1.2.0/constant-values.html
new file mode 100644
index 0000000..679d3dc
--- /dev/null
+++ b/site/javadoc/r1.2.0/constant-values.html
@@ -0,0 +1,773 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Constant Field Values (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Constant Field Values (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-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?constant-values.html" target="_top">Frames</a></li>
+<li><a href="constant-values.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
+<h2 title="Contents">Contents</h2>
+<ul>
+<li><a href="#org.apache">org.apache.*</a></li>
+</ul>
+</div>
+<div class="constantValuesContainer"><a name="org.apache">
+<!--   -->
+</a>
+<h2 title="org.apache">org.apache.*</h2>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate.N">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#N">N</a></code></td>
+<td class="colLast"><code>"N"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.apps.iot.<a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">IotDevicePubSub</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.apps.iot.IotDevicePubSub.APP_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#APP_NAME">APP_NAME</a></code></td>
+<td class="colLast"><code>"edgentIotDevicePubSub"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.edgent.apps.iot.IotDevicePubSub.COMMANDS_TOPIC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#COMMANDS_TOPIC">COMMANDS_TOPIC</a></code></td>
+<td class="colLast"><code>"edgent/iot/commands"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.apps.iot.IotDevicePubSub.EVENTS_TOPIC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#EVENTS_TOPIC">EVENTS_TOPIC</a></code></td>
+<td class="colLast"><code>"edgent/iot/events"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.apps.runtime.<a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">JobMonitorApp</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.apps.runtime.JobMonitorApp.APP_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html#APP_NAME">APP_NAME</a></code></td>
+<td class="colLast"><code>"edgentJobMonitorApp"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot">Commands</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.iot.Commands.CONTROL_SERVICE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/iot/Commands.html#CONTROL_SERVICE">CONTROL_SERVICE</a></code></td>
+<td class="colLast"><code>"edgentControl"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot">Events</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.iot.Events.IOT_START">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/iot/Events.html#IOT_START">IOT_START</a></code></td>
+<td class="colLast"><code>"edgentIotStart"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.CMD_DEVICE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE">CMD_DEVICE</a></code></td>
+<td class="colLast"><code>"device"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.CMD_FORMAT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT">CMD_FORMAT</a></code></td>
+<td class="colLast"><code>"format"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.CMD_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID">CMD_ID</a></code></td>
+<td class="colLast"><code>"command"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.CMD_PAYLOAD">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD">CMD_PAYLOAD</a></code></td>
+<td class="colLast"><code>"payload"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.CMD_TS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS">CMD_TS</a></code></td>
+<td class="colLast"><code>"tsms"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.iot.IotDevice.RESERVED_ID_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX">RESERVED_ID_PREFIX</a></code></td>
+<td class="colLast"><code>"edgent"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.iotp.IotpDevice.QUICKSTART_DEVICE_TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#QUICKSTART_DEVICE_TYPE">QUICKSTART_DEVICE_TYPE</a></code></td>
+<td class="colLast"><code>"iotsamples-edgent"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.iotp.IotpGateway.ATTR_DEVICE_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_ID">ATTR_DEVICE_ID</a></code></td>
+<td class="colLast"><code>"deviceId"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.iotp.IotpGateway.ATTR_DEVICE_TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_TYPE">ATTR_DEVICE_TYPE</a></code></td>
+<td class="colLast"><code>"deviceType"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.connectors.pubsub.<a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">PublishSubscribe</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.connectors.pubsub.PublishSubscribe.RESERVED_TOPIC_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html#RESERVED_TOPIC_PREFIX">RESERVED_TOPIC_PREFIX</a></code></td>
+<td class="colLast"><code>"edgent/"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.execution.<a href="org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">Configs</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.execution.Configs.JOB_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/execution/Configs.html#JOB_NAME">JOB_NAME</a></code></td>
+<td class="colLast"><code>"jobName"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.execution.mbeans.JobMXBean.TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/execution/mbeans/JobMXBean.html#TYPE">TYPE</a></code></td>
+<td class="colLast"><code>"job"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services">Controls</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.execution.services.Controls.JOB_HOLD_AFTER_CLOSE_SECS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/edgent/execution/services/Controls.html#JOB_HOLD_AFTER_CLOSE_SECS">JOB_HOLD_AFTER_CLOSE_SECS</a></code></td>
+<td class="colLast"><code>10</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.KEY_JOBID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_JOBID">KEY_JOBID</a></code></td>
+<td class="colLast"><code>"jobId"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.KEY_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_NAME">KEY_NAME</a></code></td>
+<td class="colLast"><code>"name"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.KEY_OPID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_OPID">KEY_OPID</a></code></td>
+<td class="colLast"><code>"opId"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.KEY_TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_TYPE">KEY_TYPE</a></code></td>
+<td class="colLast"><code>"type"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.PREFIX_JOBID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#PREFIX_JOBID">PREFIX_JOBID</a></code></td>
+<td class="colLast"><code>"JOB_"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.PREFIX_OPID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#PREFIX_OPID">PREFIX_OPID</a></code></td>
+<td class="colLast"><code>"OP_"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.metrics.MetricObjectNameFactory.TYPE_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#TYPE_PREFIX">TYPE_PREFIX</a></code></td>
+<td class="colLast"><code>"metric"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>&lt;<a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="type parameter in CounterOp">T</a>&gt;</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.metrics.oplets.CounterOp.METRIC_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/metrics/oplets/CounterOp.html#METRIC_NAME">METRIC_NAME</a></code></td>
+<td class="colLast"><code>"TupleCounter"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a>&lt;<a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="type parameter in RateMeter">T</a>&gt;</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.metrics.oplets.RateMeter.METRIC_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/metrics/oplets/RateMeter.html#METRIC_NAME">METRIC_NAME</a></code></td>
+<td class="colLast"><code>"TupleRateMeter"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.providers.development.<a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.providers.development.DevelopmentProvider.JMX_DOMAIN">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/providers/development/DevelopmentProvider.html#JMX_DOMAIN">JMX_DOMAIN</a></code></td>
+<td class="colLast"><code>"org.apache.edgent.providers.development"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.providers.iot.IotProvider.CONTROL_APP_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/providers/iot/IotProvider.html#CONTROL_APP_NAME">CONTROL_APP_NAME</a></code></td>
+<td class="colLast"><code>"edgentIotCommandsToControl"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.runtime.etiao.EtiaoJob.ID_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#ID_PREFIX">ID_PREFIX</a></code></td>
+<td class="colLast"><code>"JOB_"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a>&lt;<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">T</a> extends <a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>,<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">O</a>&gt;,<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>,<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">O</a>&gt;</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.runtime.etiao.Invocation.ID_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/runtime/etiao/Invocation.html#ID_PREFIX">ID_PREFIX</a></code></td>
+<td class="colLast"><code>"OP_"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.runtime.jsoncontrol.JsonControlService.ALIAS_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ALIAS_KEY">ALIAS_KEY</a></code></td>
+<td class="colLast"><code>"alias"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.edgent.runtime.jsoncontrol.JsonControlService.ARGS_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ARGS_KEY">ARGS_KEY</a></code></td>
+<td class="colLast"><code>"args"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.runtime.jsoncontrol.JsonControlService.OP_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#OP_KEY">OP_KEY</a></code></td>
+<td class="colLast"><code>"op"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.edgent.runtime.jsoncontrol.JsonControlService.TYPE_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#TYPE_KEY">TYPE_KEY</a></code></td>
+<td class="colLast"><code>"type"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.streamscope.mbeans.StreamScopeMXBean.TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#TYPE">TYPE</a></code></td>
+<td class="colLast"><code>"streamScope"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean.TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#TYPE">TYPE</a></code></td>
+<td class="colLast"><code>"streamScopeRegistry"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.topology.TStream.TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/topology/TStream.html#TYPE">TYPE</a></code></td>
+<td class="colLast"><code>"stream"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.topology.mbeans.<a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.topology.mbeans.ApplicationServiceMXBean.TYPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#TYPE">TYPE</a></code></td>
+<td class="colLast"><code>"appService"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.edgent.topology.services.ApplicationService.ALIAS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/topology/services/ApplicationService.html#ALIAS">ALIAS</a></code></td>
+<td class="colLast"><code>"edgent"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.edgent.topology.services.ApplicationService.SYSTEM_APP_PREFIX">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/edgent/topology/services/ApplicationService.html#SYSTEM_APP_PREFIX">SYSTEM_APP_PREFIX</a></code></td>
+<td class="colLast"><code>"edgent"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-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?constant-values.html" target="_top">Frames</a></li>
+<li><a href="constant-values.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/deprecated-list.html b/site/javadoc/r1.2.0/deprecated-list.html
new file mode 100644
index 0000000..39343ff
--- /dev/null
+++ b/site/javadoc/r1.2.0/deprecated-list.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Deprecated List (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Deprecated List (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li class="navBarCell1Rev">Deprecated</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?deprecated-list.html" target="_top">Frames</a></li>
+<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Deprecated API" class="title">Deprecated API</h1>
+<h2 title="Contents">Contents</h2>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li class="navBarCell1Rev">Deprecated</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?deprecated-list.html" target="_top">Frames</a></li>
+<li><a href="deprecated-list.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/help-doc.html b/site/javadoc/r1.2.0/help-doc.html
new file mode 100644
index 0000000..7d383c7
--- /dev/null
+++ b/site/javadoc/r1.2.0/help-doc.html
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>API Help (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="API Help (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li class="navBarCell1Rev">Help</li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
+<li><a href="help-doc.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">How This API Document Is Organized</h1>
+<div class="subTitle">This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.</div>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<h2>Overview</h2>
+<p>The <a href="overview-summary.html">Overview</a> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</p>
+</li>
+<li class="blockList">
+<h2>Package</h2>
+<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:</p>
+<ul>
+<li>Interfaces (italic)</li>
+<li>Classes</li>
+<li>Enums</li>
+<li>Exceptions</li>
+<li>Errors</li>
+<li>Annotation Types</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Class/Interface</h2>
+<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:</p>
+<ul>
+<li>Class inheritance diagram</li>
+<li>Direct Subclasses</li>
+<li>All Known Subinterfaces</li>
+<li>All Known Implementing Classes</li>
+<li>Class/interface declaration</li>
+<li>Class/interface description</li>
+</ul>
+<ul>
+<li>Nested Class Summary</li>
+<li>Field Summary</li>
+<li>Constructor Summary</li>
+<li>Method Summary</li>
+</ul>
+<ul>
+<li>Field Detail</li>
+<li>Constructor Detail</li>
+<li>Method Detail</li>
+</ul>
+<p>Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
+</li>
+<li class="blockList">
+<h2>Annotation Type</h2>
+<p>Each annotation type has its own separate page with the following sections:</p>
+<ul>
+<li>Annotation Type declaration</li>
+<li>Annotation Type description</li>
+<li>Required Element Summary</li>
+<li>Optional Element Summary</li>
+<li>Element Detail</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Enum</h2>
+<p>Each enum has its own separate page with the following sections:</p>
+<ul>
+<li>Enum declaration</li>
+<li>Enum description</li>
+<li>Enum Constant Summary</li>
+<li>Enum Constant Detail</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Use</h2>
+<p>Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</p>
+</li>
+<li class="blockList">
+<h2>Tree (Class Hierarchy)</h2>
+<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.</p>
+<ul>
+<li>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.</li>
+<li>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</li>
+</ul>
+</li>
+<li class="blockList">
+<h2>Deprecated API</h2>
+<p>The <a href="deprecated-list.html">Deprecated API</a> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</p>
+</li>
+<li class="blockList">
+<h2>Index</h2>
+<p>The <a href="index-all.html">Index</a> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</p>
+</li>
+<li class="blockList">
+<h2>Prev/Next</h2>
+<p>These links take you to the next or previous class, interface, package, or related page.</p>
+</li>
+<li class="blockList">
+<h2>Frames/No Frames</h2>
+<p>These links show and hide the HTML frames.  All pages are available with or without frames.</p>
+</li>
+<li class="blockList">
+<h2>All Classes</h2>
+<p>The <a href="allclasses-noframe.html">All Classes</a> link shows all classes and interfaces except non-static nested types.</p>
+</li>
+<li class="blockList">
+<h2>Serialized Form</h2>
+<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.</p>
+</li>
+<li class="blockList">
+<h2>Constant Field Values</h2>
+<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
+</li>
+</ul>
+<span class="emphasizedPhrase">This help file applies to API documentation generated using the standard doclet.</span></div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li class="navBarCell1Rev">Help</li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
+<li><a href="help-doc.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/index-all.html b/site/javadoc/r1.2.0/index-all.html
new file mode 100644
index 0000000..8fb3e11
--- /dev/null
+++ b/site/javadoc/r1.2.0/index-all.html
@@ -0,0 +1,5013 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Index (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li class="navBarCell1Rev">Index</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?index-all.html" target="_top">Frames</a></li>
+<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:Z">Z</a>&nbsp;<a name="I:A">
+<!--   -->
+</a>
+<h2 class="title">A</h2>
+<dl>
+<dt><a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">AbstractContext</span></a>&lt;<a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="type parameter in AbstractContext">I</a>,<a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="type parameter in AbstractContext">O</a>&gt; - Class in <a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></dt>
+<dd>
+<div class="block">Provides a skeletal implementation of the <a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><code>OpletContext</code></a>
+ interface.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/AbstractContext.html#AbstractContext-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-">AbstractContext(JobContext, RuntimeServices)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">AbstractGraph</span></a>&lt;<a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="type parameter in AbstractGraph">G</a>&gt; - Class in <a href="org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></dt>
+<dd>
+<div class="block">A skeletal implementation of the <a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/AbstractGraph.html#AbstractGraph--">AbstractGraph()</a></span> - Constructor for class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution"><span class="typeNameLink">AbstractGraphJob</span></a> - Class in <a href="org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a></dt>
+<dd>
+<div class="block">Placeholder for a skeletal implementation of the <a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#AbstractGraphJob--">AbstractGraphJob()</a></span> - Constructor for class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;<a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">I</a>,<a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">O</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/AbstractOplet.html#AbstractOplet--">AbstractOplet()</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester"><span class="typeNameLink">AbstractTester</span></a> - Class in <a href="org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/tester/AbstractTester.html#AbstractTester--">AbstractTester()</a></span> - Constructor for class org.apache.edgent.topology.spi.tester.<a href="org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">AbstractTester</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopology</span></a>&lt;<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="type parameter in AbstractTopology">X</a> extends <a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt; - Class in <a href="org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></dt>
+<dd>
+<div class="block">Topology implementation that uses the basic functions to implement most
+ sources streams.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#AbstractTopology-java.lang.String-">AbstractTopology(String)</a></span> - Constructor for class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopologyProvider</span></a>&lt;<a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="type parameter in AbstractTopologyProvider">T</a> extends <a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&gt; - Class in <a href="org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html#AbstractTopologyProvider--">AbstractTopologyProvider()</a></span> - Constructor for class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTStream</span></a>&lt;<a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">G</a> extends <a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt; - Class in <a href="org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></dt>
+<dd>
+<div class="block">Abstract stream that uses the functional primitives to implement most
+ methods.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTStream.html#AbstractTStream-G-">AbstractTStream(G)</a></span> - Constructor for class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">AbstractTWindow</span></a>&lt;<a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">T</a>,<a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">K</a>&gt; - Class in <a href="org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">AbstractVertex</span></a>&lt;<a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="type parameter in AbstractVertex">OP</a> extends <a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="type parameter in AbstractVertex">I</a>,<a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="type parameter in AbstractVertex">O</a>&gt;,<a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="type parameter in AbstractVertex">I</a>,<a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="type parameter in AbstractVertex">O</a>&gt; - Class in <a href="org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></dt>
+<dd>
+<div class="block">Placeholder for a skeletal implementation of the <a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/AbstractVertex.html#AbstractVertex--">AbstractVertex()</a></span> - Constructor for class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">AbstractVertex</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/BiConsumer.html#accept-T-U-">accept(T, U)</a></span> - Method in interface org.apache.edgent.function.<a href="org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a></dt>
+<dd>
+<div class="block">Consume the two arguments.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Consumer.html#accept-T-">accept(T)</a></span> - Method in interface org.apache.edgent.function.<a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></dt>
+<dd>
+<div class="block">Apply the function to <code>value</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanOut.html#accept-T-">accept(T)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Peek.html#accept-T-">accept(T)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Split.html#accept-T-">accept(T)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Events.html#accept-T-">accept(T)</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Filter.html#accept-T-">accept(T)</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/FlatMap.html#accept-I-">accept(I)</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Map.html#accept-I-">accept(I)</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Barrier.html#accept-T-int-">accept(T, int)</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Isolate.html#accept-T-">accept(T)</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/PressureReliever.html#accept-T-">accept(T)</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html#accept-T-">accept(T)</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/window/Aggregate.html#accept-T-">accept(T)</a></span> - Method in class org.apache.edgent.oplet.window.<a href="org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/SettableForwarder.html#accept-T-">accept(T)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">SettableForwarder</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.html#accept-T-">accept(T)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/InsertionTimeList.html#add-T-">add(T)</a></span> - Method in class org.apache.edgent.window.<a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ServiceContainer.html#addCleaner-org.apache.edgent.function.BiConsumer-">addCleaner(BiConsumer&lt;String, String&gt;)</a></span> - Method in class org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></dt>
+<dd>
+<div class="block">Registers a new cleaner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/HeartBeat.html#addHeartBeat-org.apache.edgent.connectors.iot.IotDevice-long-java.util.concurrent.TimeUnit-java.lang.String-">addHeartBeat(IotDevice, long, TimeUnit, String)</a></span> - Static method in class org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot">HeartBeat</a></dt>
+<dd>
+<div class="block">Add IoT device heart beat processing to a topology.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-">addIotDevice(TopologyElement)</a></span> - Static method in class org.apache.edgent.apps.iot.<a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">IotDevicePubSub</a></dt>
+<dd>
+<div class="block">Add a proxy <code>IotDevice</code> for the topology containing <code>te</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#additionalNameKeys-java.util.Hashtable-">additionalNameKeys(Hashtable&lt;String, String&gt;)</a></span> - Method in class org.apache.edgent.runtime.jmxcontrol.<a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/JobRegistryService.html#addJob-org.apache.edgent.execution.Job-">addJob(Job)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></dt>
+<dd>
+<div class="block">Adds the specified job.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html#addJob-org.apache.edgent.execution.Job-">addJob(Job)</a></span> - Method in class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#addKeyProperties-java.lang.String-java.util.Map-">addKeyProperties(String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
+<dd>
+<div class="block">Extracts job and oplet identifier values from the specified buffer and 
+ adds the <a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_JOBID"><code>MetricObjectNameFactory.KEY_JOBID</code></a> and <a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_OPID"><code>MetricObjectNameFactory.KEY_OPID</code></a> key properties to the 
+ specified properties map.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/JobRegistryService.html#addListener-org.apache.edgent.function.BiConsumer-">addListener(BiConsumer&lt;JobRegistryService.EventType, Job&gt;)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></dt>
+<dd>
+<div class="block">Adds a handler to a collection of listeners that will be notified
+ on job registration and state changes.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html#addListener-org.apache.edgent.function.BiConsumer-">addListener(BiConsumer&lt;JobRegistryService.EventType, Job&gt;)</a></span> - Method in class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Executable.html#addOpletInvocation-T-int-int-">addOpletInvocation(T, int, int)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></dt>
+<dd>
+<div class="block">Creates a new <code>Invocation</code> associated with the specified oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Vertex.html#addOutput--">addOutput()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></dt>
+<dd>
+<div class="block">Add an output port to the vertex.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#addOutput--">addOutput()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#addOutput--">addOutput()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">Adds a new output.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ServiceContainer.html#addService-java.lang.Class-T-">addService(Class&lt;T&gt;, T)</a></span> - Method in class org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></dt>
+<dd>
+<div class="block">Adds the specified service to this <code>ServiceContainer</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeSetup.html#addStreamScopes-org.apache.edgent.topology.Topology-">addStreamScopes(Topology)</a></span> - Static method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope">StreamScopeSetup</a></dt>
+<dd>
+<div class="block">Add StreamScope instances to the topology</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber(String, Class&lt;T&gt;, Consumer&lt;T&gt;)</a></span> - Method in class org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">ProviderPubSub</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber(String, Class&lt;T&gt;, Consumer&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></dt>
+<dd>
+<div class="block">Add a subscriber to a published topic.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#afterExecute-java.lang.Runnable-java.lang.Throwable-">afterExecute(Runnable, Throwable)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></dt>
+<dd>
+<div class="block">Invoked by the super class after each task execution.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate(Collection&lt;? extends Number&gt;, UnivariateAggregate)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
+<dd>
+<div class="block">Perform the specified <a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate(Collection&lt;T&gt;, ToDoubleFunction&lt;T&gt;, UnivariateAggregate)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
+<dd>
+<div class="block">Perform the specified <a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate(TWindow&lt;JsonObject, K&gt;, String, String, JsonUnivariateAggregate...)</a></span> - Static method in class org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></dt>
+<dd>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate(TWindow&lt;JsonObject, K&gt;, String, String, ToDoubleFunction&lt;JsonObject&gt;, JsonUnivariateAggregate...)</a></span> - Static method in class org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></dt>
+<dd>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window"><span class="typeNameLink">Aggregate</span></a>&lt;<a href="org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>,<a href="org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>&gt; - Class in <a href="org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></dt>
+<dd>
+<div class="block">Aggregate a window.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/window/Aggregate.html#Aggregate-org.apache.edgent.window.Window-org.apache.edgent.function.BiFunction-">Aggregate(Window&lt;T, K, ? extends List&lt;T&gt;&gt;, BiFunction&lt;List&lt;T&gt;, K, U&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.window.<a href="org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate(BiFunction&lt;List&lt;T&gt;, K, U&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate(BiFunction&lt;List&lt;T&gt;, K, U&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a></dt>
+<dd>
+<div class="block">Window behaviour here is that:
+ 
+ Tuples are always inserted into the partition.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate(BiFunction&lt;List&lt;T&gt;, K, U&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a></dt>
+<dd>
+<div class="block">Declares a stream that is a continuous, sliding, aggregation of
+ partitions in this window.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList(String, String, ToDoubleFunction&lt;JsonObject&gt;, JsonUnivariateAggregate...)</a></span> - Static method in class org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></dt>
+<dd>
+<div class="block">Create a Function that aggregates against a single <code>Numeric</code>
+ variable contained in an JSON object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN(Collection&lt;? extends Number&gt;, UnivariateAggregate...)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
+<dd>
+<div class="block">Perform the specified <a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN(Collection&lt;T&gt;, ToDoubleFunction&lt;T&gt;, UnivariateAggregate...)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
+<dd>
+<div class="block">Perform the specified <a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Aggregations</span></a> - Class in <a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></dt>
+<dd>
+<div class="block">Apache Common Math analytics for Collections.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#Aggregations--">Aggregations()</a></span> - Constructor for class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Connector.html#alias-java.lang.String-">alias(String)</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></dt>
+<dd>
+<div class="block">Set the alias for the connector.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/services/ApplicationService.html#ALIAS">ALIAS</a></span> - Static variable in interface org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></dt>
+<dd>
+<div class="block">Default alias a service registers its control MBean as.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#alias-java.lang.String-">alias(String)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#alias-java.lang.String-">alias(String)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Set an alias for the stream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ALIAS_KEY">ALIAS_KEY</a></span> - Static variable in class org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></dt>
+<dd>
+<div class="block">Key for the alias of the control MBean in a JSON request.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#alwaysFalse--">alwaysFalse()</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">A Predicate that is always false</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#alwaysInsert--">alwaysInsert()</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>
+<div class="block">Returns an insertion policy that indicates the tuple
+ is to be inserted into the partition.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#alwaysTrue--">alwaysTrue()</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">A Predicate that is always true</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/tester/AbstractTester.html#and-org.apache.edgent.topology.tester.Condition...-">and(Condition&lt;?&gt;...)</a></span> - Method in class org.apache.edgent.topology.spi.tester.<a href="org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">AbstractTester</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/tester/Tester.html#and-org.apache.edgent.topology.tester.Condition...-">and(Condition&lt;?&gt;...)</a></span> - Method in interface org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></dt>
+<dd>
+<div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#APP_NAME">APP_NAME</a></span> - Static variable in class org.apache.edgent.apps.iot.<a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">IotDevicePubSub</a></dt>
+<dd>
+<div class="block">IotDevicePubSub application name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html#APP_NAME">APP_NAME</a></span> - Static variable in class org.apache.edgent.apps.runtime.<a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">JobMonitorApp</a></dt>
+<dd>
+<div class="block">Job monitoring application name.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">ApplicationService</span></a> - Interface in <a href="org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a></dt>
+<dd>
+<div class="block">A service that allows registration of applications and
+ the ability to submit them through a control MBean.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><span class="typeNameLink">ApplicationServiceMXBean</span></a> - Interface in <a href="org/apache/edgent/topology/mbeans/package-summary.html">org.apache.edgent.topology.mbeans</a></dt>
+<dd>
+<div class="block">Control MBean for the application service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html#apply-T-">apply(T)</a></span> - Method in interface org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a></dt>
+<dd>
+<div class="block">Apply a function to <code>t</code> and return the result.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/BiFunction.html#apply-T-U-">apply(T, U)</a></span> - Method in interface org.apache.edgent.function.<a href="org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a></dt>
+<dd>
+<div class="block">Apply a function to <code>t</code> and <code>u</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Function.html#apply-T-">apply(T)</a></span> - Method in interface org.apache.edgent.function.<a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></dt>
+<dd>
+<div class="block">Apply a function to <code>value</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/ToDoubleFunction.html#applyAsDouble-T-">applyAsDouble(T)</a></span> - Method in interface org.apache.edgent.function.<a href="org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a></dt>
+<dd>
+<div class="block">Apply a function to <code>value</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/ToIntFunction.html#applyAsInt-T-">applyAsInt(T)</a></span> - Method in interface org.apache.edgent.function.<a href="org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a></dt>
+<dd>
+<div class="block">Apply a function to <code>value</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html#applyAsInt-T-">applyAsInt(T)</a></span> - Method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">LoadBalancedSplitter</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">AppService</span></a> - Class in <a href="org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></dt>
+<dd>
+<div class="block">Application service for a <code>TopologyProvider</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/appservice/AppService.html#AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">AppService(TopologyProvider, DirectSubmitter&lt;Topology, Job&gt;, String)</a></span> - Constructor for class org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></dt>
+<dd>
+<div class="block">Create an <code>ApplicationService</code> instance.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">AppServiceControl</span></a> - Class in <a href="org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ARGS_KEY">ARGS_KEY</a></span> - Static variable in class org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></dt>
+<dd>
+<div class="block">Key for the argument list.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#asBytes--">asBytes()</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Get the UTF-8 bytes representation of the JSON for a JsonObject.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#asString--">asString()</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Get the JSON for a JsonObject.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTStream.html#asString--">asString()</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a></dt>
+<dd>
+<div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
+ <code>toString()</code> on each tuple.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#asString--">asString()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
+ <code>toString()</code> on each tuple.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/QoS.html#AT_LEAST_ONCE">AT_LEAST_ONCE</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot">QoS</a></dt>
+<dd>
+<div class="block">The message containing the event arrives at the message hub at least once.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/QoS.html#AT_MOST_ONCE">AT_MOST_ONCE</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot">QoS</a></dt>
+<dd>
+<div class="block">The message containing the event arrives at the message hub either once or not at all.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#atLeast-T-">atLeast(T)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range [lowerEndpoint..*) (inclusive/CLOSED)</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/tester/Tester.html#atLeastTupleCount-org.apache.edgent.topology.TStream-long-">atLeastTupleCount(TStream&lt;?&gt;, long)</a></span> - Method in interface org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></dt>
+<dd>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted at
+ least <code>expectedCount</code> number of tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#atMost-T-">atMost(T)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range (*..upperEndpoint] (inclusive/CLOSED)</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_ID">ATTR_DEVICE_ID</a></span> - Static variable in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>
+<div class="block">WIoTP Device Id identifier key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_TYPE">ATTR_DEVICE_TYPE</a></span> - Static variable in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>
+<div class="block">WIoTP Device Type identifier key.</div>
+</dd>
+</dl>
+<a name="I:B">
+<!--   -->
+</a>
+<h2 class="title">B</h2>
+<dl>
+<dt><a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Barrier</span></a>&lt;<a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></dt>
+<dd>
+<div class="block">A tuple synchronization barrier.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Barrier.html#Barrier-int-">Barrier(int)</a></span> - Constructor for class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a></dt>
+<dd>
+<div class="block">Create a new instance.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-">barrier(List&lt;TStream&lt;T&gt;&gt;)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">A tuple synchronization barrier.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-">barrier(List&lt;TStream&lt;T&gt;&gt;, int)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">A tuple synchronization barrier.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpClients.html#basic-java.lang.String-java.lang.String-">basic(String, String)</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">HttpClients</a></dt>
+<dd>
+<div class="block">Create a basic authentication HTTP client with a fixed user and password.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpClients.html#basic-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">basic(Supplier&lt;String&gt;, Supplier&lt;String&gt;)</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">HttpClients</a></dt>
+<dd>
+<div class="block">Method to create a basic authentication HTTP client.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html#batch-org.apache.edgent.function.BiFunction-">batch(BiFunction&lt;List&lt;T&gt;, K, U&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#batch-org.apache.edgent.function.BiFunction-">batch(BiFunction&lt;List&lt;T&gt;, K, U&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">batch(BiFunction&lt;List&lt;T&gt;, K, U&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a></dt>
+<dd>
+<div class="block">Declares a stream that represents a batched aggregation of
+ partitions in this window.</div>
+</dd>
+<dt><a href="org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">BiConsumer</span></a>&lt;<a href="org/apache/edgent/function/BiConsumer.html" title="type parameter in BiConsumer">T</a>,<a href="org/apache/edgent/function/BiConsumer.html" title="type parameter in BiConsumer">U</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
+<dd>
+<div class="block">Consumer function that takes two arguments.</div>
+</dd>
+<dt><a href="org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">BiFunction</span></a>&lt;<a href="org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">T</a>,<a href="org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">U</a>,<a href="org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">R</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
+<dd>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingDelay(TStream&lt;T&gt;, long, TimeUnit)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Insert a blocking delay between tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingOneShotDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingOneShotDelay(TStream&lt;T&gt;, long, TimeUnit)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Insert a blocking delay before forwarding the first tuple and
+ no delay for subsequent tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingThrottle-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingThrottle(TStream&lt;T&gt;, long, TimeUnit)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Maintain a constant blocking delay between tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html#BufferManager--">BufferManager()</a></span> - Constructor for class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.html#bufferMgr--">bufferMgr()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></dt>
+<dd>
+<div class="block">Get the <a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.BufferManager</code></a></div>
+</dd>
+</dl>
+<a name="I:C">
+<!--   -->
+</a>
+<h2 class="title">C</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html#channelDone-int-">channelDone(int)</a></span> - Method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">LoadBalancedSplitter</a></dt>
+<dd>
+<div class="block">Signal that the channel is done processing the splitter supplied tuple.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">CheckedFunction</span></a>&lt;<a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="type parameter in CheckedFunction">T</a>,<a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="type parameter in CheckedFunction">R</a>&gt; - Interface in <a href="org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></dt>
+<dd>
+<div class="block">Function to apply a funtion to an input value and return a result.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">CheckedSupplier</span></a>&lt;<a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="type parameter in CheckedSupplier">T</a>&gt; - Interface in <a href="org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></dt>
+<dd>
+<div class="block">Function that supplies a result and may throw an Exception.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html#checkName-java.lang.String-">checkName(String)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ServiceContainer.html#cleanOplet-java.lang.String-java.lang.String-">cleanOplet(String, String)</a></span> - Method in class org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></dt>
+<dd>
+<div class="block">Invokes all the registered cleaners in the context of the specified 
+ job and element.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#clear-com.google.gson.JsonElement-int-">clear(JsonElement, int)</a></span> - Method in interface org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></dt>
+<dd>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#clear-com.google.gson.JsonElement-int-">clear(JsonElement, int)</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#clear-int-">clear(int)</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html#clear-int-">clear(int)</a></span> - Method in interface org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></dt>
+<dd>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/InsertionTimeList.html#clear--">clear()</a></span> - Method in class org.apache.edgent.window.<a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#close--">close()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#close--">close()</a></span> - Method in class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanOut.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Sink.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Split.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Union.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Events.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Filter.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/FlatMap.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Map.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Peek.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/SupplierSource.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Barrier.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Isolate.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/PressureReliever.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/window/Aggregate.html#close--">close()</a></span> - Method in class org.apache.edgent.oplet.window.<a href="org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Executable.html#close--">close()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></dt>
+<dd>
+<div class="block">Shuts down the user scheduler and thread factory, close all 
+ invocations, then shutdown the control scheduler.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#close--">close()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#closeActiveFile-java.nio.file.Path-">closeActiveFile(Path)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#closed-T-T-">closed(T, T)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range [lowerEndpoint..upperEndpoint] (both inclusive/CLOSED)</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#closedOpen-T-T-">closedOpen(T, T)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range [lowerEndpoint..upperEndpoint) (inclusive/CLOSED,exclusive/OPEN)</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#closeFunction-java.lang.Object-">closeFunction(Object)</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">Close the function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html#closeJob-java.lang.String-org.apache.edgent.execution.services.ControlService-">closeJob(String, ControlService)</a></span> - Static method in class org.apache.edgent.apps.runtime.<a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">JobMonitorApp</a></dt>
+<dd>
+<div class="block">Closes a job using a <code>JobMXBean</code> control registered with the 
+ specified <code>ControlService</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE">CMD_DEVICE</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
+<dd>
+<div class="block">Device identifier key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT">CMD_FORMAT</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
+<dd>
+<div class="block">Command format key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID">CMD_ID</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
+<dd>
+<div class="block">Command identifier key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD">CMD_PAYLOAD</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
+<dd>
+<div class="block">Command payload key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS">CMD_TS</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
+<dd>
+<div class="block">Command timestamp (in milliseconds) key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#collection-java.util.Collection-">collection(Collection&lt;T&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#collection-java.util.Collection-">collection(Collection&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
+<dd>
+<div class="block">Declare a stream of constants from a collection.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#commandReaderList-java.lang.ProcessBuilder-">commandReaderList(ProcessBuilder)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
+<dd>
+<div class="block">Create a <code>Supplier&lt;List&lt;String&gt;&gt;</code> to ingest a command's output.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Commands</span></a> - Interface in <a href="org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></dt>
+<dd>
+<div class="block">Device command identifiers used by Edgent.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands(String...)</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
+<dd>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#commands-java.lang.String...-">commands(String...)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#commands-java.lang.String...-">commands(String...)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-">commands(String...)</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
+<dd>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#COMMANDS_TOPIC">COMMANDS_TOPIC</a></span> - Static variable in class org.apache.edgent.apps.iot.<a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">IotDevicePubSub</a></dt>
+<dd>
+<div class="block">Device commands are published to "edgent/iot/commands" by
+ this application.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice(Set&lt;String&gt;, String...)</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></dt>
+<dd>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice(String, String...)</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></dt>
+<dd>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice(Set&lt;String&gt;, String...)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice(String, String...)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType(String, String...)</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></dt>
+<dd>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType(String, String...)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command"><span class="typeNameLink">CommandStreams</span></a> - Class in <a href="org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a></dt>
+<dd>
+<div class="block">Connector for creating a TStream from a Command's / OS Process's output
+ and sinking a TStream to a Command's / OS Process's input.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commandTopic-java.lang.String-">commandTopic(String)</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
+<dd>
+<div class="block">Get the MQTT topic for a command.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#commandWriter-java.lang.ProcessBuilder-">commandWriter(ProcessBuilder)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
+<dd>
+<div class="block">Create a <code>Consumer&lt;String&gt;</code> to write UTF8 string data to a command's input.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.html#complete--">complete()</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dt>
+<dd>
+<div class="block">Waits for any outstanding job work to complete.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.html#complete-long-java.util.concurrent.TimeUnit-">complete(long, TimeUnit)</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dt>
+<dd>
+<div class="block">Waits for at most the specified time for the job to complete.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#complete--">complete()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#complete-long-java.util.concurrent.TimeUnit-">complete(long, TimeUnit)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/tester/AbstractTester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete(Submitter&lt;Topology, ? extends Job&gt;, JsonObject, Condition&lt;?&gt;, long, TimeUnit)</a></span> - Method in class org.apache.edgent.topology.spi.tester.<a href="org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">AbstractTester</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/tester/Tester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete(Submitter&lt;Topology, ? extends Job&gt;, JsonObject, Condition&lt;?&gt;, long, TimeUnit)</a></span> - Method in interface org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></dt>
+<dd>
+<div class="block">Submit the topology for this tester and wait for it to complete, or reach
+ an end condition.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#completeClosing-long-java.util.concurrent.TimeUnit-">completeClosing(long, TimeUnit)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dt>
+<dd>
+<div class="block">Complete job closing.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#completeTransition--">completeTransition()</a></span> - Method in class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#completeTransition--">completeTransition()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">CompressedFileWriterPolicy</span></a>&lt;<a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt; - Class in <a href="org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></dt>
+<dd>
+<div class="block">A <a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterPolicy</code></a> that generates zip compressed files.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#CompressedFileWriterPolicy--">CompressedFileWriterPolicy()</a></span> - Constructor for class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">CompressedFileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#CompressedFileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">CompressedFileWriterPolicy(FileWriterFlushConfig&lt;T&gt;, FileWriterCycleConfig&lt;T&gt;, FileWriterRetentionConfig)</a></span> - Constructor for class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">CompressedFileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#compressFile-java.nio.file.Path-java.nio.file.Path-">compressFile(Path, Path)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">CompressedFileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent(TStream&lt;T&gt;, List&lt;Function&lt;TStream&lt;T&gt;, TStream&lt;U&gt;&gt;&gt;, Function&lt;List&lt;U&gt;, R&gt;)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Perform analytics concurrently.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrentMap(TStream&lt;T&gt;, List&lt;Function&lt;T, U&gt;&gt;, Function&lt;List&lt;U&gt;, R&gt;)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Perform analytics concurrently.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester"><span class="typeNameLink">Condition</span></a>&lt;<a href="org/apache/edgent/topology/tester/Condition.html" title="type parameter in Condition">T</a>&gt; - Interface in <a href="org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></dt>
+<dd>
+<div class="block">Function representing if a condition is valid or not.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Configs</span></a> - Interface in <a href="org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></dt>
+<dd>
+<div class="block">Configuration property names.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Connector.html#connect-org.apache.edgent.graph.Vertex-int-">connect(Vertex&lt;?, T, ?&gt;, int)</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></dt>
+<dd>
+<div class="block">Connect this <code>Connector</code> to the specified target's input.</div>
+</dd>
+<dt><a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Connector</span></a>&lt;<a href="org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>&gt; - Interface in <a href="org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></dt>
+<dd>
+<div class="block">A <code>Connector</code> represents an output port of a <code>Vertex</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">ConnectorStream</span></a>&lt;<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">G</a> extends <a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt; - Class in <a href="org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></dt>
+<dd>
+<div class="block">A stream that directly adds oplets to the graph.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#ConnectorStream-G-org.apache.edgent.graph.Connector-">ConnectorStream(G, Connector&lt;T&gt;)</a></span> - Constructor for class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#connectPipe-N-">connectPipe(N)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Consumer</span></a>&lt;<a href="org/apache/edgent/function/Consumer.html" title="type parameter in Consumer">T</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
+<dd>
+<div class="block">Function that consumes a value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#consumer-int-">consumer(int)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
+<dd>
+<div class="block">Create a Consumer for the input port that invokes the
+ receiver and submits a generated tuple, if any, to the output.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#contains-T-java.util.Comparator-">contains(T, Comparator&lt;T&gt;)</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Determine if the Region contains the value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#contains-T-">contains(T)</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Determine if the Region contains the value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/tester/Tester.html#contentsUnordered-org.apache.edgent.topology.TStream-T...-">contentsUnordered(TStream&lt;T&gt;, T...)</a></span> - Method in interface org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></dt>
+<dd>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted
+ tuples matching <code>values</code> in any order.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#CONTROL_APP_NAME">CONTROL_APP_NAME</a></span> - Static variable in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">IoT control using device commands application name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/Commands.html#CONTROL_SERVICE">CONTROL_SERVICE</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot">Commands</a></dt>
+<dd>
+<div class="block">Command identifier used for the control service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#controlRequest-com.google.gson.JsonObject-">controlRequest(JsonObject)</a></span> - Method in class org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></dt>
+<dd>
+<div class="block">Handle a JSON control request.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">Controls</span></a> - Class in <a href="org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></dt>
+<dd>
+<div class="block">Utilities for the control service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/Controls.html#Controls--">Controls()</a></span> - Constructor for class org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services">Controls</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">ControlService</span></a> - Interface in <a href="org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></dt>
+<dd>
+<div class="block">Service that provides a control mechanism.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#countContentsPolicy-int-">countContentsPolicy(int)</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>
+<div class="block">Returns a count-based contents policy.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/Metrics.html#counter-org.apache.edgent.topology.TStream-">counter(TStream&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics">Metrics</a></dt>
+<dd>
+<div class="block">Increment a counter metric when peeking at each tuple.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/Metrics.html#counter-org.apache.edgent.topology.Topology-">counter(Topology)</a></span> - Static method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics">Metrics</a></dt>
+<dd>
+<div class="block">Add counter metrics to all the topology's streams.</div>
+</dd>
+<dt><a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">CounterOp</span></a>&lt;<a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="type parameter in CounterOp">T</a>&gt; - Class in <a href="org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></dt>
+<dd>
+<div class="block">A metrics oplet which counts the number of tuples peeked at.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/CounterOp.html#CounterOp--">CounterOp()</a></span> - Constructor for class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/appservice/AppService.html#createAndRegister-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-">createAndRegister(TopologyProvider, DirectSubmitter&lt;Topology, Job&gt;)</a></span> - Static method in class org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></dt>
+<dd>
+<div class="block">Create an register an application service using the default alias <a href="org/apache/edgent/topology/services/ApplicationService.html#ALIAS"><code>ApplicationService.ALIAS</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html#createAndRegister-org.apache.edgent.execution.services.ServiceContainer-">createAndRegister(ServiceContainer)</a></span> - Static method in class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></dt>
+<dd>
+<div class="block">Creates and registers a <a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><code>JobRegistry</code></a> with the given service 
+ container.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#createApplication-org.apache.edgent.connectors.iot.IotDevice-">createApplication(IotDevice)</a></span> - Static method in class org.apache.edgent.apps.iot.<a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">IotDevicePubSub</a></dt>
+<dd>
+<div class="block">Create an instance of this application using <code>device</code> as the device
+ connection to a message hub.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#createIotCommandToControlApp--">createIotCommandToControlApp()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Create application connects <code>edgentControl</code> device commands
+ to the control service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#createIotDeviceApp--">createIotDeviceApp()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Create application that connects to the message hub.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Executable.html#createJob-org.apache.edgent.graph.Graph-java.lang.String-java.lang.String-">createJob(Graph, String, String)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#createJobMonitorApp--">createJobMonitorApp()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Create Job monitor application.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#createMessageHubDevice-org.apache.edgent.topology.Topology-">createMessageHubDevice(Topology)</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Create the connection to the message hub.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#createName-java.lang.String-java.lang.String-java.lang.String-">createName(String, String, String)</a></span> - Method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
+<dd>
+<div class="block">Creates a JMX <code>ObjectName</code> from the given domain, metric type, 
+ and metric name.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv"><span class="typeNameLink">Csv</span></a> - Class in <a href="org/apache/edgent/connectors/csv/package-summary.html">org.apache.edgent.connectors.csv</a></dt>
+<dd>
+<div class="block">Utilities for working with CSV strings.</div>
+</dd>
+</dl>
+<a name="I:D">
+<!--   -->
+</a>
+<h2 class="title">D</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-long-java.util.concurrent.TimeUnit-">deadband(TStream&lt;T&gt;, Function&lt;T, V&gt;, Predicate&lt;V&gt;, long, TimeUnit)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors">Filters</a></dt>
+<dd>
+<div class="block">Deadband filter with maximum suppression time.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-">deadband(TStream&lt;T&gt;, Function&lt;T, V&gt;, Predicate&lt;V&gt;)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors">Filters</a></dt>
+<dd>
+<div class="block">Deadband filter.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Deadtime</span></a>&lt;<a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="type parameter in Deadtime">T</a>&gt; - Class in <a href="org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></dt>
+<dd>
+<div class="block">Deadtime <a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><code>Predicate</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Deadtime.html#Deadtime--">Deadtime()</a></span> - Constructor for class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a></dt>
+<dd>
+<div class="block">Create a new Deadtime Predicate</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Deadtime.html#Deadtime-long-java.util.concurrent.TimeUnit-">Deadtime(long, TimeUnit)</a></span> - Constructor for class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a></dt>
+<dd>
+<div class="block">Create a new Deadtime Predicate</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Filters.html#deadtime-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">deadtime(TStream&lt;T&gt;, long, TimeUnit)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors">Filters</a></dt>
+<dd>
+<div class="block">Deadtime filter.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html#declareTopology-java.lang.String-">declareTopology(String)</a></span> - Method in class org.apache.edgent.apps.runtime.<a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">JobMonitorApp</a></dt>
+<dd>
+<div class="block">Declares the following topology:</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html#declareTopology-org.apache.edgent.topology.Topology-">declareTopology(Topology)</a></span> - Static method in class org.apache.edgent.apps.runtime.<a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">JobMonitorApp</a></dt>
+<dd>
+<div class="block">Populates the following topology:</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#decorateTask-java.lang.Runnable-java.util.concurrent.RunnableScheduledFuture-">decorateTask(Runnable, RunnableScheduledFuture&lt;V&gt;)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#decorateTask-java.util.concurrent.Callable-java.util.concurrent.RunnableScheduledFuture-">decorateTask(Callable&lt;V&gt;, RunnableScheduledFuture&lt;V&gt;)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#delayedConsume-org.apache.edgent.function.Consumer-T-">delayedConsume(Consumer&lt;T&gt;, T)</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">Create a <code>Runnable</code> that calls
+ <code>consumer.accept(value)</code> when <code>run()</code> is called.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpStreams.html#deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">deleteJson(TStream&lt;JsonObject&gt;, Supplier&lt;CloseableHttpClient&gt;, Function&lt;JsonObject, String&gt;)</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">HttpStreams</a></dt>
+<dd>
+<div class="block">Make an HTTP DELETE request with JsonObject.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#derived-org.apache.edgent.graph.Connector-">derived(Connector&lt;U&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development"><span class="typeNameLink">DevelopmentProvider</span></a> - Class in <a href="org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></dt>
+<dd>
+<div class="block">Provider intended for development.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/development/DevelopmentProvider.html#DevelopmentProvider--">DevelopmentProvider()</a></span> - Constructor for class org.apache.edgent.providers.development.<a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">DirectEdge</span></a> - Class in <a href="org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></dt>
+<dd>
+<div class="block">This class provides a simple implementation of the <a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><code>Edge</code></a> interface in
+ the context of a <code>DirectProvider</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/DirectEdge.html#DirectEdge-org.apache.edgent.graph.Connector-org.apache.edgent.graph.Vertex-int-org.apache.edgent.graph.Vertex-int-">DirectEdge(Connector&lt;?&gt;, Vertex&lt;?, ?, ?&gt;, int, Vertex&lt;?, ?, ?&gt;, int)</a></span> - Constructor for class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/DirectEdge.html#DirectEdge--">DirectEdge()</a></span> - Constructor for class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></dt>
+<dd>
+<div class="block">Create disconnected edge.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">DirectGraph</span></a> - Class in <a href="org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></dt>
+<dd>
+<div class="block"><code>DirectGraph</code> is a <a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> that
+ is executed in the current virtual machine.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html#DirectGraph-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">DirectGraph(String, ServiceContainer)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></dt>
+<dd>
+<div class="block">Creates a new <code>DirectGraph</code> instance underlying the specified 
+ topology.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-">directoryWatcher(TopologyElement, Supplier&lt;String&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">FileStreams</a></dt>
+<dd>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-java.util.Comparator-">directoryWatcher(TopologyElement, Supplier&lt;String&gt;, Comparator&lt;File&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">FileStreams</a></dt>
+<dd>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><span class="typeNameLink">DirectProvider</span></a> - Class in <a href="org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></dt>
+<dd>
+<div class="block"><code>DirectProvider</code> is a <a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> that
+ runs a submitted topology as a <a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> in threads
+ in the current virtual machine.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/direct/DirectProvider.html#DirectProvider--">DirectProvider()</a></span> - Constructor for class org.apache.edgent.providers.direct.<a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">DirectSubmitter</span></a>&lt;<a href="org/apache/edgent/execution/DirectSubmitter.html" title="type parameter in DirectSubmitter">E</a>,<a href="org/apache/edgent/execution/DirectSubmitter.html" title="type parameter in DirectSubmitter">J</a> extends <a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt; - Interface in <a href="org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></dt>
+<dd>
+<div class="block">An interface for submission of an executable
+ that is executed directly within the current
+ virtual machine.</div>
+</dd>
+<dt><a href="org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct"><span class="typeNameLink">DirectTopology</span></a> - Class in <a href="org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></dt>
+<dd>
+<div class="block"><code>DirectTopology</code> is a <a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><code>GraphTopology</code></a> that
+ is executed in threads in the current virtual machine.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#discard--">discard()</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">A Consumer that discards all items passed to it.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#disconnect-int-">disconnect(int)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">Disconnects the specified port by connecting to a no-op <code>Consumer</code> implementation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#doNothing--">doNothing()</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>
+<div class="block">A <a href="org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><code>BiConsumer</code></a> policy which does nothing.</div>
+</dd>
+</dl>
+<a name="I:E">
+<!--   -->
+</a>
+<h2 class="title">E</h2>
+<dl>
+<dt><a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Edge</span></a> - Interface in <a href="org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></dt>
+<dd>
+<div class="block">Represents an edge between two Vertices.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">EdgeType</span></a> - Class in <a href="org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></dt>
+<dd>
+<div class="block">Represents an edge between two <a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>VertexType</code></a> nodes.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#EdgeType--">EdgeType()</a></span> - Constructor for class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#EdgeType-org.apache.edgent.graph.Edge-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">EdgeType(Edge, IdMapper&lt;String&gt;)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#endlessCommandReader-java.lang.ProcessBuilder-">endlessCommandReader(ProcessBuilder)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
+<dd>
+<div class="block">Create an endless <code>Supplier&lt;String&gt;</code> for ingesting a long running command's output.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions"><span class="typeNameLink">EndlessSupplier</span></a>&lt;<a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt; - Class in <a href="org/apache/edgent/topology/spi/functions/package-summary.html">org.apache.edgent.topology.spi.functions</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html#EndlessSupplier-org.apache.edgent.function.Supplier-">EndlessSupplier(Supplier&lt;T&gt;)</a></span> - Constructor for class org.apache.edgent.topology.spi.functions.<a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Returns true if o is a Range having equal endpoints and bound types to this Range.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">EtiaoJob</span></a> - Class in <a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></dt>
+<dd>
+<div class="block">Etiao runtime implementation of the <a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans"><span class="typeNameLink">EtiaoJobBean</span></a> - Class in <a href="org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></dt>
+<dd>
+<div class="block">Implementation of a control interface for the <code>EtiaoJob</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#evaluate-long-int-T-">evaluate(long, int, T)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
+<dd>
+<div class="block">Evaluate if the specified values indicate that a cycling of
+ the active file should be performed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html#evaluate-int-T-">evaluate(int, T)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></dt>
+<dd>
+<div class="block">Evaluate if the specified values indicate that a flush should be
+ performed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#evaluate-int-long-">evaluate(int, long)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
+<dd>
+<div class="block">Evaluate if the specified values indicate that a final file should
+ be removed.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Events</span></a> - Interface in <a href="org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></dt>
+<dd>
+<div class="block">Device event identifiers used by Edgent.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events(TStream&lt;JsonObject&gt;, Function&lt;JsonObject, String&gt;, UnaryOperator&lt;JsonObject&gt;, Function&lt;JsonObject, Integer&gt;)</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
+<dd>
+<div class="block">Publish a stream's tuples as device events.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events(TStream&lt;JsonObject&gt;, String, int)</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
+<dd>
+<div class="block">Publish a stream's tuples as device events.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events(TStream&lt;JsonObject&gt;, Function&lt;JsonObject, String&gt;, UnaryOperator&lt;JsonObject&gt;, Function&lt;JsonObject, Integer&gt;)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>
+<div class="block">Publish a stream's tuples as device events.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events(TStream&lt;JsonObject&gt;, String, int)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>
+<div class="block">Publish a stream's tuples as device events.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events(TStream&lt;JsonObject&gt;, Function&lt;JsonObject, String&gt;, UnaryOperator&lt;JsonObject&gt;, Function&lt;JsonObject, Integer&gt;)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events(TStream&lt;JsonObject&gt;, String, int)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events(TStream&lt;JsonObject&gt;, Function&lt;JsonObject, String&gt;, UnaryOperator&lt;JsonObject&gt;, Function&lt;JsonObject, Integer&gt;)</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
+<dd>
+<div class="block">Publish a stream's tuples as device events.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events(TStream&lt;JsonObject&gt;, String, int)</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
+<dd>
+<div class="block">Publish a stream's tuples as device events.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Events</span></a>&lt;<a href="org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></dt>
+<dd>
+<div class="block">Generate tuples from events.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Events.html#Events-org.apache.edgent.function.Consumer-">Events(Consumer&lt;Consumer&lt;T&gt;&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/GraphTopology.html#events-org.apache.edgent.function.Consumer-">events(Consumer&lt;Consumer&lt;T&gt;&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#events-org.apache.edgent.function.Consumer-">events(Consumer&lt;Consumer&lt;T&gt;&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
+<dd>
+<div class="block">Declare a stream populated by an event system.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#EVENTS_TOPIC">EVENTS_TOPIC</a></span> - Static variable in class org.apache.edgent.apps.iot.<a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">IotDevicePubSub</a></dt>
+<dd>
+<div class="block">Events published to topic "edgent/iot/events" are sent as device events using the
+ actual message hub <a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice(Function&lt;JsonObject, String&gt;, TStream&lt;JsonObject&gt;, Function&lt;JsonObject, String&gt;, UnaryOperator&lt;JsonObject&gt;, Function&lt;JsonObject, Integer&gt;)</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></dt>
+<dd>
+<div class="block">Publish a stream's tuples as device events.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice(String, TStream&lt;JsonObject&gt;, String, int)</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></dt>
+<dd>
+<div class="block">Publish a stream's tuples as device events.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice(Function&lt;JsonObject, String&gt;, TStream&lt;JsonObject&gt;, Function&lt;JsonObject, String&gt;, UnaryOperator&lt;JsonObject&gt;, Function&lt;JsonObject, Integer&gt;)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice(String, TStream&lt;JsonObject&gt;, String, int)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#eventTopic-java.lang.String-">eventTopic(String)</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
+<dd>
+<div class="block">Get the MQTT topic for an device event.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Partition.html#evict--">evict()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a></dt>
+<dd>
+<div class="block">Calls the partition's evictDeterminer.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#evictAll--">evictAll()</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>
+<div class="block">Returns a Consumer representing an evict determiner that evict all tuples
+ from the window.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#evictAllAndScheduleEvictWithProcess-long-java.util.concurrent.TimeUnit-">evictAllAndScheduleEvictWithProcess(long, TimeUnit)</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>
+<div class="block">An eviction policy which processes the window, evicts all tuples, and 
+ schedules the next eviction after the appropriate interval.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#evictOlderWithProcess-long-java.util.concurrent.TimeUnit-">evictOlderWithProcess(long, TimeUnit)</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>
+<div class="block">An eviction policy which evicts all tuples that are older than a specified time.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#evictOldest--">evictOldest()</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>
+<div class="block">Returns an evict determiner that evicts the oldest tuple.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/QoS.html#EXACTLY_ONCE">EXACTLY_ONCE</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot">QoS</a></dt>
+<dd>
+<div class="block">The message containing the event arrives at the message hub exactly once.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Executable</span></a> - Class in <a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></dt>
+<dd>
+<div class="block">Executes and provides runtime services to the executable graph 
+ elements (oplets and functions).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">Executable(String, ServiceContainer)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></dt>
+<dd>
+<div class="block">Creates a new <code>Executable</code> for the specified job.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-java.util.concurrent.ThreadFactory-">Executable(String, ServiceContainer, ThreadFactory)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></dt>
+<dd>
+<div class="block">Creates a new <code>Executable</code> for the specified topology name, which uses the 
+ given thread factory to create new threads for oplet execution.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html#executable--">executable()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></dt>
+<dd>
+<div class="block">Returns the <code>Executable</code> running this graph.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">ExecutableVertex</span></a>&lt;<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">N</a> extends <a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">C</a>,<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt;,<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">C</a>,<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt; - Class in <a href="org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement(TStream&lt;T&gt;, Supplier&lt;String&gt;, ParameterSetter&lt;T&gt;, ResultsHandler&lt;T, R&gt;)</a></span> - Method in class org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">JdbcStreams</a></dt>
+<dd>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement(TStream&lt;T&gt;, StatementSupplier, ParameterSetter&lt;T&gt;, ResultsHandler&lt;T, R&gt;)</a></span> - Method in class org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">JdbcStreams</a></dt>
+<dd>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement(TStream&lt;T&gt;, Supplier&lt;String&gt;, ParameterSetter&lt;T&gt;)</a></span> - Method in class org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">JdbcStreams</a></dt>
+<dd>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement(TStream&lt;T&gt;, StatementSupplier, ParameterSetter&lt;T&gt;)</a></span> - Method in class org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">JdbcStreams</a></dt>
+<dd>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</dd>
+</dl>
+<a name="I:F">
+<!--   -->
+</a>
+<h2 class="title">F</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/WrappedFunction.html#f--">f()</a></span> - Method in class org.apache.edgent.function.<a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a></dt>
+<dd>
+<div class="block">Function that was wrapped.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">FanIn</span></a>&lt;<a href="org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
+<dd>
+<div class="block">FanIn oplet, merges multiple input ports into a single output port.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#FanIn--">FanIn()</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#FanIn-org.apache.edgent.function.BiFunction-">FanIn(BiFunction&lt;T, Integer, U&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin(FanIn&lt;T, U&gt;, List&lt;TStream&lt;T&gt;&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin(FanIn&lt;T, U&gt;, List&lt;TStream&lt;T&gt;&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Declare a stream that contains the output of the specified 
+ <a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">FanOut</span></a>&lt;<a href="org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanOut.html#FanOut--">FanOut()</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html#feeder--">feeder()</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TWindow.html#feeder--">feeder()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a></dt>
+<dd>
+<div class="block">Get the stream that feeds this window.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/PeriodicSource.html#fetchTuples--">fetchTuples()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#fetchTuples--">fetchTuples()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileStreams</span></a> - Class in <a href="org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></dt>
+<dd>
+<div class="block"><code>FileStreams</code> is a connector for integrating with file system objects.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterCycleConfig</span></a>&lt;<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="type parameter in FileWriterCycleConfig">T</a>&gt; - Class in <a href="org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></dt>
+<dd>
+<div class="block">FileWriter active file cycle configuration control.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterFlushConfig</span></a>&lt;<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="type parameter in FileWriterFlushConfig">T</a>&gt; - Class in <a href="org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></dt>
+<dd>
+<div class="block">FileWriter active file flush configuration control.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterPolicy</span></a>&lt;<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt; - Class in <a href="org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></dt>
+<dd>
+<div class="block">A full featured <code>IFileWriterPolicy</code> implementation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#FileWriterPolicy--">FileWriterPolicy()</a></span> - Constructor for class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>
+<div class="block">Create a new file writer policy instance.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#FileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">FileWriterPolicy(FileWriterFlushConfig&lt;T&gt;, FileWriterCycleConfig&lt;T&gt;, FileWriterRetentionConfig)</a></span> - Constructor for class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>
+<div class="block">Create a new file writer policy instance.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterRetentionConfig</span></a> - Class in <a href="org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></dt>
+<dd>
+<div class="block">FileWriter finalized (non-active) file retention configuration control.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Filter</span></a>&lt;<a href="org/apache/edgent/oplet/functional/Filter.html" title="type parameter in Filter">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Filter.html#Filter-org.apache.edgent.function.Predicate-">Filter(Predicate&lt;T&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#filter-org.apache.edgent.function.Predicate-">filter(Predicate&lt;T&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-">filter(Predicate&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Declare a new stream that filters tuples from this stream.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Filters</span></a> - Class in <a href="org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></dt>
+<dd>
+<div class="block">Filters aimed at sensors.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/QoS.html#FIRE_AND_FORGET">FIRE_AND_FORGET</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot">QoS</a></dt>
+<dd>
+<div class="block">Fire and forget the event.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">FlatMap</span></a>&lt;<a href="org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>,<a href="org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">O</a>&gt; - Class in <a href="org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></dt>
+<dd>
+<div class="block">Map an input tuple to 0-N output tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/FlatMap.html#FlatMap-org.apache.edgent.function.Function-">FlatMap(Function&lt;I, Iterable&lt;O&gt;&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#flatMap-org.apache.edgent.function.Function-">flatMap(Function&lt;T, Iterable&lt;U&gt;&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">flatMap(Function&lt;T, Iterable&lt;U&gt;&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Declare a new stream that maps tuples from this stream into one or
+ more (or zero) tuples of a different type <code>U</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#fromBytes--">fromBytes()</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#fromProperties-java.util.Properties-">fromProperties(Properties)</a></span> - Static method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Create a new configuration from <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><code>Properties</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#fromString--">fromString()</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Create a new JsonObject from JSON.</div>
+</dd>
+<dt><a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Function</span></a>&lt;<a href="org/apache/edgent/function/Function.html" title="type parameter in Function">T</a>,<a href="org/apache/edgent/function/Function.html" title="type parameter in Function">R</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
+<dd>
+<div class="block">Single argument function.</div>
+</dd>
+<dt><a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function"><span class="typeNameLink">Functions</span></a> - Class in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
+<dd>
+<div class="block">Common functions and functional utilities.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#Functions--">Functions()</a></span> - Constructor for class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a name="I:G">
+<!--   -->
+</a>
+<h2 class="title">G</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#gate-org.apache.edgent.topology.TStream-java.util.concurrent.Semaphore-">gate(TStream&lt;T&gt;, Semaphore)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Control the flow of tuples to an output stream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#generate-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-">generate(Topology, ProcessBuilder)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
+<dd>
+<div class="block">Create an endless <code>TStream&lt;String&gt;</code> from a long running command's output.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#generate-org.apache.edgent.function.Supplier-">generate(Supplier&lt;T&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#generate-org.apache.edgent.function.Supplier-">generate(Supplier&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
+<dd>
+<div class="block">Declare an endless source stream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic.html#get--">get()</a></span> - Method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></dt>
+<dd>
+<div class="block">Return a new instance of this statistic implementation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html#get--">get()</a></span> - Method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></dt>
+<dd>
+<div class="block">Return a new instance of this statistic implementation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html#get--">get()</a></span> - Method in interface org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a></dt>
+<dd>
+<div class="block">Get a result.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/StatementSupplier.html#get-java.sql.Connection-">get(Connection)</a></span> - Method in interface org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a></dt>
+<dd>
+<div class="block">Create a JDBC SQL PreparedStatement containing 0 or more parameters.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Supplier.html#get--">get()</a></span> - Method in interface org.apache.edgent.function.<a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></dt>
+<dd>
+<div class="block">Supply a value, each call to this function may return
+ a different value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html#get--">get()</a></span> - Method in class org.apache.edgent.topology.spi.functions.<a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getActionTimeToWaitMillis--">getActionTimeToWaitMillis()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the maximum time to wait for an action (e.g., publish message) to complete.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#getAgeSec--">getAgeSec()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
+<dd>
+<div class="block">Get the file age configuration value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#getAggregate--">getAggregate()</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html#getAggregate--">getAggregate()</a></span> - Method in interface org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></dt>
+<dd>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#getAggregateFileSize--">getAggregateFileSize()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
+<dd>
+<div class="block">Get the aggregate file size configuration value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Connector.html#getAlias--">getAlias()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></dt>
+<dd>
+<div class="block">Returns the alias for the connector if any.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Edge.html#getAlias--">getAlias()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></dt>
+<dd>
+<div class="block">Returns the alias associated with this edge.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/DirectEdge.html#getAlias--">getAlias()</a></span> - Method in class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/OutputPortContext.html#getAlias--">getAlias()</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a></dt>
+<dd>
+<div class="block">Get the alias of the output port if any.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getAlias--">getAlias()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#getAlias--">getAlias()</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#getAlias--">getAlias()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Returns the stream's alias if any.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/appservice/AppService.html#getApplicationNames--">getApplicationNames()</a></span> - Method in class org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/services/ApplicationService.html#getApplicationNames--">getApplicationNames()</a></span> - Method in interface org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></dt>
+<dd>
+<div class="block">Returns the names of applications registered with this service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#getApplicationService--">getApplicationService()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Get the application service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/services/TopologyBuilder.html#getBuilder--">getBuilder()</a></span> - Method in interface org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services">TopologyBuilder</a></dt>
+<dd>
+<div class="block">How the application is built.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/InvocationType.html#getClassName--">getClassName()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">InvocationType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getClientId--">getClientId()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the connection Client Id.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#getCntTuples--">getCntTuples()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
+<dd>
+<div class="block">Get the tuple count configuration value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html#getCntTuples--">getCntTuples()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></dt>
+<dd>
+<div class="block">Get the tuple count configuration value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getConnectionTimeout--">getConnectionTimeout()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the connection timeout.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Vertex.html#getConnectors--">getConnectors()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></dt>
+<dd>
+<div class="block">Get the vertice's collection of output connectors.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#getConnectors--">getConnectors()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Partition.html#getContents--">getContents()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a></dt>
+<dd>
+<div class="block">Retrieves the window contents.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#getContentsPolicy--">getContentsPolicy()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
+<dd>
+<div class="block">Returns the contents policy of the window.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl(String, String, Class&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></dt>
+<dd>
+<div class="block">Return a control Mbean registered with this service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl(String, String, Class&lt;T&gt;)</a></span> - Method in class org.apache.edgent.runtime.jmxcontrol.<a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl(String, String, Class&lt;T&gt;)</a></span> - Method in class org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId(String, String, Class&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></dt>
+<dd>
+<div class="block">Return the unique identifier for a control Mbean registered with 
+ this service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getControlId--">getControlId()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId(String, String, Class&lt;T&gt;)</a></span> - Method in class org.apache.edgent.runtime.jmxcontrol.<a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId(String, String, Class&lt;T&gt;)</a></span> - Method in class org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#getControlService--">getControlService()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.html#getCurrentState--">getCurrentState()</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dt>
+<dd>
+<div class="block">Retrieves the current state of this job.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/JobMXBean.html#getCurrentState--">getCurrentState()</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></dt>
+<dd>
+<div class="block">Retrieves the current state of the job.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getCurrentState--">getCurrentState()</a></span> - Method in class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getCurrentState--">getCurrentState()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#getCycleConfig--">getCycleConfig()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>
+<div class="block">Get the policy's active file cycle configuration</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#getDestination--">getDestination()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Source.html#getDestination--">getDestination()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/SettableForwarder.html#getDestination--">getDestination()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">SettableForwarder</a></dt>
+<dd>
+<div class="block">Get the destination.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">getDeviceId()</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
+<dd>
+<div class="block">Get the device's unique opaque device identifier.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#getDeviceId--">getDeviceId()</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#getDeviceId--">getDeviceId()</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#getDeviceId--">getDeviceId()</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--">getDeviceType()</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
+<dd>
+<div class="block">Get the device's opaque device type identifier.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#getDeviceType--">getDeviceType()</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#getDeviceType--">getDeviceType()</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#getDeviceType--">getDeviceType()</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
+<dd>
+<div class="block">Get the device's opaque device type identifier.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getDomain--">getDomain()</a></span> - Method in class org.apache.edgent.runtime.jmxcontrol.<a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></dt>
+<dd>
+<div class="block">Get the JMX domain being used by this control service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Graph.html#getEdges--">getEdges()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></dt>
+<dd>
+<div class="block">Return an unmodifiable view of all edges in this graph.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getEdges--">getEdges()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html#getEdges--">getEdges()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">GraphType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#getEvictDeterminer--">getEvictDeterminer()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
+<dd>
+<div class="block">Returns the window's eviction determiner.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TSink.html#getFeed--">getFeed()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></dt>
+<dd>
+<div class="block">Get the stream feeding this sink.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#getFileCount--">getFileCount()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
+<dd>
+<div class="block">Get the file count configuration value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#getFileSize--">getFileSize()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
+<dd>
+<div class="block">Get the file size configuration value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#getFlushConfig--">getFlushConfig()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>
+<div class="block">Get the policy's active file flush configuration</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.html#getHealth--">getHealth()</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dt>
+<dd>
+<div class="block">Returns the summarized health indicator of the graph nodes.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/JobMXBean.html#getHealth--">getHealth()</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></dt>
+<dd>
+<div class="block">Returns the summarized health indicator of the job.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getHealth--">getHealth()</a></span> - Method in class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getHealth--">getHealth()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.html#getId--">getId()</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dt>
+<dd>
+<div class="block">Returns the identifier of this job.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/JobMXBean.html#getId--">getId()</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></dt>
+<dd>
+<div class="block">Returns the identifier of the job.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/JobContext.html#getId--">getId()</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></dt>
+<dd>
+<div class="block">Get the runtime identifier for the job containing this <a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/OpletContext.html#getId--">getId()</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></dt>
+<dd>
+<div class="block">Get the unique identifier (within the running job)
+ for this oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#getId--">getId()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html#getId--">getId()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#getId--">getId()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">Returns the unique identifier associated with this <code>Invocation</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/InvocationContext.html#getId--">getId()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getId--">getId()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getIdleTimeout--">getIdleTimeout()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the idle connection timeout.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/serial/SerialPort.html#getInput--">getInput()</a></span> - Method in interface org.apache.edgent.connectors.serial.<a href="org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a></dt>
+<dd>
+<div class="block">Get the input stream for this serial port.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/OpletContext.html#getInputCount--">getInputCount()</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></dt>
+<dd>
+<div class="block">Get the number of connected inputs to this oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/InvocationContext.html#getInputCount--">getInputCount()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#getInputs--">getInputs()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanOut.html#getInputs--">getInputs()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Sink.html#getInputs--">getInputs()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Source.html#getInputs--">getInputs()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Split.html#getInputs--">getInputs()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/Oplet.html#getInputs--">getInputs()</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></dt>
+<dd>
+<div class="block">Get the input stream data handlers for this oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#getInputs--">getInputs()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">Returns the list of input stream forwarders for this invocation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#getInsertionPolicy--">getInsertionPolicy()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
+<dd>
+<div class="block">Returns the insertion policy of the window.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Vertex.html#getInstance--">getInstance()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></dt>
+<dd>
+<div class="block">Get the instance of the oplet that will be executed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#getInstance--">getInstance()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html#getInvocation--">getInvocation()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#getInvocationId--">getInvocationId()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.util.Map-">getIotDevice(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></dt>
+<dd>
+<div class="block">Get an <a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.lang.String-">getIotDevice(String)</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></dt>
+<dd>
+<div class="block">Get an <a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.util.Map-">getIotDevice(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>
+<div class="block">Get an <a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.lang.String-">getIotDevice(String)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotGateway.html#getIotDeviceId-java.util.Map-">getIotDeviceId(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></dt>
+<dd>
+<div class="block">Get a <code>deviceId</code> for a device.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDeviceId-java.util.Map-">getIotDeviceId(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>
+<div class="block">Get a <code>deviceId</code> for a device.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/JobRegistryService.html#getJob-java.lang.String-">getJob(String)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></dt>
+<dd>
+<div class="block">Returns a job given its identifier.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html#getJob-java.lang.String-">getJob(String)</a></span> - Method in class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/tester/AbstractTester.html#getJob--">getJob()</a></span> - Method in class org.apache.edgent.topology.spi.tester.<a href="org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">AbstractTester</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/tester/Tester.html#getJob--">getJob()</a></span> - Method in interface org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></dt>
+<dd>
+<div class="block">Get the <code>Job</code> reference for the topology submitted by <code>complete()</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/OpletContext.html#getJobContext--">getJobContext()</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></dt>
+<dd>
+<div class="block">Get the job hosting this oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/AbstractContext.html#getJobContext--">getJobContext()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/JobRegistryService.html#getJobIds--">getJobIds()</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></dt>
+<dd>
+<div class="block">Returns a set of all the registered job identifiers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html#getJobIds--">getJobIds()</a></span> - Method in class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpStreams.html#getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">getJson(TStream&lt;JsonObject&gt;, Supplier&lt;CloseableHttpClient&gt;, Function&lt;JsonObject, String&gt;)</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">HttpStreams</a></dt>
+<dd>
+<div class="block">Make an HTTP GET request with JsonObject.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getKeepAliveInterval--">getKeepAliveInterval()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the connection Keep alive interval.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Partition.html#getKey--">getKey()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a></dt>
+<dd>
+<div class="block">Returns the key associated with this partition</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html#getKeyFunction--">getKeyFunction()</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TWindow.html#getKeyFunction--">getKeyFunction()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a></dt>
+<dd>
+<div class="block">Returns the key function used to map tuples to partitions.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#getKeyFunction--">getKeyFunction()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
+<dd>
+<div class="block">Returns the keyFunction of the window</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getKeyStore--">getKeyStore()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the SSL trust store path.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getKeyStorePassword--">getKeyStorePassword()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the SSL key store path password.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.html#getLastError--">getLastError()</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dt>
+<dd>
+<div class="block">Returns the last error message caught by the current job execution.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/JobMXBean.html#getLastError--">getLastError()</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></dt>
+<dd>
+<div class="block">Returns the last error message caught by the current job execution.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getLastError--">getLastError()</a></span> - Method in class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Executable.html#getLastError--">getLastError()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getLastError--">getLastError()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getMbs--">getMbs()</a></span> - Method in class org.apache.edgent.runtime.jmxcontrol.<a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></dt>
+<dd>
+<div class="block">Get the MBean server being used by this control service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/CounterOp.html#getMetric--">getMetric()</a></span> - Method in class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/RateMeter.html#getMetric--">getMetric()</a></span> - Method in class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#getMetric--">getMetric()</a></span> - Method in class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#getMetricName--">getMetricName()</a></span> - Method in class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a></dt>
+<dd>
+<div class="block">Returns the name of the metric used by this oplet for registration.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#getMqttConfig--">getMqttConfig()</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
+<dd>
+<div class="block">Get the device's <a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><code>MqttConfig</code></a></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html#getMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">getMvAggregate(JsonObject, String, String, JsonUnivariateAggregate)</a></span> - Static method in class org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></dt>
+<dd>
+<div class="block">Get the value of an aggregate computed by a multi-variable aggregation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.html#getName--">getName()</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dt>
+<dd>
+<div class="block">Returns the name of this job.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/JobMXBean.html#getName--">getName()</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></dt>
+<dd>
+<div class="block">Returns the name of the job.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/JobContext.html#getName--">getName()</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></dt>
+<dd>
+<div class="block">Get the name of the job containing this <a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#getName--">getName()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Return the name of this provider.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#getName--">getName()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getName--">getName()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/services/TopologyBuilder.html#getName--">getName()</a></span> - Method in interface org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services">TopologyBuilder</a></dt>
+<dd>
+<div class="block">Name the application will be known as.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#getName--">getName()</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#getName--">getName()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
+<dd>
+<div class="block">Name of this topology.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#getNames--">getNames()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>
+<div class="block">Get the registered names.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#getNextActiveFilePath--">getNextActiveFilePath()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.html#getNextState--">getNextState()</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dt>
+<dd>
+<div class="block">Retrieves the next execution state when this job makes a state 
+ transition.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/JobMXBean.html#getNextState--">getNextState()</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></dt>
+<dd>
+<div class="block">Retrieves the next execution state when the job makes a state 
+ transition.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getNextState--">getNextState()</a></span> - Method in class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getNextState--">getNextState()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#getOplet--">getOplet()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">Returns the oplet associated with this <code>Invocation</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/serial/SerialPort.html#getOutput--">getOutput()</a></span> - Method in interface org.apache.edgent.connectors.serial.<a href="org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a></dt>
+<dd>
+<div class="block">Get the output stream for this serial port.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/OpletContext.html#getOutputContext--">getOutputContext()</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></dt>
+<dd>
+<div class="block">Get the oplet's output port context information.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputContext--">getOutputContext()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/OpletContext.html#getOutputCount--">getOutputCount()</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></dt>
+<dd>
+<div class="block">Get the number of connected outputs to this oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#getOutputCount--">getOutputCount()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">Returns the number of outputs for this invocation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputCount--">getOutputCount()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/OpletContext.html#getOutputs--">getOutputs()</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></dt>
+<dd>
+<div class="block">Get the mechanism to submit tuples on an output port.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputs--">getOutputs()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#getPartitionProcessor--">getPartitionProcessor()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
+<dd>
+<div class="block">Returns the partition processor associated with the window.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#getPartitions--">getPartitions()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
+<dd>
+<div class="block">Retrieves the partitions in the window.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getPassword--">getPassword()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the the password to use for authentication with the server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Peek.html#getPeeker--">getPeeker()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--">getPeriod()</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></dt>
+<dd>
+<div class="block">Get the period.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/PeriodicSource.html#getPeriod--">getPeriod()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#getPeriodMsec--">getPeriodMsec()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
+<dd>
+<div class="block">Get the time period configuration value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html#getPeriodMsec--">getPeriodMsec()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></dt>
+<dd>
+<div class="block">Get the time period configuration value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#getPeriodMsec--">getPeriodMsec()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
+<dd>
+<div class="block">Get the time period configuration value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getPersistence--">getPersistence()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the QoS 1 and 2 in-flight message persistence handler.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#getPreferences-java.lang.String-">getPreferences(String)</a></span> - Static method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Get the Preferences node that will be used for the IotProvider with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination(String, Class&lt;? super T&gt;)</a></span> - Method in class org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">ProviderPubSub</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination(String, Class&lt;? super T&gt;)</a></span> - Method in interface org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></dt>
+<dd>
+<div class="block">Get the destination for a publisher.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#getResult--">getResult()</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html#getResult--">getResult()</a></span> - Method in interface org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></dt>
+<dd>
+<div class="block">Get the aggregation result.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/tester/Condition.html#getResult--">getResult()</a></span> - Method in interface org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#getRetentionConfig--">getRetentionConfig()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>
+<div class="block">Get the policy's retention configuration</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/PeriodicSource.html#getRunnable--">getRunnable()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/ProcessSource.html#getRunnable--">getRunnable()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/direct/DirectTopology.html#getRuntimeServiceSupplier--">getRuntimeServiceSupplier()</a></span> - Method in class org.apache.edgent.providers.direct.<a href="org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#getRuntimeServiceSupplier--">getRuntimeServiceSupplier()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
+<dd>
+<div class="block">Return a function that at execution time
+ will return a <a href="org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><code>RuntimeServices</code></a> instance
+ a stream function can use.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#getSampleCount--">getSampleCount()</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dt>
+<dd>
+<div class="block">Get the number of Samples currently captured</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.html#getSampleCount--">getSampleCount()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></dt>
+<dd>
+<div class="block">Get the number of Samples currently captured</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#getSampleCount--">getSampleCount()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#getSamples--">getSamples()</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dt>
+<dd>
+<div class="block">Get all captured tuples as JSON.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.html#getSamples--">getSamples()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></dt>
+<dd>
+<div class="block">Get all captured tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#getSamples--">getSamples()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#getScheduledExecutorService--">getScheduledExecutorService()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
+<dd>
+<div class="block">Returns the ScheduledExecutorService associated with the window.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Executable.html#getScheduler--">getScheduler()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></dt>
+<dd>
+<div class="block">Returns the <code>ScheduledExecutorService</code> used for running 
+ executable graph elements.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getServerURLs--">getServerURLs()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the MQTT Server URLs</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/RuntimeServices.html#getService-java.lang.Class-">getService(Class&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></dt>
+<dd>
+<div class="block">Get a service for this invocation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ServiceContainer.html#getService-java.lang.Class-">getService(Class&lt;T&gt;)</a></span> - Method in class org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></dt>
+<dd>
+<div class="block">Returns the service to which the specified service class key is
+ mapped, or <code>null</code> if this <code>ServiceContainer</code> contains no 
+ service for that key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/OpletContext.html#getService-java.lang.Class-">getService(Class&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></dt>
+<dd>
+<div class="block">Get a service for this invocation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/AbstractContext.html#getService-java.lang.Class-">getService(Class&lt;T&gt;)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Executable.html#getService-java.lang.Class-">getService(Class&lt;T&gt;)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></dt>
+<dd>
+<div class="block">Acts as a service provider for executable elements in the graph, first
+ looking for a service specific to this job, and then one from the 
+ container.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/DirectSubmitter.html#getServices--">getServices()</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a></dt>
+<dd>
+<div class="block">Access to services.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/direct/DirectProvider.html#getServices--">getServices()</a></span> - Method in class org.apache.edgent.providers.direct.<a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></dt>
+<dd>
+<div class="block">Access to services.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#getServices--">getServices()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Access to services.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Sink.html#getSinker--">getSinker()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></dt>
+<dd>
+<div class="block">Get the sink function that processes each tuple.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html#getSize--">getSize()</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/serial/SerialDevice.html#getSource-org.apache.edgent.function.Function-">getSource(Function&lt;SerialPort, T&gt;)</a></span> - Method in interface org.apache.edgent.connectors.serial.<a href="org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a></dt>
+<dd>
+<div class="block">Create a function that can be used to source a
+ stream from a serial port device.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Edge.html#getSource--">getSource()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></dt>
+<dd>
+<div class="block">Returns the source vertex.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/DirectEdge.html#getSource--">getSource()</a></span> - Method in class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getSourceId--">getSourceId()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Edge.html#getSourceOutputPort--">getSourceOutputPort()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></dt>
+<dd>
+<div class="block">Returns the source output port index.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/DirectEdge.html#getSourceOutputPort--">getSourceOutputPort()</a></span> - Method in class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getSourceOutputPort--">getSourceOutputPort()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/PartitionedState.html#getState-K-">getState(K)</a></span> - Method in class org.apache.edgent.window.<a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">PartitionedState</a></dt>
+<dd>
+<div class="block">Get the current state for <code>key</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#getStreamScopes--">getStreamScopes()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>
+<div class="block">Get registered StreamScopes and the name(s) each is registered with.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getSubscriberIdleReconnectInterval--">getSubscriberIdleReconnectInterval()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the subscriber idle reconnect interval.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Connector.html#getTags--">getTags()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></dt>
+<dd>
+<div class="block">Returns the set of tags associated with this connector.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Edge.html#getTags--">getTags()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></dt>
+<dd>
+<div class="block">Returns the set of tags associated with this edge.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/DirectEdge.html#getTags--">getTags()</a></span> - Method in class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getTags--">getTags()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#getTags--">getTags()</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#getTags--">getTags()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Returns the set of tags associated with this stream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Edge.html#getTarget--">getTarget()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></dt>
+<dd>
+<div class="block">Returns the target vertex.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/DirectEdge.html#getTarget--">getTarget()</a></span> - Method in class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getTargetId--">getTargetId()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Edge.html#getTargetInputPort--">getTargetInputPort()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></dt>
+<dd>
+<div class="block">Returns the target input port index.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/DirectEdge.html#getTargetInputPort--">getTargetInputPort()</a></span> - Method in class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getTargetInputPort--">getTargetInputPort()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#getTester--">getTester()</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#getTester--">getTester()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
+<dd>
+<div class="block">Get the tester for this topology.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#getTime--">getTime()</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#getTriggerPolicy--">getTriggerPolicy()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
+<dd>
+<div class="block">Returns the window's trigger policy.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getTrustStore--">getTrustStore()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the SSL trust store path.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getTrustStorePassword--">getTrustStorePassword()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the SSL trust store path password.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#getTuplePredicate--">getTuplePredicate()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
+<dd>
+<div class="block">Get the tuple predicate configuration value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html#getTuplePredicate--">getTuplePredicate()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></dt>
+<dd>
+<div class="block">Get the tuple predicate configuration value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html#getUnit--">getUnit()</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></dt>
+<dd>
+<div class="block">Get the time unit for <a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--"><code>PeriodMXBean.getPeriod()</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/PeriodicSource.html#getUnit--">getUnit()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#getUnit--">getUnit()</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getUserName--">getUserName()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the username to use for authentication with the server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Graph.html#getVertices--">getVertices()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></dt>
+<dd>
+<div class="block">Return an unmodifiable view of all vertices in this graph.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getVertices--">getVertices()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html#getVertices--">getVertices()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">GraphType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillDestination--">getWillDestination()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get a Last Will and Testament message's destination topic.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillPayload--">getWillPayload()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get a Last Will and Testament message's payload.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillQOS--">getWillQOS()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get a Last Will and Testament message's QOS.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillRetained--">getWillRetained()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get a Last Will and Testament message's "retained" setting.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Partition.html#getWindow--">getWindow()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a></dt>
+<dd>
+<div class="block">Return the window in which this partition is contained.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Connector.html#graph--">graph()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></dt>
+<dd>
+<div class="block">Gets the <code>Graph</code> for this <code>Connector</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Graph</span></a> - Interface in <a href="org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></dt>
+<dd>
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Vertex.html#graph--">graph()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></dt>
+<dd>
+<div class="block">Get the vertice's <a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/direct/DirectTopology.html#graph--">graph()</a></span> - Method in class org.apache.edgent.providers.direct.<a href="org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#graph--">graph()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#graph--">graph()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#graph--">graph()</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#graph--">graph()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
+<dd>
+<div class="block">Get the underlying graph.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/JobMXBean.html#graphSnapshot--">graphSnapshot()</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></dt>
+<dd>
+<div class="block">Takes a current snapshot of the running graph and returns it in JSON format.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#graphSnapshot--">graphSnapshot()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">GraphTopology</span></a>&lt;<a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="type parameter in GraphTopology">X</a> extends <a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt; - Class in <a href="org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></dt>
+<dd>
+<div class="block">Topology implementation that provides basic functions for implementing
+ source streams backed by a <a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/GraphTopology.html#GraphTopology-java.lang.String-">GraphTopology(String)</a></span> - Constructor for class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">GraphType</span></a> - Class in <a href="org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></dt>
+<dd>
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html#GraphType-org.apache.edgent.graph.Graph-">GraphType(Graph)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">GraphType</a></dt>
+<dd>
+<div class="block">Create an instance of <a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html#GraphType-org.apache.edgent.graph.Graph-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">GraphType(Graph, IdMapper&lt;String&gt;)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">GraphType</a></dt>
+<dd>
+<div class="block">Create an instance of <a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a> using the specified 
+ <code>IdMapper</code> to generate unique object identifiers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html#GraphType--">GraphType()</a></span> - Constructor for class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">GraphType</a></dt>
+<dd>
+<div class="block">Default constructor of <a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#greaterThan-T-">greaterThan(T)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range (lowerEndpoint..*) (exclusive/OPEN)</div>
+</dd>
+</dl>
+<a name="I:H">
+<!--   -->
+</a>
+<h2 class="title">H</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html#handleResults-T-java.sql.ResultSet-java.lang.Exception-org.apache.edgent.function.Consumer-">handleResults(T, ResultSet, Exception, Consumer&lt;R&gt;)</a></span> - Method in interface org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a></dt>
+<dd>
+<div class="block">Process the <code>ResultSet</code> and add 0 or more tuples to <code>consumer</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html#hasActiveNonDaemonThreads--">hasActiveNonDaemonThreads()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">ThreadFactoryTracker</a></dt>
+<dd>
+<div class="block">Check to see if there are non daemon user threads that have not yet 
+ completed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Executable.html#hasActiveTasks--">hasActiveTasks()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></dt>
+<dd>
+<div class="block">Check whether there are user tasks still active.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#hasActiveTasks--">hasActiveTasks()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></dt>
+<dd>
+<div class="block">Determines whether there are tasks which have started and not completed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#hashCode--">hashCode()</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#hasLowerEndpoint--">hasLowerEndpoint()</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html#hasMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">hasMvAggregate(JsonObject, String, String, JsonUnivariateAggregate)</a></span> - Static method in class org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></dt>
+<dd>
+<div class="block">Check if an aggregation result from a multi-variable aggregation
+ is present.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#hasUpperEndpoint--">hasUpperEndpoint()</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot"><span class="typeNameLink">HeartBeat</span></a> - Class in <a href="org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></dt>
+<dd>
+<div class="block">An IoT device heartbeat event generator.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">hookGenerateFinalFilePath(Path)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">CompressedFileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">hookGenerateFinalFilePath(Path)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>
+<div class="block">Generate the final file path for the active file.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateNextActiveFilePath--">hookGenerateNextActiveFilePath()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>
+<div class="block">Generate the path for the next active file.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#hookRenameFile-java.nio.file.Path-java.nio.file.Path-">hookRenameFile(Path, Path)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">CompressedFileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#hookRenameFile-java.nio.file.Path-java.nio.file.Path-">hookRenameFile(Path, Path)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>
+<div class="block">"Rename" the active file to the final path.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpClients</span></a> - Class in <a href="org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></dt>
+<dd>
+<div class="block">Creation of HTTP Clients.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpClients.html#HttpClients--">HttpClients()</a></span> - Constructor for class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">HttpClients</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">httpEvents(TStream&lt;JsonObject&gt;, Function&lt;JsonObject, String&gt;, UnaryOperator&lt;JsonObject&gt;)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-java.lang.String-">httpEvents(TStream&lt;JsonObject&gt;, String)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpResponders</span></a> - Class in <a href="org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></dt>
+<dd>
+<div class="block">Functions to process HTTP requests.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpResponders.html#HttpResponders--">HttpResponders()</a></span> - Constructor for class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">HttpResponders</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpStreams</span></a> - Class in <a href="org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></dt>
+<dd>
+<div class="block">HTTP streams.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpStreams.html#HttpStreams--">HttpStreams()</a></span> - Constructor for class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">HttpStreams</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a name="I:I">
+<!--   -->
+</a>
+<h2 class="title">I</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#ID_PREFIX">ID_PREFIX</a></span> - Static variable in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dt>
+<dd>
+<div class="block">Prefix used by job unique identifiers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#ID_PREFIX">ID_PREFIX</a></span> - Static variable in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">Prefix used by oplet unique identifiers.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#identity--">identity()</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">Returns the identity function that returns its single argument.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#increment-double-">increment(double)</a></span> - Method in interface org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></dt>
+<dd>
+<div class="block">Add a value to the aggregation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#increment-double-">increment(double)</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#increment-double-">increment(double)</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html#increment-double-">increment(double)</a></span> - Method in interface org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></dt>
+<dd>
+<div class="block">Add a value to the aggregation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#initialize-java.lang.String-java.io.Flushable-java.io.Closeable-">initialize(String, Flushable, Closeable)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/oplets/Publish.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, Void&gt;)</a></span> - Method in class org.apache.edgent.connectors.pubsub.oplets.<a href="org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Publish</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, T&gt;)</a></span> - Method in class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;I, O&gt;)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, U&gt;)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/PeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;Void, T&gt;)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;I, O&gt;)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;Void, T&gt;)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Split.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, T&gt;)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Union.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, T&gt;)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;Void, T&gt;)</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/SupplierSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;Void, T&gt;)</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;I, O&gt;)</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></dt>
+<dd>
+<div class="block">Initialize the oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Barrier.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, List&lt;T&gt;&gt;)</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Isolate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, T&gt;)</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/PressureReliever.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, T&gt;)</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, T&gt;)</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/window/Aggregate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, U&gt;)</a></span> - Method in class org.apache.edgent.oplet.window.<a href="org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Executable.html#initialize--">initialize()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></dt>
+<dd>
+<div class="block">Initializes the invocations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#initialize-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-">initialize(JobContext, RuntimeServices)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">Initialize the invocation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/oplets/StreamScope.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize(OpletContext&lt;T, T&gt;)</a></span> - Method in class org.apache.edgent.streamscope.oplets.<a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpResponders.html#inputOn-java.lang.Integer...-">inputOn(Integer...)</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">HttpResponders</a></dt>
+<dd>
+<div class="block">Return the input tuple on specified codes.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpResponders.html#inputOn200--">inputOn200()</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">HttpResponders</a></dt>
+<dd>
+<div class="block">Return the input tuple on OK.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Graph.html#insert-N-int-int-">insert(N, int, int)</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></dt>
+<dd>
+<div class="block">Add a new unconnected <code>Vertex</code> into the graph.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html#insert-OP-int-int-">insert(OP, int, int)</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Partition.html#insert-T-">insert(T)</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a></dt>
+<dd>
+<div class="block">Offers a tuple to be inserted into the partition.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#insert-T-">insert(T)</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
+<dd>
+<div class="block">Attempts to insert the tuple into its partition.</div>
+</dd>
+<dt><a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window"><span class="typeNameLink">InsertionTimeList</span></a>&lt;<a href="org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt; - Class in <a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></dt>
+<dd>
+<div class="block">A window contents list that maintains insertion time.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/InsertionTimeList.html#InsertionTimeList--">InsertionTimeList()</a></span> - Constructor for class org.apache.edgent.window.<a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#insertionTimeList--">insertionTimeList()</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#inTransition--">inTransition()</a></span> - Method in class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Invocation</span></a>&lt;<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">T</a> extends <a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>,<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">O</a>&gt;,<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>,<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">O</a>&gt; - Class in <a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></dt>
+<dd>
+<div class="block">An <a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a> invocation in the context of the 
+ <a href="./org/apache/edgent/runtime/etiao/package-summary.html">ETIAO</a> runtime.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#Invocation-java.lang.String-T-int-int-">Invocation(String, T, int, int)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">InvocationContext</span></a>&lt;<a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">I</a>,<a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt; - Class in <a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></dt>
+<dd>
+<div class="block">Context information for the <code>Oplet</code>'s execution context.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext(String, JobContext, RuntimeServices, int, List&lt;? extends Consumer&lt;O&gt;&gt;, List&lt;OutputPortContext&gt;)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a></dt>
+<dd>
+<div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">InvocationType</span></a>&lt;<a href="org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="type parameter in InvocationType">I</a>,<a href="org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="type parameter in InvocationType">O</a>&gt; - Class in <a href="org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></dt>
+<dd>
+<div class="block">Generic type for an oplet invocation instance.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/InvocationType.html#InvocationType-org.apache.edgent.oplet.Oplet-">InvocationType(Oplet&lt;I, O&gt;)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">InvocationType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/Events.html#IOT_START">IOT_START</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot">Events</a></dt>
+<dd>
+<div class="block">An IotProvider has started.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">IotDevice</span></a> - Interface in <a href="org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></dt>
+<dd>
+<div class="block">A generic IoT device IoT hub connector.</div>
+</dd>
+<dt><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot"><span class="typeNameLink">IotDevicePubSub</span></a> - Class in <a href="org/apache/edgent/apps/iot/package-summary.html">org.apache.edgent.apps.iot</a></dt>
+<dd>
+<div class="block">Application sharing an <code>IotDevice</code> through publish-subscribe.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/iot/IotDevicePubSub.html#IotDevicePubSub--">IotDevicePubSub()</a></span> - Constructor for class org.apache.edgent.apps.iot.<a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">IotDevicePubSub</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">IotGateway</span></a> - Interface in <a href="org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></dt>
+<dd>
+<div class="block">A generic IoT gateway device IoT hub connector.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpDevice</span></a> - Class in <a href="org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></dt>
+<dd>
+<div class="block">A Device Connector to IBM Watson IoT Platform (WIoTP).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.util.Properties-">IotpDevice(Topology, Properties)</a></span> - Constructor for class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>
+<div class="block">Create a connector for the IoT device specified by <code>options</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.io.File-">IotpDevice(Topology, File)</a></span> - Constructor for class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>
+<div class="block">Create a connector for the IoT device specified by <code>optionsFile</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-com.ibm.iotf.client.device.DeviceClient-">IotpDevice(Topology, DeviceClient)</a></span> - Constructor for class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>
+<div class="block">Create a connector using the supplied WIoTP <code>DeviceClient</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpGateway</span></a> - Class in <a href="org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></dt>
+<dd>
+<div class="block">An IoT Gateway Device Connector to IBM Watson IoT Platform (WIoTP).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-java.util.Properties-">IotpGateway(Topology, Properties)</a></span> - Constructor for class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>
+<div class="block">Create a connector for the IoT gateway device specified by <code>options</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-java.io.File-">IotpGateway(Topology, File)</a></span> - Constructor for class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>
+<div class="block">Create a connector for the IoT gateway device specified by <code>optionsFile</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-com.ibm.iotf.client.gateway.GatewayClient-">IotpGateway(Topology, GatewayClient)</a></span> - Constructor for class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>
+<div class="block">Create a connector using the supplied WIoTP <code>DeviceClient</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot"><span class="typeNameLink">IotProvider</span></a> - Class in <a href="org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></dt>
+<dd>
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#IotProvider-org.apache.edgent.function.Function-">IotProvider(Function&lt;Topology, IotDevice&gt;)</a></span> - Constructor for class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider(String, Function&lt;Topology, IotDevice&gt;)</a></span> - Constructor for class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider(String, DirectProvider, Function&lt;Topology, IotDevice&gt;)</a></span> - Constructor for class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider(String, TopologyProvider, DirectSubmitter&lt;Topology, Job&gt;, Function&lt;Topology, IotDevice&gt;)</a></span> - Constructor for class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Create an <code>IotProvider</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#isCleanSession--">isCleanSession()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Get the clean session setting.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Connector.html#isConnected--">isConnected()</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></dt>
+<dd>
+<div class="block">Was connect() called on this connector?</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/Controls.html#isControlServiceMBean-java.lang.Class-">isControlServiceMBean(Class&lt;?&gt;)</a></span> - Static method in class org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services">Controls</a></dt>
+<dd>
+<div class="block">Test to see if an interface represents a valid
+ control service MBean.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#isEnabled--">isEnabled()</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dt>
+<dd>
+<div class="block">Is tuple capture enabled?</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.html#isEnabled--">isEnabled()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></dt>
+<dd>
+<div class="block">Is tuple capture enabled?</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#isEnabled--">isEnabled()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#isImmutable-java.lang.Object-">isImmutable(Object)</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">See if the functional logic is immutable.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#isImmutableClass-java.lang.Class-">isImmutableClass(Class&lt;?&gt;)</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">See if a function class is immutable.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Isolate</span></a>&lt;<a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></dt>
+<dd>
+<div class="block">Isolate upstream processing from downstream
+ processing guaranteeing tuple order.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Isolate.html#Isolate--">Isolate()</a></span> - Constructor for class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a></dt>
+<dd>
+<div class="block">Create a new Isolate oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Isolate.html#Isolate-int-">Isolate(int)</a></span> - Constructor for class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a></dt>
+<dd>
+<div class="block">Create a new Isolate oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#isolate-org.apache.edgent.topology.TStream-boolean-">isolate(TStream&lt;T&gt;, boolean)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Isolate upstream processing from downstream processing.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#isolate-org.apache.edgent.topology.TStream-int-">isolate(TStream&lt;T&gt;, int)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Isolate upstream processing from downstream processing.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/Valve.html#isOpen--">isOpen()</a></span> - Method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a></dt>
+<dd>
+<div class="block">Get the valve state</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#isPaused--">isPaused()</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dt>
+<dd>
+<div class="block">Is capture paused?</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html#isPaused--">isPaused()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></dt>
+<dd>
+<div class="block">Is capture paused?</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#isPaused--">isPaused()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a name="I:J">
+<!--   -->
+</a>
+<h2 class="title">J</h2>
+<dl>
+<dt><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">JdbcStreams</span></a> - Class in <a href="org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></dt>
+<dd>
+<div class="block"><code>JdbcStreams</code> is a streams connector to a database via the
+ JDBC API <code>java.sql</code> package.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html#JdbcStreams-org.apache.edgent.topology.Topology-org.apache.edgent.connectors.jdbc.CheckedSupplier-org.apache.edgent.connectors.jdbc.CheckedFunction-">JdbcStreams(Topology, CheckedSupplier&lt;DataSource&gt;, CheckedFunction&lt;DataSource, Connection&gt;)</a></span> - Constructor for class org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">JdbcStreams</a></dt>
+<dd>
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
+ a database connection.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/development/DevelopmentProvider.html#JMX_DOMAIN">JMX_DOMAIN</a></span> - Static variable in class org.apache.edgent.providers.development.<a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></dt>
+<dd>
+<div class="block">JMX domains that this provider uses to register MBeans.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol"><span class="typeNameLink">JMXControlService</span></a> - Class in <a href="org/apache/edgent/runtime/jmxcontrol/package-summary.html">org.apache.edgent.runtime.jmxcontrol</a></dt>
+<dd>
+<div class="block">Control service that registers control objects
+ as MBeans in a JMX server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#JMXControlService-java.lang.String-java.util.Hashtable-">JMXControlService(String, Hashtable&lt;String, String&gt;)</a></span> - Constructor for class org.apache.edgent.runtime.jmxcontrol.<a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></dt>
+<dd>
+<div class="block">JMX control service using the platform MBean server.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Job</span></a> - Interface in <a href="org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></dt>
+<dd>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.Action</span></a> - Enum in <a href="org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></dt>
+<dd>
+<div class="block">Actions which trigger <a href="org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><code>Job.State</code></a> transitions.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.Health</span></a> - Enum in <a href="org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></dt>
+<dd>
+<div class="block">Enumeration for the summarized health indicator of the graph nodes.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.State</span></a> - Enum in <a href="org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></dt>
+<dd>
+<div class="block">States of a graph job.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/Controls.html#JOB_HOLD_AFTER_CLOSE_SECS">JOB_HOLD_AFTER_CLOSE_SECS</a></span> - Static variable in class org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services">Controls</a></dt>
+<dd>
+<div class="block">Number of seconds a <a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><code>JobMXBean</code></a>
+ control is held registered with the <a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a> after a job
+ gets closed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Configs.html#JOB_NAME">JOB_NAME</a></span> - Static variable in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">Configs</a></dt>
+<dd>
+<div class="block">JOB_NAME is used to identify the submission configuration property 
+ containing the job name.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">JobContext</span></a> - Interface in <a href="org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></dt>
+<dd>
+<div class="block">Information about an oplet invocation's job.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">JobEvents</span></a> - Class in <a href="org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></dt>
+<dd>
+<div class="block">A source of job event tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobEvents.html#JobEvents--">JobEvents()</a></span> - Constructor for class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry">JobEvents</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime"><span class="typeNameLink">JobMonitorApp</span></a> - Class in <a href="org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a></dt>
+<dd>
+<div class="block">Job monitoring application.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html#JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">JobMonitorApp(TopologyProvider, DirectSubmitter&lt;Topology, Job&gt;, String)</a></span> - Constructor for class org.apache.edgent.apps.runtime.<a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">JobMonitorApp</a></dt>
+<dd>
+<div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
+ context of the specified provider.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="typeNameLink">JobMXBean</span></a> - Interface in <a href="org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a></dt>
+<dd>
+<div class="block">Control interface for a job.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">JobRegistry</span></a> - Class in <a href="org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></dt>
+<dd>
+<div class="block">Maintains a set of registered jobs and a set of listeners.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html#JobRegistry--">JobRegistry()</a></span> - Constructor for class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></dt>
+<dd>
+<div class="block">Creates a new <a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><code>JobRegistry</code></a>.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">JobRegistryService</span></a> - Interface in <a href="org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></dt>
+<dd>
+<div class="block">Job registry service.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services"><span class="typeNameLink">JobRegistryService.EventType</span></a> - Enum in <a href="org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></dt>
+<dd>
+<div class="block">Job event types.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join(Function&lt;T, K&gt;, TWindow&lt;U, K&gt;, BiFunction&lt;T, List&lt;U&gt;, J&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join(Function&lt;T, K&gt;, TWindow&lt;U, K&gt;, BiFunction&lt;T, List&lt;U&gt;, J&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast(Function&lt;T, K&gt;, TStream&lt;U&gt;, Function&lt;U, K&gt;, BiFunction&lt;T, U, J&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast(Function&lt;T, K&gt;, TStream&lt;U&gt;, Function&lt;U, K&gt;, BiFunction&lt;T, U, J&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Join this stream with the last tuple seen on a stream of type <code>U</code>
+ with partitioning.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpResponders.html#json--">json()</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">HttpResponders</a></dt>
+<dd>
+<div class="block">A HTTP response handler for <code>application/json</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonAnalytics</span></a> - Class in <a href="org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></dt>
+<dd>
+<div class="block">Apache Common Math analytics for streams with JSON tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html#JsonAnalytics--">JsonAnalytics()</a></span> - Constructor for class org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol"><span class="typeNameLink">JsonControlService</span></a> - Class in <a href="org/apache/edgent/runtime/jsoncontrol/package-summary.html">org.apache.edgent.runtime.jsoncontrol</a></dt>
+<dd>
+<div class="block">Control service that accepts control instructions as JSON objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#JsonControlService--">JsonControlService()</a></span> - Constructor for class org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json"><span class="typeNameLink">JsonFunctions</span></a> - Class in <a href="org/apache/edgent/topology/json/package-summary.html">org.apache.edgent.topology.json</a></dt>
+<dd>
+<div class="block">Utilities for use of JSON and Json Objects in a streaming topology.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#JsonFunctions--">JsonFunctions()</a></span> - Constructor for class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">JsonStorelessStatistic</span></a> - Class in <a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></dt>
+<dd>
+<div class="block">JSON univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#JsonStorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">JsonStorelessStatistic(Statistic, StorelessUnivariateStatistic)</a></span> - Constructor for class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonUnivariateAggregate</span></a> - Interface in <a href="org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></dt>
+<dd>
+<div class="block">Univariate aggregate for a JSON tuple.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonUnivariateAggregator</span></a> - Interface in <a href="org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></dt>
+<dd>
+<div class="block">Univariate aggregator for JSON tuples.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket"><span class="typeNameLink">Jsr356WebSocketClient</span></a> - Class in <a href="org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></dt>
+<dd>
+<div class="block">A connector for sending and receiving messages to a WebSocket Server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-">Jsr356WebSocketClient(Topology, Properties)</a></span> - Constructor for class org.apache.edgent.connectors.wsclient.javax.websocket.<a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></dt>
+<dd>
+<div class="block">Create a new Web Socket Client connector.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.function.Supplier-">Jsr356WebSocketClient(Topology, Properties, Supplier&lt;WebSocketContainer&gt;)</a></span> - Constructor for class org.apache.edgent.connectors.wsclient.javax.websocket.<a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></dt>
+<dd>
+<div class="block">Create a new Web Socket Client connector.</div>
+</dd>
+</dl>
+<a name="I:K">
+<!--   -->
+</a>
+<h2 class="title">K</h2>
+<dl>
+<dt><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer</span></a> - Class in <a href="org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></dt>
+<dd>
+<div class="block"><code>KafkaConsumer</code> is a connector for creating a stream of tuples
+ by subscribing to Apache Kafka messaging system topics.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html#KafkaConsumer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaConsumer(Topology, Supplier&lt;Map&lt;String, Object&gt;&gt;)</a></span> - Constructor for class org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">KafkaConsumer</a></dt>
+<dd>
+<div class="block">Create a consumer connector for subscribing to Kafka topics
+ and creating tuples from the received messages.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer.ByteConsumerRecord</span></a> - Interface in <a href="org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></dt>
+<dd>
+<div class="block">A Kafka record with byte[] typed key and value members</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer.ConsumerRecord</span></a>&lt;<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="type parameter in KafkaConsumer.ConsumerRecord">K</a>,<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="type parameter in KafkaConsumer.ConsumerRecord">V</a>&gt; - Interface in <a href="org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></dt>
+<dd>
+<div class="block">A received Kafka record</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer.StringConsumerRecord</span></a> - Interface in <a href="org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></dt>
+<dd>
+<div class="block">A Kafka record with String typed key and value members</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaProducer</span></a> - Class in <a href="org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></dt>
+<dd>
+<div class="block"><code>KafkaProducer</code> is a connector for publishing a stream of tuples
+ to Apache Kafka messaging system topics.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaProducer.html#KafkaProducer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaProducer(Topology, Supplier&lt;Map&lt;String, Object&gt;&gt;)</a></span> - Constructor for class org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka">KafkaProducer</a></dt>
+<dd>
+<div class="block">Create a producer connector for publishing tuples to Kafka topics.s</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#key--">key()</a></span> - Method in interface org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_JOBID">KEY_JOBID</a></span> - Static variable in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
+<dd>
+<div class="block">The <code>jobId</code> property key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_NAME">KEY_NAME</a></span> - Static variable in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
+<dd>
+<div class="block">The <code>name</code> property key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_OPID">KEY_OPID</a></span> - Static variable in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
+<dd>
+<div class="block">The <code>opId</code> (oplet id) property key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_TYPE">KEY_TYPE</a></span> - Static variable in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
+<dd>
+<div class="block">The <code>type</code> property key.</div>
+</dd>
+</dl>
+<a name="I:L">
+<!--   -->
+</a>
+<h2 class="title">L</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#last-int-org.apache.edgent.function.Function-">last(int, Function&lt;T, K&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last(long, TimeUnit, Function&lt;T, K&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#last-int-org.apache.edgent.function.Function-">last(int, Function&lt;T, K&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Declare a partitioned window that continually represents the last <code>count</code>
+ tuples on this stream for each partition.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last(long, TimeUnit, Function&lt;T, K&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
+ tuples on this stream for each partition.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Windows.html#lastNProcessOnInsert-int-org.apache.edgent.function.Function-">lastNProcessOnInsert(int, Function&lt;T, K&gt;)</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window">Windows</a></dt>
+<dd>
+<div class="block">Return a window that maintains the last <code>count</code> tuples inserted
+ with processing triggered on every insert.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#lessThan-T-">lessThan(T)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range (*..upperEndpoint) (exclusive/OPEN)</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/InsertionTimeList.html#listIterator-int-">listIterator(int)</a></span> - Method in class org.apache.edgent.window.<a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">LoadBalancedSplitter</span></a>&lt;<a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="type parameter in LoadBalancedSplitter">T</a>&gt; - Class in <a href="org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></dt>
+<dd>
+<div class="block">A Load Balanced Splitter function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html#LoadBalancedSplitter-int-">LoadBalancedSplitter(int)</a></span> - Constructor for class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">LoadBalancedSplitter</a></dt>
+<dd>
+<div class="block">Create a new splitter.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#lookup-java.lang.String-java.lang.String-int-">lookup(String, String, int)</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></dt>
+<dd>
+<div class="block">Get the <a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#lookup-java.lang.String-">lookup(String)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>
+<div class="block">Lookup a StreamScope</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistryBean.html#lookup-java.lang.String-java.lang.String-int-">lookup(String, String, int)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistryBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#lowerBoundType--">lowerBoundType()</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Get the BoundType for the lowerEndpoint.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#lowerEndpoint--">lowerEndpoint()</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Get the range's lower endpoint.</div>
+</dd>
+</dl>
+<a name="I:M">
+<!--   -->
+</a>
+<h2 class="title">M</h2>
+<dl>
+<dt><a href="org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Map</span></a>&lt;<a href="org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">I</a>,<a href="org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">O</a>&gt; - Class in <a href="org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></dt>
+<dd>
+<div class="block">Map an input tuple to 0-1 output tuple</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Map.html#Map-org.apache.edgent.function.Function-">Map(Function&lt;I, O&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#map-org.apache.edgent.function.Function-">map(Function&lt;T, U&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#map-org.apache.edgent.function.Function-">map(Function&lt;T, U&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Declare a new stream that maps (or transforms) each tuple from this stream into one
+ (or zero) tuple of a different type <code>U</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/CounterOp.html#METRIC_NAME">METRIC_NAME</a></span> - Static variable in class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/RateMeter.html#METRIC_NAME">METRIC_NAME</a></span> - Static variable in class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">MetricObjectNameFactory</span></a> - Class in <a href="org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></dt>
+<dd>
+<div class="block">A factory of metric <code>ObjectName</code> instances.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#MetricObjectNameFactory--">MetricObjectNameFactory()</a></span> - Constructor for class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Metrics</span></a> - Class in <a href="org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></dt>
+<dd>
+<div class="block">This interface contains utility methods for manipulating metrics.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/Metrics.html#Metrics--">Metrics()</a></span> - Constructor for class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics">Metrics</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">MetricsSetup</span></a> - Class in <a href="org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></dt>
+<dd>
+<div class="block">Utility helpers for configuring and starting a Metric <code>JmxReporter</code>
+ or a <code>ConsoleReporter</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">mkAggregationSpec(String, JsonUnivariateAggregate...)</a></span> - Static method in class org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></dt>
+<dd>
+<div class="block">Create an aggregation specification.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#mkStreamId-java.lang.String-java.lang.String-int-">mkStreamId(String, String, int)</a></span> - Static method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>
+<div class="block">Make a streamId for the specified stream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTStream.html#modify-org.apache.edgent.function.UnaryOperator-">modify(UnaryOperator&lt;T&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a></dt>
+<dd>
+<div class="block">Declare a new stream that modifies each tuple from this stream into one
+ (or zero) tuple of the same type <code>T</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#modify-org.apache.edgent.function.UnaryOperator-">modify(UnaryOperator&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Declare a new stream that modifies each tuple from this stream into one
+ (or zero) tuple of the same type <code>T</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttConfig</span></a> - Class in <a href="org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></dt>
+<dd>
+<div class="block">MQTT broker connector configuration.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#MqttConfig--">MqttConfig()</a></span> - Constructor for class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Create a new configuration.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#MqttConfig-java.lang.String-java.lang.String-">MqttConfig(String, String)</a></span> - Constructor for class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Create a new configuration.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot"><span class="typeNameLink">MqttDevice</span></a> - Class in <a href="org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></dt>
+<dd>
+<div class="block">An MQTT based Edgent <a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> connector.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-">MqttDevice(Topology, Properties)</a></span> - Constructor for class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
+<dd>
+<div class="block">Create an MqttDevice connector.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.connectors.mqtt.MqttConfig-">MqttDevice(Topology, Properties, MqttConfig)</a></span> - Constructor for class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
+<dd>
+<div class="block">Create an MqttDevice connector.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttStreams</span></a> - Class in <a href="org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></dt>
+<dd>
+<div class="block"><code>MqttStreams</code> is a connector to a MQTT messaging broker
+ for publishing and subscribing to topics.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html#MqttStreams-org.apache.edgent.topology.Topology-java.lang.String-java.lang.String-">MqttStreams(Topology, String, String)</a></span> - Constructor for class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">MqttStreams</a></dt>
+<dd>
+<div class="block">Create a connector to the specified server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html#MqttStreams-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">MqttStreams(Topology, Supplier&lt;MqttConfig&gt;)</a></span> - Constructor for class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">MqttStreams</a></dt>
+<dd>
+<div class="block">Create a connector with the specified configuration.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-">mvAggregate(TWindow&lt;JsonObject, K&gt;, String, String, List&lt;Pair&lt;String, JsonUnivariateAggregate[]&gt;&gt;)</a></span> - Static method in class org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></dt>
+<dd>
+<div class="block">Aggregate against multiple <code>Numeric</code> variables contained in an JSON object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-">mvAggregateList(String, String, List&lt;Pair&lt;String, JsonUnivariateAggregate[]&gt;&gt;)</a></span> - Static method in class org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></dt>
+<dd>
+<div class="block">Create a Function that aggregates multiple <code>Numeric</code>
+ variables contained in an JSON object.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">MvResultMap</span></a> - Class in <a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></dt>
+<dd>
+<div class="block">Aggregation results for multiple aggregated variables.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/MvResultMap.html#MvResultMap--">MvResultMap()</a></span> - Constructor for class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a></dt>
+<dd>
+<div class="block">Create a new MvResultMap.</div>
+</dd>
+</dl>
+<a name="I:N">
+<!--   -->
+</a>
+<h2 class="title">N</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#N">N</a></span> - Static variable in interface org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></dt>
+<dd>
+<div class="block">JSON key used for representation of the number
+ of tuples that were aggregated.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#name--">name()</a></span> - Method in interface org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></dt>
+<dd>
+<div class="block">Name of the aggregate.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html#name--">name()</a></span> - Method in interface org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></dt>
+<dd>
+<div class="block">Name of the aggregate.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamAlias-java.lang.String-">nameForStreamAlias(String)</a></span> - Static method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>
+<div class="block">create a registration name for a stream alias</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamId-java.lang.String-">nameForStreamId(String)</a></span> - Static method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>
+<div class="block">Create a registration name for a stream id.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.Sample.html#nanoTime--">nanoTime()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a></dt>
+<dd>
+<div class="block">Capture time in nanoTime.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newAgeBasedConfig-long-long-">newAgeBasedConfig(long, long)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
+<dd>
+<div class="block">same as <code>newConfig(0, 0, ageSe, periodMsecc)</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newAggregateFileSizeBasedConfig-long-">newAggregateFileSizeBasedConfig(long)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
+<dd>
+<div class="block">same as <code>newConfig(0, aggregateFileSize, 0, 0)</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newConfig-long-int-long-org.apache.edgent.function.Predicate-">newConfig(long, int, long, Predicate&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
+<dd>
+<div class="block">Create a new configuration.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newConfig-int-long-org.apache.edgent.function.Predicate-">newConfig(int, long, Predicate&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></dt>
+<dd>
+<div class="block">Create a new configuration.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newConfig-int-long-long-long-">newConfig(int, long, long, long)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
+<dd>
+<div class="block">Create a new configuration.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newCountBasedConfig-int-">newCountBasedConfig(int)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
+<dd>
+<div class="block">same as <code>newConfig(0, cntTuples, 0, null)</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newCountBasedConfig-int-">newCountBasedConfig(int)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></dt>
+<dd>
+<div class="block">same as <code>newConfig(cntTuples, 0, null)</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newFileCountBasedConfig-int-">newFileCountBasedConfig(int)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
+<dd>
+<div class="block">same as <code>newConfig(fileCount, 0, 0, 0)</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newFileSizeBasedConfig-long-">newFileSizeBasedConfig(long)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
+<dd>
+<div class="block">same as <code>newConfig(fileSize, 0, 0, null)</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newImplicitConfig--">newImplicitConfig()</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></dt>
+<dd>
+<div class="block">Create a new configuration.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig(Predicate&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
+<dd>
+<div class="block">same as <code>newConfig(0, 0, 0, tuplePredicate)</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig(Predicate&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></dt>
+<dd>
+<div class="block">same as <code>newConfig(0, 0, tuplePredicate)</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">newScheduler(ThreadFactory, BiConsumer&lt;Object, Throwable&gt;)</a></span> - Static method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></dt>
+<dd>
+<div class="block">Creates an <code>TrackingScheduledExecutor</code> using the supplied thread 
+ factory and a completion handler.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/direct/DirectTopology.html#newTester--">newTester()</a></span> - Method in class org.apache.edgent.providers.direct.<a href="org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#newTester--">newTester()</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html#newThread-java.lang.Runnable-">newThread(Runnable)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">ThreadFactoryTracker</a></dt>
+<dd>
+<div class="block">Return a thread.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newTimeBasedConfig-long-">newTimeBasedConfig(long)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
+<dd>
+<div class="block">same as <code>newConfig(0, 0, periodMsec, null)</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newTimeBasedConfig-long-">newTimeBasedConfig(long)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></dt>
+<dd>
+<div class="block">same as <code>newConfig(0, periodMsec, null)</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/direct/DirectProvider.html#newTopology-java.lang.String-">newTopology(String)</a></span> - Method in class org.apache.edgent.providers.direct.<a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#newTopology--">newTopology()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Create a new topology with a generated name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#newTopology-java.lang.String-">newTopology(String)</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Create a new topology with a given name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html#newTopology-java.lang.String-">newTopology(String)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html#newTopology--">newTopology()</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">newTopology(String)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></dt>
+<dd>
+<div class="block">Create a new topology with a given name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TopologyProvider.html#newTopology--">newTopology()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></dt>
+<dd>
+<div class="block">Create a new topology with a generated name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpClients.html#noAuthentication--">noAuthentication()</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">HttpClients</a></dt>
+<dd>
+<div class="block">Create HTTP client with no authentication.</div>
+</dd>
+</dl>
+<a name="I:O">
+<!--   -->
+</a>
+<h2 class="title">O</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#of-T...-">of(T...)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#of-T...-">of(T...)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
+<dd>
+<div class="block">Declare a stream of objects.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#offset--">offset()</a></span> - Method in interface org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#OP_KEY">OP_KEY</a></span> - Static variable in class org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></dt>
+<dd>
+<div class="block">Key for the operation name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#open-T-T-">open(T, T)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range (lowerEndpoint..upperEndpoint) (both exclusive/OPEN)</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#openClosed-T-T-">openClosed(T, T)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range (lowerEndpoint..upperEndpoint] (exclusive/OPEN,inclusive/CLOSED)</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Oplet</span></a>&lt;<a href="org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>,<a href="org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">O</a>&gt; - Interface in <a href="org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></dt>
+<dd>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">OpletContext</span></a>&lt;<a href="org/apache/edgent/oplet/OpletContext.html" title="type parameter in OpletContext">I</a>,<a href="org/apache/edgent/oplet/OpletContext.html" title="type parameter in OpletContext">O</a>&gt; - Interface in <a href="org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></dt>
+<dd>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#options--">options()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">INTERNAL USE ONLY.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> - package org.apache.edgent.analytics.math3</dt>
+<dd>
+<div class="block">Analytics using Apache Commons Math.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a> - package org.apache.edgent.analytics.math3.json</dt>
+<dd>
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> - package org.apache.edgent.analytics.math3.stat</dt>
+<dd>
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> - package org.apache.edgent.analytics.sensors</dt>
+<dd>
+<div class="block">Analytics focused on handling sensor data.</div>
+</dd>
+<dt><a href="org/apache/edgent/apps/iot/package-summary.html">org.apache.edgent.apps.iot</a> - package org.apache.edgent.apps.iot</dt>
+<dd>
+<div class="block">Applications for use in an Internet of Things environment.</div>
+</dd>
+<dt><a href="org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a> - package org.apache.edgent.apps.runtime</dt>
+<dd>
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a> - package org.apache.edgent.connectors.command</dt>
+<dd>
+<div class="block">Command / OS Process connector.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/csv/package-summary.html">org.apache.edgent.connectors.csv</a> - package org.apache.edgent.connectors.csv</dt>
+<dd>
+<div class="block">Utilities for handling Comma Separated Value strings.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> - package org.apache.edgent.connectors.file</dt>
+<dd>
+<div class="block">File stream connector.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a> - package org.apache.edgent.connectors.http</dt>
+<dd>
+<div class="block">HTTP stream connector.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> - package org.apache.edgent.connectors.iot</dt>
+<dd>
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> - package org.apache.edgent.connectors.iotp</dt>
+<dd>
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> - package org.apache.edgent.connectors.jdbc</dt>
+<dd>
+<div class="block">JDBC based database stream connector.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a> - package org.apache.edgent.connectors.kafka</dt>
+<dd>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> - package org.apache.edgent.connectors.mqtt</dt>
+<dd>
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> - package org.apache.edgent.connectors.mqtt.iot</dt>
+<dd>
+<div class="block">An MQTT based IotDevice connector.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a> - package org.apache.edgent.connectors.pubsub</dt>
+<dd>
+<div class="block">Publish subscribe model between jobs.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a> - package org.apache.edgent.connectors.pubsub.oplets</dt>
+<dd>
+<div class="block">Oplets supporting publish subscribe service.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a> - package org.apache.edgent.connectors.pubsub.service</dt>
+<dd>
+<div class="block">Publish subscribe service.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a> - package org.apache.edgent.connectors.serial</dt>
+<dd>
+<div class="block">Serial port connector API.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a> - package org.apache.edgent.connectors.wsclient</dt>
+<dd>
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a> - package org.apache.edgent.connectors.wsclient.javax.websocket</dt>
+<dd>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> - package org.apache.edgent.execution</dt>
+<dd>
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a> - package org.apache.edgent.execution.mbeans</dt>
+<dd>
+<div class="block">Management MBeans for execution.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> - package org.apache.edgent.execution.services</dt>
+<dd>
+<div class="block">Execution services.</div>
+</dd>
+<dt><a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> - package org.apache.edgent.function</dt>
+<dd>
+<div class="block">Functional interfaces for lambda expressions.</div>
+</dd>
+<dt><a href="org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> - package org.apache.edgent.graph</dt>
+<dd>
+<div class="block">Low-level graph building API.</div>
+</dd>
+<dt><a href="org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> - package org.apache.edgent.graph.spi</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a> - package org.apache.edgent.graph.spi.execution</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a> - package org.apache.edgent.metrics</dt>
+<dd>
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.</div>
+</dd>
+<dt><a href="org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a> - package org.apache.edgent.metrics.oplets</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> - package org.apache.edgent.oplet</dt>
+<dd>
+<div class="block">Oplets API.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> - package org.apache.edgent.oplet.core</dt>
+<dd>
+<div class="block">Core primitive oplets.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> - package org.apache.edgent.oplet.functional</dt>
+<dd>
+<div class="block">Oplets that process tuples using functions.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a> - package org.apache.edgent.oplet.plumbing</dt>
+<dd>
+<div class="block">Oplets that control the flow of tuples.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a> - package org.apache.edgent.oplet.window</dt>
+<dd>
+<div class="block">Oplets using windows.</div>
+</dd>
+<dt><a href="org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a> - package org.apache.edgent.providers.development</dt>
+<dd>
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</dd>
+<dt><a href="org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> - package org.apache.edgent.providers.direct</dt>
+<dd>
+<div class="block">Direct execution of a streaming topology.</div>
+</dd>
+<dt><a href="org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> - package org.apache.edgent.providers.iot</dt>
+<dd>
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> - package org.apache.edgent.runtime.appservice</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> - package org.apache.edgent.runtime.etiao</dt>
+<dd>
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> - package org.apache.edgent.runtime.etiao.graph</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a> - package org.apache.edgent.runtime.etiao.graph.model</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a> - package org.apache.edgent.runtime.etiao.mbeans</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/runtime/jmxcontrol/package-summary.html">org.apache.edgent.runtime.jmxcontrol</a> - package org.apache.edgent.runtime.jmxcontrol</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> - package org.apache.edgent.runtime.jobregistry</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/runtime/jsoncontrol/package-summary.html">org.apache.edgent.runtime.jsoncontrol</a> - package org.apache.edgent.runtime.jsoncontrol</dt>
+<dd>
+<div class="block">Control service that takes a Json message and invokes
+ an operation on a control service MBean.</div>
+</dd>
+<dt><a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> - package org.apache.edgent.streamscope</dt>
+<dd>
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</dd>
+<dt><a href="org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a> - package org.apache.edgent.streamscope.mbeans</dt>
+<dd>
+<div class="block">Stream Oscilloscope <a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>
+ Management Bean interfaces.</div>
+</dd>
+<dt><a href="org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a> - package org.apache.edgent.streamscope.oplets</dt>
+<dd>
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> - package org.apache.edgent.topology</dt>
+<dd>
+<div class="block">Functional api to build a streaming topology.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/json/package-summary.html">org.apache.edgent.topology.json</a> - package org.apache.edgent.topology.json</dt>
+<dd>
+<div class="block">Utilities for use of JSON in a streaming topology.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/mbeans/package-summary.html">org.apache.edgent.topology.mbeans</a> - package org.apache.edgent.topology.mbeans</dt>
+<dd>
+<div class="block">Controls for executing topologies.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a> - package org.apache.edgent.topology.plumbing</dt>
+<dd>
+<div class="block">Plumbing for a streaming topology.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a> - package org.apache.edgent.topology.services</dt>
+<dd>
+<div class="block">Services for topologies.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> - package org.apache.edgent.topology.spi</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/spi/functions/package-summary.html">org.apache.edgent.topology.spi.functions</a> - package org.apache.edgent.topology.spi.functions</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> - package org.apache.edgent.topology.spi.graph</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a> - package org.apache.edgent.topology.spi.tester</dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> - package org.apache.edgent.topology.tester</dt>
+<dd>
+<div class="block">Testing for a streaming topology.</div>
+</dd>
+<dt><a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> - package org.apache.edgent.window</dt>
+<dd>
+<div class="block">Window API.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">OutputPortContext</span></a> - Interface in <a href="org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></dt>
+<dd>
+<div class="block">Information about an oplet output port.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#outsideOf-org.apache.edgent.analytics.sensors.Range-">outsideOf(Range&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Predicate whose <code>test(v)</code> behaves like <code>! range.test(v)</code></div>
+</dd>
+</dl>
+<a name="I:P">
+<!--   -->
+</a>
+<h2 class="title">P</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel(TStream&lt;T&gt;, int, ToIntFunction&lt;T&gt;, BiFunction&lt;TStream&lt;T&gt;, Integer, TStream&lt;R&gt;&gt;)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced(TStream&lt;T&gt;, int, BiFunction&lt;TStream&lt;T&gt;, Integer, TStream&lt;R&gt;&gt;)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallelMap(TStream&lt;T&gt;, int, ToIntFunction&lt;T&gt;, BiFunction&lt;T, Integer, U&gt;)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Perform an analytic function on tuples in parallel.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">ParameterSetter</span></a>&lt;<a href="org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="type parameter in ParameterSetter">T</a>&gt; - Interface in <a href="org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></dt>
+<dd>
+<div class="block">Function that sets parameters in a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-">parseCsv(String)</a></span> - Static method in class org.apache.edgent.connectors.csv.<a href="org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv">Csv</a></dt>
+<dd>
+<div class="block">Parse a CSV string into its fields using comma for the field separator.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-char-">parseCsv(String, char)</a></span> - Static method in class org.apache.edgent.connectors.csv.<a href="org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv">Csv</a></dt>
+<dd>
+<div class="block">Parse a CSV string into its fields using the specified field separator.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#partition--">partition()</a></span> - Method in interface org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Partition</span></a>&lt;<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">T</a>,<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">K</a>,<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">L</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="org/apache/edgent/window/Partition.html" title="type parameter in Partition">T</a>&gt;&gt; - Interface in <a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></dt>
+<dd>
+<div class="block">A partition within a <code>Window</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window"><span class="typeNameLink">PartitionedState</span></a>&lt;<a href="org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">K</a>,<a href="org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a>&gt; - Class in <a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></dt>
+<dd>
+<div class="block">Maintain partitioned state.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/PartitionedState.html#PartitionedState-org.apache.edgent.function.Supplier-">PartitionedState(Supplier&lt;S&gt;)</a></span> - Constructor for class org.apache.edgent.window.<a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">PartitionedState</a></dt>
+<dd>
+<div class="block">Construct with an initial state function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Connector.html#peek-N-">peek(N)</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></dt>
+<dd>
+<div class="block">Inserts a <code>Peek</code> oplet between an output port and its
+ connections.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/CounterOp.html#peek-T-">peek(T)</a></span> - Method in class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/RateMeter.html#peek-T-">peek(T)</a></span> - Method in class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Peek</span></a>&lt;<a href="org/apache/edgent/oplet/core/Peek.html" title="type parameter in Peek">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
+<dd>
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Peek.html#Peek--">Peek()</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Peek.html#peek-T-">peek(T)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Peek</span></a>&lt;<a href="org/apache/edgent/oplet/functional/Peek.html" title="type parameter in Peek">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></dt>
+<dd>
+<div class="block">Functional peek oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Peek.html#Peek-org.apache.edgent.function.Consumer-">Peek(Consumer&lt;T&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a></dt>
+<dd>
+<div class="block">Peek oplet using a function to peek.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Peek.html#peek-T-">peek(T)</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#peek-org.apache.edgent.function.Consumer-">peek(Consumer&lt;T&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#peek-org.apache.edgent.function.Consumer-">peek(Consumer&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Declare a stream that contains the same contents as this stream while
+ peeking at each element using <code>peeker</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Graph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll(Supplier&lt;? extends Peek&lt;?&gt;&gt;, Predicate&lt;Vertex&lt;?, ?, ?&gt;&gt;)</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></dt>
+<dd>
+<div class="block">Insert Peek oplets returned by the specified <code>Supplier</code> into 
+ the outputs of all of the oplets which satisfy the specified 
+ <code>Predicate</code> and where the output's <a href="org/apache/edgent/graph/Connector.html#isConnected--"><code>Connector.isConnected()</code></a>
+ is true.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/AbstractGraph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll(Supplier&lt;? extends Peek&lt;?&gt;&gt;, Predicate&lt;Vertex&lt;?, ?, ?&gt;&gt;)</a></span> - Method in class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#periodicSource-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-long-java.util.concurrent.TimeUnit-">periodicSource(Topology, ProcessBuilder, long, TimeUnit)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
+<dd>
+<div class="block">Create a <code>TStream&lt;String&gt;</code> from a periodically run command's output.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">PeriodicSource</span></a>&lt;<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/PeriodicSource.html#PeriodicSource-long-java.util.concurrent.TimeUnit-">PeriodicSource(long, TimeUnit)</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="typeNameLink">PeriodMXBean</span></a> - Interface in <a href="org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a></dt>
+<dd>
+<div class="block">Control mbean interface for an entity having an a time period control.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Graph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe(Connector&lt;C&gt;, N)</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></dt>
+<dd>
+<div class="block">Create a new connected <a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified <a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/AbstractGraph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe(Connector&lt;C&gt;, N)</a></span> - Method in class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Pipe</span></a>&lt;<a href="org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>,<a href="org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
+<dd>
+<div class="block">Pipe oplet with a single input and output.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Pipe.html#Pipe--">Pipe()</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">pipe(Pipe&lt;T, U&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">pipe(Pipe&lt;T, U&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Declare a stream that contains the output of the specified <a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><code>Pipe</code></a>
+ oplet applied to this stream.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">PlumbingStreams</span></a> - Class in <a href="org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></dt>
+<dd>
+<div class="block">Plumbing utilities for <a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><code>TStream</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#PlumbingStreams--">PlumbingStreams()</a></span> - Constructor for class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Policies</span></a> - Class in <a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></dt>
+<dd>
+<div class="block">Common window policies.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#Policies--">Policies()</a></span> - Constructor for class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/GraphTopology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll(Supplier&lt;T&gt;, long, TimeUnit)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll(Supplier&lt;T&gt;, long, TimeUnit)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
+<dd>
+<div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson(TStream&lt;JsonObject&gt;, Supplier&lt;CloseableHttpClient&gt;, Function&lt;JsonObject, String&gt;, UnaryOperator&lt;JsonObject&gt;)</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">HttpStreams</a></dt>
+<dd>
+<div class="block">Make an HTTP POST request with JsonObject.</div>
+</dd>
+<dt><a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Predicate</span></a>&lt;<a href="org/apache/edgent/function/Predicate.html" title="type parameter in Predicate">T</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
+<dd>
+<div class="block">Predicate function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#PREFIX_JOBID">PREFIX_JOBID</a></span> - Static variable in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
+<dd>
+<div class="block">The prefix of the job id as serialized in the metric name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#PREFIX_OPID">PREFIX_OPID</a></span> - Static variable in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
+<dd>
+<div class="block">The prefix of the oplet id as serialized in the metric name.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">PressureReliever</span></a>&lt;<a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>,<a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">K</a>&gt; - Class in <a href="org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></dt>
+<dd>
+<div class="block">Relieve pressure on upstream oplets by discarding tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/PressureReliever.html#PressureReliever-int-org.apache.edgent.function.Function-">PressureReliever(int, Function&lt;T, K&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a></dt>
+<dd>
+<div class="block">Pressure reliever that maintains up to <code>count</code> most recent tuples per key.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#pressureReliever-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-int-">pressureReliever(TStream&lt;T&gt;, Function&lt;T, K&gt;, int)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">Relieve pressure on upstream processing by discarding tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTStream.html#print--">print()</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a></dt>
+<dd>
+<div class="block">Utility method to print the contents of this stream to <code>System.out</code>
+ at runtime.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#print--">print()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Utility method to print the contents of this stream
+ to <code>System.out</code> at runtime.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/ProcessSource.html#process--">process()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/SupplierSource.html#process--">process()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Partition.html#process--">process()</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a></dt>
+<dd>
+<div class="block">Invoke the WindowProcessor's processWindow method.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#processOnInsert--">processOnInsert()</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>
+<div class="block">Returns a trigger policy that triggers
+ processing on every insert.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">ProcessSource</span></a>&lt;<a href="org/apache/edgent/oplet/core/ProcessSource.html" title="type parameter in ProcessSource">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/ProcessSource.html#ProcessSource--">ProcessSource()</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#processWhenFullAndEvict-int-">processWhenFullAndEvict(int)</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>
+<div class="block">Returns a trigger policy that triggers when the size of a partition
+ equals or exceeds a value, and then evicts its contents.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">ProviderPubSub</span></a> - Class in <a href="org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a></dt>
+<dd>
+<div class="block">Publish subscribe service allowing exchange of streams between jobs in a provider.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#ProviderPubSub--">ProviderPubSub()</a></span> - Constructor for class org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">ProviderPubSub</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish(TStream&lt;T&gt;, Function&lt;T, String&gt;, Function&lt;T, String&gt;, Function&lt;T, String&gt;, Function&lt;T, Integer&gt;)</a></span> - Method in class org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka">KafkaProducer</a></dt>
+<dd>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-java.lang.String-">publish(TStream&lt;String&gt;, String)</a></span> - Method in class org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka">KafkaProducer</a></dt>
+<dd>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish(TStream&lt;T&gt;, Function&lt;T, String&gt;, Function&lt;T, byte[]&gt;, Function&lt;T, Integer&gt;, Function&lt;T, Boolean&gt;)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">MqttStreams</a></dt>
+<dd>
+<div class="block">Publish a stream's tuples as MQTT messages.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-">publish(TStream&lt;String&gt;, String, int, boolean)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">MqttStreams</a></dt>
+<dd>
+<div class="block">Publish a <code>TStream&lt;String&gt;</code> stream's tuples as MQTT messages.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets"><span class="typeNameLink">Publish</span></a>&lt;<a href="org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>&gt; - Class in <a href="org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a></dt>
+<dd>
+<div class="block">Publish a stream to a PublishSubscribeService service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/oplets/Publish.html#Publish-java.lang.String-java.lang.Class-">Publish(String, Class&lt;? super T&gt;)</a></span> - Constructor for class org.apache.edgent.connectors.pubsub.oplets.<a href="org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Publish</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-">publish(TStream&lt;T&gt;, String, Class&lt;? super T&gt;)</a></span> - Static method in class org.apache.edgent.connectors.pubsub.<a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">PublishSubscribe</a></dt>
+<dd>
+<div class="block">Publish this stream to a topic.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes(TStream&lt;T&gt;, Function&lt;T, byte[]&gt;, Function&lt;T, byte[]&gt;, Function&lt;T, String&gt;, Function&lt;T, Integer&gt;)</a></span> - Method in class org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka">KafkaProducer</a></dt>
+<dd>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified topic partitions.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub"><span class="typeNameLink">PublishSubscribe</span></a> - Class in <a href="org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a></dt>
+<dd>
+<div class="block">Publish subscribe model.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html#PublishSubscribe--">PublishSubscribe()</a></span> - Constructor for class org.apache.edgent.connectors.pubsub.<a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">PublishSubscribe</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">PublishSubscribeService</span></a> - Interface in <a href="org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a></dt>
+<dd>
+<div class="block">Publish subscribe service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson(TStream&lt;JsonObject&gt;, Supplier&lt;CloseableHttpClient&gt;, Function&lt;JsonObject, String&gt;, UnaryOperator&lt;JsonObject&gt;)</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">HttpStreams</a></dt>
+<dd>
+<div class="block">Make an HTTP PUT request with JsonObject.</div>
+</dd>
+</dl>
+<a name="I:Q">
+<!--   -->
+</a>
+<h2 class="title">Q</h2>
+<dl>
+<dt><a href="org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">QoS</span></a> - Interface in <a href="org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></dt>
+<dd>
+<div class="block">Device event quality of service levels.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#quickstart-org.apache.edgent.topology.Topology-java.lang.String-">quickstart(Topology, String)</a></span> - Static method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>
+<div class="block">Create an <code>IotpDevice</code> connector to the Quickstart service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#QUICKSTART_DEVICE_TYPE">QUICKSTART_DEVICE_TYPE</a></span> - Static variable in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>
+<div class="block">Device type identifier ("iotsamples-edgent") used when using the Quickstart service.</div>
+</dd>
+</dl>
+<a name="I:R">
+<!--   -->
+</a>
+<h2 class="title">R</h2>
+<dl>
+<dt><a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range</span></a>&lt;<a href="org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt; - Class in <a href="org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></dt>
+<dd>
+<div class="block">A generic immutable range of values and a way to 
+ check a value for containment in the range.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#range-T-org.apache.edgent.analytics.sensors.Range.BoundType-T-org.apache.edgent.analytics.sensors.Range.BoundType-">range(T, Range.BoundType, T, Range.BoundType)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Create a new Range&lt;T&gt;</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range.BoundType</span></a> - Enum in <a href="org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></dt>
+<dd>
+<div class="block">Exclude or include an endpoint value in the range.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Ranges</span></a> - Class in <a href="org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></dt>
+<dd>
+<div class="block">Convenience functions and utility operations on <a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><code>Range</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#Ranges--">Ranges()</a></span> - Constructor for class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/Metrics.html#rateMeter-org.apache.edgent.topology.TStream-">rateMeter(TStream&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics">Metrics</a></dt>
+<dd>
+<div class="block">Measure current tuple throughput and calculate one-, five-, and
+ fifteen-minute exponentially-weighted moving averages.</div>
+</dd>
+<dt><a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">RateMeter</span></a>&lt;<a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="type parameter in RateMeter">T</a>&gt; - Class in <a href="org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></dt>
+<dd>
+<div class="block">A metrics oplet which measures current tuple throughput and one-, five-, 
+ and fifteen-minute exponentially-weighted moving averages.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/RateMeter.html#RateMeter--">RateMeter()</a></span> - Constructor for class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#receive--">receive()</a></span> - Method in class org.apache.edgent.connectors.wsclient.javax.websocket.<a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></dt>
+<dd>
+<div class="block">Create a stream of JsonObject tuples from received JSON WebSocket text messages.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html#receive--">receive()</a></span> - Method in interface org.apache.edgent.connectors.wsclient.<a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></dt>
+<dd>
+<div class="block">Create a stream of JsonObject tuples from received JSON WebSocket text messages.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#receiveBytes--">receiveBytes()</a></span> - Method in class org.apache.edgent.connectors.wsclient.javax.websocket.<a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></dt>
+<dd>
+<div class="block">Create a stream of byte[] tuples from received WebSocket binary messages.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html#receiveBytes--">receiveBytes()</a></span> - Method in interface org.apache.edgent.connectors.wsclient.<a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></dt>
+<dd>
+<div class="block">Create a stream of byte[] tuples from received WebSocket binary messages.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Barrier.html#receiver--">receiver()</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#receiveString--">receiveString()</a></span> - Method in class org.apache.edgent.connectors.wsclient.javax.websocket.<a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></dt>
+<dd>
+<div class="block">Create a stream of String tuples from received WebSocket text messages.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html#receiveString--">receiveString()</a></span> - Method in interface org.apache.edgent.connectors.wsclient.<a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></dt>
+<dd>
+<div class="block">Create a stream of String tuples from received WebSocket text messages.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#register-java.lang.String-org.apache.edgent.streamscope.StreamScope-">register(String, StreamScope&lt;?&gt;)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>
+<div class="block">Register a StreamScope by <code>name</code></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeSetup.html#register-org.apache.edgent.execution.services.ServiceContainer-">register(ServiceContainer)</a></span> - Static method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope">StreamScopeSetup</a></dt>
+<dd>
+<div class="block">Perform the registrations needed to use the streamscope package.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#registerApplicationService--">registerApplicationService()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl(String, String, String, Class&lt;T&gt;, T)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></dt>
+<dd>
+<div class="block">Register a control MBean.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#registerControl-org.apache.edgent.execution.services.ControlService-org.apache.edgent.runtime.etiao.EtiaoJob-">registerControl(ControlService, EtiaoJob)</a></span> - Static method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
+<dd>
+<div class="block">Factory method which creates an <code>EtiaoJobBean</code> instance to
+ control the specified <code>EtiaoJob</code> and registers it with the 
+ specified <code>ControlService</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl(String, String, String, Class&lt;T&gt;, T)</a></span> - Method in class org.apache.edgent.runtime.jmxcontrol.<a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></dt>
+<dd>
+<div class="block">Register a control object as an MBean.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl(String, String, String, Class&lt;T&gt;, T)</a></span> - Method in class org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></dt>
+<dd>
+<div class="block">Register a control MBean.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#registerControlService--">registerControlService()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/appservice/AppService.html#registerJar-java.lang.String-java.lang.String-">registerJar(String, String)</a></span> - Method in class org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></dt>
+<dd>
+<div class="block">Create a new class loader for the jar and register any
+ topology application that is registered as a service provider.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/appservice/AppServiceControl.html#registerJar-java.lang.String-java.lang.String-">registerJar(String, String)</a></span> - Method in class org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice">AppServiceControl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-">registerJar(String, String)</a></span> - Method in interface org.apache.edgent.topology.mbeans.<a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></dt>
+<dd>
+<div class="block">Register a jar file containing applications with
+ the application service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-">registerJar(String, String)</a></span> - Method in interface org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></dt>
+<dd>
+<div class="block">Register a jar file containing new applications.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#registerPartitionProcessor-org.apache.edgent.function.BiConsumer-">registerPartitionProcessor(BiConsumer&lt;List&lt;T&gt;, K&gt;)</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
+<dd>
+<div class="block">Register a WindowProcessor.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#registerPreferencesService--">registerPreferencesService()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#registerPublishSubscribeService--">registerPublishSubscribeService()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Window.html#registerScheduledExecutorService-java.util.concurrent.ScheduledExecutorService-">registerScheduledExecutorService(ScheduledExecutorService)</a></span> - Method in interface org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></dt>
+<dd>
+<div class="block">Register a ScheduledExecutorService.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology(String, BiConsumer&lt;IotDevice, JsonObject&gt;)</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Register an application that uses an <code>IotDevice</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-">registerTopology(String, BiConsumer&lt;IotDevice, JsonObject&gt;, boolean, JsonObject)</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Register an application that uses an <code>IotDevice</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/appservice/AppService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology(String, BiConsumer&lt;Topology, JsonObject&gt;)</a></span> - Method in class org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology(String, BiConsumer&lt;Topology, JsonObject&gt;)</a></span> - Method in interface org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></dt>
+<dd>
+<div class="block">Add a topology that can be started though a control mbean.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricsSetup.html#registerWith-javax.management.MBeanServer-">registerWith(MBeanServer)</a></span> - Method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></dt>
+<dd>
+<div class="block">Use the specified <code>MBeanServer</code> with this metric setup.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression</span></a> - Enum in <a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></dt>
+<dd>
+<div class="block">Univariate regression aggregates.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression2</span></a> - Enum in <a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></dt>
+<dd>
+<div class="block">Univariate regression aggregates.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/JobRegistryService.html#removeJob-java.lang.String-">removeJob(String)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></dt>
+<dd>
+<div class="block">Removes the job specified by the given identifier.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html#removeJob-java.lang.String-">removeJob(String)</a></span> - Method in class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/JobRegistryService.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener(BiConsumer&lt;JobRegistryService.EventType, Job&gt;)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></dt>
+<dd>
+<div class="block">Removes a handler from this registry's collection of listeners.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener(BiConsumer&lt;JobRegistryService.EventType, Job&gt;)</a></span> - Method in class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ServiceContainer.html#removeService-java.lang.Class-">removeService(Class&lt;T&gt;)</a></span> - Method in class org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></dt>
+<dd>
+<div class="block">Removes the specified service from this <code>ServiceContainer</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/PartitionedState.html#removeState-K-">removeState(K)</a></span> - Method in class org.apache.edgent.window.<a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">PartitionedState</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber(String, Consumer&lt;?&gt;)</a></span> - Method in class org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">ProviderPubSub</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber(String, Consumer&lt;?&gt;)</a></span> - Method in interface org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests(TStream&lt;T&gt;, Supplier&lt;CloseableHttpClient&gt;, Function&lt;T, String&gt;, Function&lt;T, String&gt;, BiFunction&lt;T, CloseableHttpResponse, R&gt;)</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">HttpStreams</a></dt>
+<dd>
+<div class="block">Make an HTTP request for each tuple on a stream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody(TStream&lt;T&gt;, Supplier&lt;CloseableHttpClient&gt;, Function&lt;T, String&gt;, Function&lt;T, String&gt;, Function&lt;T, HttpEntity&gt;, BiFunction&lt;T, CloseableHttpResponse, R&gt;)</a></span> - Static method in class org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">HttpStreams</a></dt>
+<dd>
+<div class="block">Make an HTTP request with body for each tuple.<br></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX">RESERVED_ID_PREFIX</a></span> - Static variable in interface org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></dt>
+<dd>
+<div class="block">Device event and command identifiers starting with "edgent" are reserved for use by Edgent.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html#RESERVED_TOPIC_PREFIX">RESERVED_TOPIC_PREFIX</a></span> - Static variable in class org.apache.edgent.connectors.pubsub.<a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">PublishSubscribe</a></dt>
+<dd>
+<div class="block">Topics that start with "edgent/" are reserved for use by Edgent.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#result-com.google.gson.JsonElement-com.google.gson.JsonObject-">result(JsonElement, JsonObject)</a></span> - Method in interface org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></dt>
+<dd>
+<div class="block">Place the result of the aggregation into the <code>result</code>
+ object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#result-com.google.gson.JsonElement-com.google.gson.JsonObject-">result(JsonElement, JsonObject)</a></span> - Method in class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">ResultMap</span></a> - Class in <a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></dt>
+<dd>
+<div class="block">Aggregation results for a single aggregated variable.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/ResultMap.html#ResultMap--">ResultMap()</a></span> - Constructor for class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></dt>
+<dd>
+<div class="block">Create a new ResultMap.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">ResultsHandler</span></a>&lt;<a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">T</a>,<a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">R</a>&gt; - Interface in <a href="org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></dt>
+<dd>
+<div class="block">Handle the results of executing an SQL statement.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html#roundRobinSplitter-int-">roundRobinSplitter(int)</a></span> - Static method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></dt>
+<dd>
+<div class="block">A round-robin splitter ToIntFunction</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/PeriodicSource.html#run--">run()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/ProcessSource.html#run--">run()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">RuntimeServices</span></a> - Interface in <a href="org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></dt>
+<dd>
+<div class="block">At runtime a container provides services to
+ executing elements such as oplets and functions.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#runWithFinal-java.lang.Runnable-java.lang.Runnable-">runWithFinal(Runnable, Runnable)</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">Wrap a <code>Runnable</code> with a final action that
+ is always called when <code>action.run()</code> completes.</div>
+</dd>
+</dl>
+<a name="I:S">
+<!--   -->
+</a>
+<h2 class="title">S</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#scheduleEvictIfEmpty-long-java.util.concurrent.TimeUnit-">scheduleEvictIfEmpty(long, TimeUnit)</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>
+<div class="block">A policy which schedules a future partition eviction if the partition is empty.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Policies.html#scheduleEvictOnFirstInsert-long-java.util.concurrent.TimeUnit-">scheduleEvictOnFirstInsert(long, TimeUnit)</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></dt>
+<dd>
+<div class="block">A policy which schedules a future partition eviction on the first insert.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#send-org.apache.edgent.topology.TStream-">send(TStream&lt;JsonObject&gt;)</a></span> - Method in class org.apache.edgent.connectors.wsclient.javax.websocket.<a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></dt>
+<dd>
+<div class="block">Send a stream's JsonObject tuples as JSON in a WebSocket text message.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html#send-org.apache.edgent.topology.TStream-">send(TStream&lt;JsonObject&gt;)</a></span> - Method in interface org.apache.edgent.connectors.wsclient.<a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></dt>
+<dd>
+<div class="block">Send a stream's JsonObject tuples as JSON in a WebSocket text message.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendBytes-org.apache.edgent.topology.TStream-">sendBytes(TStream&lt;byte[]&gt;)</a></span> - Method in class org.apache.edgent.connectors.wsclient.javax.websocket.<a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></dt>
+<dd>
+<div class="block">Send a stream's byte[] tuples in a WebSocket binary message.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendBytes-org.apache.edgent.topology.TStream-">sendBytes(TStream&lt;byte[]&gt;)</a></span> - Method in interface org.apache.edgent.connectors.wsclient.<a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></dt>
+<dd>
+<div class="block">Send a stream's byte[] tuples in a WebSocket binary message.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString(TStream&lt;String&gt;)</a></span> - Method in class org.apache.edgent.connectors.wsclient.javax.websocket.<a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></dt>
+<dd>
+<div class="block">Send a stream's String tuples in a WebSocket text message.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString(TStream&lt;String&gt;)</a></span> - Method in interface org.apache.edgent.connectors.wsclient.<a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></dt>
+<dd>
+<div class="block">Send a stream's String tuples in a WebSocket text message.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">SerialDevice</span></a> - Interface in <a href="org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></dt>
+<dd>
+<div class="block">Access to a device (or devices) connected by a serial port.</div>
+</dd>
+<dt><a href="org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">SerialPort</span></a> - Interface in <a href="org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></dt>
+<dd>
+<div class="block">Serial port runtime access.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">ServiceContainer</span></a> - Class in <a href="org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></dt>
+<dd>
+<div class="block">Provides a container for services.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ServiceContainer.html#ServiceContainer--">ServiceContainer()</a></span> - Constructor for class org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setActionTimeToWaitMillis-long-">setActionTimeToWaitMillis(long)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Maximum time to wait for an action (e.g., publish message) to complete.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setCaptureByCount-int-">setCaptureByCount(int)</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dt>
+<dd>
+<div class="block">Capture the first and every nth tuple</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setCaptureByCount-int-">setCaptureByCount(int)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></dt>
+<dd>
+<div class="block">Capture the first and every nth tuple</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#setCaptureByCount-int-">setCaptureByCount(int)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setCaptureByPredicate-org.apache.edgent.function.Predicate-">setCaptureByPredicate(Predicate&lt;T&gt;)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></dt>
+<dd>
+<div class="block">Capture a tuple if the <code>predicate</code> test of the tuple returns true.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">setCaptureByTime(long, TimeUnit)</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dt>
+<dd>
+<div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
+ <code>unit</code> time has elapsed since the previous captured tuple.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">setCaptureByTime(long, TimeUnit)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></dt>
+<dd>
+<div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
+ <code>unit</code> time has elapsed since the previous captured tuple.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">setCaptureByTime(long, TimeUnit)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setCleanSession-boolean-">setCleanSession(boolean)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Clean Session.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setClientId-java.lang.String-">setClientId(String)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Connection Client Id.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setConnectionTimeout-int-">setConnectionTimeout(int)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Connection timeout.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#setContext-int-org.apache.edgent.oplet.OutputPortContext-">setContext(int, OutputPortContext)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">Set the specified output port's context.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/SettableForwarder.html#setDestination-org.apache.edgent.function.Consumer-">setDestination(Consumer&lt;T&gt;)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">SettableForwarder</a></dt>
+<dd>
+<div class="block">Change the destination.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setEnabled-boolean-">setEnabled(boolean)</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dt>
+<dd>
+<div class="block">Enable or disable tuple capture.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.html#setEnabled-boolean-">setEnabled(boolean)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></dt>
+<dd>
+<div class="block">Enable or disable tuple capture.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#setEnabled-boolean-">setEnabled(boolean)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#setExternalCallbackHandler-com.ibm.iotf.client.gateway.GatewayCallback-">setExternalCallbackHandler(GatewayCallback)</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>
+<div class="block">Set an external WIoTP <code>GatewayCallback</code> handler.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setHealth-org.apache.edgent.execution.Job.Health-">setHealth(Job.Health)</a></span> - Method in class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setIdleTimeout-int-">setIdleTimeout(int)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Idle connection timeout.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/serial/SerialDevice.html#setInitializer-org.apache.edgent.function.Consumer-">setInitializer(Consumer&lt;SerialPort&gt;)</a></span> - Method in interface org.apache.edgent.connectors.serial.<a href="org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a></dt>
+<dd>
+<div class="block">Set the initialization function for this port.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setKeepAliveInterval-int-">setKeepAliveInterval(int)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Connection Keep alive.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setKeyStore-java.lang.String-">setKeyStore(String)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Set the SSL key store path.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setKeyStorePassword-char:A-">setKeyStorePassword(char[])</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Set the SSL key store password.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setLastError-java.lang.String-">setLastError(String)</a></span> - Method in class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setMaxRetentionCount-int-">setMaxRetentionCount(int)</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dt>
+<dd>
+<div class="block">Set the maximum number of tuples to retain.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html#setMaxRetentionCount-int-">setMaxRetentionCount(int)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a></dt>
+<dd>
+<div class="block">Set the maximum number of tuples to retain.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#setMaxRetentionCount-int-">setMaxRetentionCount(int)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">setMaxRetentionTime(long, TimeUnit)</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dt>
+<dd>
+<div class="block">Set the maximum retention time of a tuple.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">setMaxRetentionTime(long, TimeUnit)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a></dt>
+<dd>
+<div class="block">Set the maximum retention time of a tuple.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">setMaxRetentionTime(long, TimeUnit)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setNextState-org.apache.edgent.execution.Job.State-">setNextState(Job.State)</a></span> - Method in class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/Valve.html#setOpen-boolean-">setOpen(boolean)</a></span> - Method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a></dt>
+<dd>
+<div class="block">Set the valve state</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/jdbc/ParameterSetter.html#setParameters-T-java.sql.PreparedStatement-">setParameters(T, PreparedStatement)</a></span> - Method in interface org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a></dt>
+<dd>
+<div class="block">Set 0 or more parameters in a JDBC PreparedStatement.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setPassword-char:A-">setPassword(char[])</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Set the password to use for authentication with the server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setPaused-boolean-">setPaused(boolean)</a></span> - Method in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dt>
+<dd>
+<div class="block">Set capture paused control</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setPaused-boolean-">setPaused(boolean)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></dt>
+<dd>
+<div class="block">Set capture paused control</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#setPaused-boolean-">setPaused(boolean)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setPauseOn-org.apache.edgent.function.Predicate-">setPauseOn(Predicate&lt;T&gt;)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></dt>
+<dd>
+<div class="block">Set a pause-on predicate.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Deadtime.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod(long, TimeUnit)</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a></dt>
+<dd>
+<div class="block">Set the deadtime period</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-">setPeriod(long)</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></dt>
+<dd>
+<div class="block">Set the period.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod(long, TimeUnit)</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></dt>
+<dd>
+<div class="block">Set the period and unit</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/PeriodicSource.html#setPeriod-long-">setPeriod(long)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/PeriodicSource.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod(long, TimeUnit)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setPersistence-org.eclipse.paho.client.mqttv3.MqttClientPersistence-">setPersistence(MqttClientPersistence)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">QoS 1 and 2 in-flight message persistence.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#setReceiver-org.apache.edgent.function.BiFunction-">setReceiver(BiFunction&lt;T, Integer, U&gt;)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
+<dd>
+<div class="block">Set the receiver function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setServerURLs-java.lang.String:A-">setServerURLs(String[])</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">MQTT Server URLs</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Sink.html#setSinker-org.apache.edgent.function.Consumer-">setSinker(Consumer&lt;T&gt;)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></dt>
+<dd>
+<div class="block">Set the sink function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/PartitionedState.html#setState-K-S-">setState(K, S)</a></span> - Method in class org.apache.edgent.window.<a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">PartitionedState</a></dt>
+<dd>
+<div class="block">Set the current state for <code>key</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setSubscriberIdleReconnectInterval-int-">setSubscriberIdleReconnectInterval(int)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Subscriber idle reconnect interval.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">SettableForwarder</span></a>&lt;<a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&gt; - Class in <a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></dt>
+<dd>
+<div class="block">A forwarding Streamer whose destination
+ can be changed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/SettableForwarder.html#SettableForwarder--">SettableForwarder()</a></span> - Constructor for class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">SettableForwarder</a></dt>
+<dd>
+<div class="block">Create with the destination set to <a href="org/apache/edgent/function/Functions.html#discard--"><code>Functions.discard()</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/SettableForwarder.html#SettableForwarder-org.apache.edgent.function.Consumer-">SettableForwarder(Consumer&lt;T&gt;)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">SettableForwarder</a></dt>
+<dd>
+<div class="block">Create with the specified destination.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#setTarget-int-org.apache.edgent.function.Consumer-">setTarget(int, Consumer&lt;O&gt;)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">Disconnects the specified port and reconnects it to the specified target.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setTrustStore-java.lang.String-">setTrustStore(String)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Set the SSL trust store path.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setTrustStorePassword-char:A-">setTrustStorePassword(char[])</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Set the SSL trust store password.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setUserName-java.lang.String-">setUserName(String)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Set the username to use for authentication with the server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttConfig.html#setWill-java.lang.String-byte:A-int-boolean-">setWill(String, byte[], int, boolean)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></dt>
+<dd>
+<div class="block">Last Will and Testament.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#shouldCycle--">shouldCycle()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#shouldFlush--">shouldFlush()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html#shutdown--">shutdown()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">ThreadFactoryTracker</a></dt>
+<dd>
+<div class="block">This initiates an orderly shutdown in which no new tasks will be 
+ accepted but previously submitted tasks continue to be executed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html#shutdownNow--">shutdownNow()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">ThreadFactoryTracker</a></dt>
+<dd>
+<div class="block">Interrupts all user treads and briefly waits for each thread to finish
+ execution.</div>
+</dd>
+<dt><a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">SingleMetricAbstractOplet</span></a>&lt;<a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>&gt; - Class in <a href="org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></dt>
+<dd>
+<div class="block">Base for metrics oplets which use a single metric object.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#SingleMetricAbstractOplet-java.lang.String-">SingleMetricAbstractOplet(String)</a></span> - Constructor for class org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#singleton-T-">singleton(T)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range [endpoint..endpoint] (both inclusive/CLOSED)</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-">sink(TStream&lt;String&gt;, ProcessBuilder)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
+<dd>
+<div class="block">Sink a <code>TStream&lt;String&gt;</code> to a command's input.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Sink</span></a>&lt;<a href="org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
+<dd>
+<div class="block">Sink a stream by processing each tuple through
+ a <a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><code>Consumer</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Sink.html#Sink--">Sink()</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></dt>
+<dd>
+<div class="block">Create a  <code>Sink</code> that discards all tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Sink.html#Sink-org.apache.edgent.function.Consumer-">Sink(Consumer&lt;T&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></dt>
+<dd>
+<div class="block">Create a <code>Sink</code> oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTStream.html#sink-org.apache.edgent.function.Consumer-">sink(Consumer&lt;T&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#sink-org.apache.edgent.oplet.core.Sink-">sink(Sink&lt;T&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-">sink(Consumer&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Sink (terminate) this stream using a function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.oplet.core.Sink-">sink(Sink&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Sink (terminate) this stream using a oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/InsertionTimeList.html#size--">size()</a></span> - Method in class org.apache.edgent.window.<a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Graph.html#source-N-">source(N)</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></dt>
+<dd>
+<div class="block">Create a new unconnected <a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified source <a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/AbstractGraph.html#source-N-">source(N)</a></span> - Method in class org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Source</span></a>&lt;<a href="org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Source.html#Source--">Source()</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobEvents.html#source-org.apache.edgent.topology.Topology-org.apache.edgent.function.BiFunction-">source(Topology, BiFunction&lt;JobRegistryService.EventType, Job, T&gt;)</a></span> - Static method in class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry">JobEvents</a></dt>
+<dd>
+<div class="block">Declares a stream populated by <a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a> events.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/GraphTopology.html#source-org.apache.edgent.function.Supplier-">source(Supplier&lt;Iterable&lt;T&gt;&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">source(Supplier&lt;Iterable&lt;T&gt;&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
+<dd>
+<div class="block">Declare a new source stream that iterates over the return of
+ <code>Iterable&lt;T&gt; get()</code> from <code>data</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/GraphTopology.html#sourceStream-N-">sourceStream(N)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Split</span></a>&lt;<a href="org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
+<dd>
+<div class="block">Split a stream into multiple streams depending
+ on the result of a splitter function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Split.html#Split-org.apache.edgent.function.ToIntFunction-">Split(ToIntFunction&lt;T&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split(int, ToIntFunction&lt;T&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split(Class&lt;E&gt;, Function&lt;T, E&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split(int, ToIntFunction&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Split a stream's tuples among <code>n</code> streams as specified by
+ <code>splitter</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split(Class&lt;E&gt;, Function&lt;T, E&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
+ <code>splitter</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanOut.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/PeriodicSource.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Pipe.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/ProcessSource.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Sink.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Split.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Union.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/Events.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/Oplet.html#start--">start()</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></dt>
+<dd>
+<div class="block">Start the oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Barrier.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/Isolate.html#start--">start()</a></span> - Method in class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#start--">start()</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Start this provider by starting its system applications 
+ and any autoSubmit-enabled registered applications.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Executable.html#start--">start()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></dt>
+<dd>
+<div class="block">Starts all the invocations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#start--">start()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">Start the oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricsSetup.html#startConsoleReporter--">startConsoleReporter()</a></span> - Method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></dt>
+<dd>
+<div class="block">Starts the metric <code>ConsoleReporter</code> polling every second.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricsSetup.html#startCSVReporter-java.lang.String-">startCSVReporter(String)</a></span> - Method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></dt>
+<dd>
+<div class="block">Starts the metric <code>CsvReporter</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricsSetup.html#startJMXReporter-java.lang.String-">startJMXReporter(String)</a></span> - Method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></dt>
+<dd>
+<div class="block">Starts the metric <code>JMXReporter</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange(Job.Action)</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dt>
+<dd>
+<div class="block">Initiates an execution state change.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/JobMXBean.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange(Job.Action)</a></span> - Method in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></dt>
+<dd>
+<div class="block">Initiates an execution state change.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange(Job.Action)</a></span> - Method in class org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/EtiaoJob.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange(Job.Action)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange(Job.Action)</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">StatementSupplier</span></a> - Interface in <a href="org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></dt>
+<dd>
+<div class="block">Function that supplies a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic</span></a> - Enum in <a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></dt>
+<dd>
+<div class="block">Statistic implementations.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic2</span></a> - Enum in <a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></dt>
+<dd>
+<div class="block">Statistic implementations.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">StorelessStatistic</span></a> - Class in <a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></dt>
+<dd>
+<div class="block">Univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#StorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic2-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">StorelessStatistic(Statistic2, StorelessUnivariateStatistic)</a></span> - Constructor for class org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#streamAliasFromName-java.lang.String-">streamAliasFromName(String)</a></span> - Static method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>
+<div class="block">Extract the stream alias from a name</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/tester/Tester.html#streamContents-org.apache.edgent.topology.TStream-T...-">streamContents(TStream&lt;T&gt;, T...)</a></span> - Method in interface org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></dt>
+<dd>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted
+ tuples matching <code>values</code> in the same order.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#streamIdFromName-java.lang.String-">streamIdFromName(String)</a></span> - Static method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>
+<div class="block">Extract the streamId from the name.</div>
+</dd>
+<dt><a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets"><span class="typeNameLink">StreamScope</span></a>&lt;<a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>&gt; - Class in <a href="org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></dt>
+<dd>
+<div class="block">A Stream "oscilloscope" oplet.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/oplets/StreamScope.html#StreamScope-org.apache.edgent.function.Consumer-">StreamScope(Consumer&lt;T&gt;)</a></span> - Constructor for class org.apache.edgent.streamscope.oplets.<a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a></dt>
+<dd>
+<div class="block">Create a new instance.</div>
+</dd>
+<dt><a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope</span></a>&lt;<a href="org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt; - Class in <a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></dt>
+<dd>
+<div class="block">A Stream "oscilloscope" for capturing stream tuples for analysis / debug.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.html#StreamScope--">StreamScope()</a></span> - Constructor for class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></dt>
+<dd>
+<div class="block">Create a new instance.</div>
+</dd>
+<dt><a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.BufferManager</span></a>&lt;<a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="type parameter in StreamScope.BufferManager">T</a>&gt; - Class in <a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></dt>
+<dd>
+<div class="block">Control the retention of captured tuples.</div>
+</dd>
+<dt><a href="org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.Sample</span></a>&lt;<a href="org/apache/edgent/streamscope/StreamScope.Sample.html" title="type parameter in StreamScope.Sample">T</a>&gt; - Class in <a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></dt>
+<dd>
+<div class="block">A captured tuple.</div>
+</dd>
+<dt><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.TriggerManager</span></a>&lt;<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="type parameter in StreamScope.TriggerManager">T</a>&gt; - Class in <a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></dt>
+<dd>
+<div class="block">Control what triggers capturing of tuples.</div>
+</dd>
+<dt><a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeBean</span></a> - Class in <a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></dt>
+<dd>
+<div class="block">Implementation of <a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeBean.html#StreamScopeBean-org.apache.edgent.streamscope.StreamScope-">StreamScopeBean(StreamScope&lt;?&gt;)</a></span> - Constructor for class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="typeNameLink">StreamScopeMXBean</span></a> - Interface in <a href="org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a></dt>
+<dd>
+<div class="block">A Stream "oscilloscope" for capturing stream tuples for analysis / debug.</div>
+</dd>
+<dt><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeRegistry</span></a> - Class in <a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></dt>
+<dd>
+<div class="block">A registry for Stream "oscilloscope" <a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><code>StreamScope</code></a> instances.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#StreamScopeRegistry--">StreamScopeRegistry()</a></span> - Constructor for class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeRegistryBean</span></a> - Class in <a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></dt>
+<dd>
+<div class="block">An implementation of <a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeRegistryMXBean</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistryBean.html#StreamScopeRegistryBean-org.apache.edgent.streamscope.StreamScopeRegistry-org.apache.edgent.execution.services.ControlService-">StreamScopeRegistryBean(StreamScopeRegistry, ControlService)</a></span> - Constructor for class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistryBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="typeNameLink">StreamScopeRegistryMXBean</span></a> - Interface in <a href="org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a></dt>
+<dd>
+<div class="block">A registry for <a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> instances.</div>
+</dd>
+<dt><a href="org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeSetup</span></a> - Class in <a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></dt>
+<dd>
+<div class="block">Utility helpers for StreamScope setup and management.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#strings-java.lang.String...-">strings(String...)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/Topology.html#strings-java.lang.String...-">strings(String...)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></dt>
+<dd>
+<div class="block">Declare a stream of strings.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html#submit--">submit()</a></span> - Method in class org.apache.edgent.apps.runtime.<a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">JobMonitorApp</a></dt>
+<dd>
+<div class="block">Submits the application topology.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Submitter.html#submit-E-">submit(E)</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a></dt>
+<dd>
+<div class="block">Submit an executable.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">submit(E, JsonObject)</a></span> - Method in interface org.apache.edgent.execution.<a href="org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a></dt>
+<dd>
+<div class="block">Submit an executable.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/FanIn.html#submit-U-">submit(U)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></dt>
+<dd>
+<div class="block">Submit a tuple to single output.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit(O)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></dt>
+<dd>
+<div class="block">Submit a tuple to single output.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Source.html#submit-T-">submit(T)</a></span> - Method in class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></dt>
+<dd>
+<div class="block">Submit a tuple to single output.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/development/DevelopmentProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit(Topology, JsonObject)</a></span> - Method in class org.apache.edgent.providers.development.<a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-">submit(Topology)</a></span> - Method in class org.apache.edgent.providers.direct.<a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit(Topology, JsonObject)</a></span> - Method in class org.apache.edgent.providers.direct.<a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-">submit(Topology)</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Submit an executable.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit(Topology, JsonObject)</a></span> - Method in class org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dt>
+<dd>
+<div class="block">Submit an executable.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/appservice/AppServiceControl.html#submit-java.lang.String-java.lang.String-">submit(String, String)</a></span> - Method in class org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice">AppServiceControl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-">submit(String, String)</a></span> - Method in interface org.apache.edgent.topology.mbeans.<a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></dt>
+<dd>
+<div class="block">Submit an application registered with the application service.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/apps/runtime/JobMonitorApp.html#submitApplication-java.lang.String-org.apache.edgent.execution.services.ControlService-">submitApplication(String, ControlService)</a></span> - Static method in class org.apache.edgent.apps.runtime.<a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">JobMonitorApp</a></dt>
+<dd>
+<div class="block">Submits an application using an <code>ApplicationServiceMXBean</code> control 
+ registered with the specified <code>ControlService</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Submitter</span></a>&lt;<a href="org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">E</a>,<a href="org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a> extends <a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt; - Interface in <a href="org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></dt>
+<dd>
+<div class="block">An interface for submission of an executable.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribe-org.apache.edgent.function.Function-java.lang.String...-">subscribe(Function&lt;KafkaConsumer.StringConsumerRecord, T&gt;, String...)</a></span> - Method in class org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">KafkaConsumer</a></dt>
+<dd>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-org.apache.edgent.function.BiFunction-">subscribe(String, int, BiFunction&lt;String, byte[], T&gt;)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">MqttStreams</a></dt>
+<dd>
+<div class="block">Subscribe to the MQTT topic(s) and create a stream of tuples of type <code>T</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-">subscribe(String, int)</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">MqttStreams</a></dt>
+<dd>
+<div class="block">Subscribe to the MQTT topic(s) and create a <code>TStream&lt;String&gt;</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html#subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-">subscribe(TopologyElement, String, Class&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.connectors.pubsub.<a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">PublishSubscribe</a></dt>
+<dd>
+<div class="block">Subscribe to a published topic.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribeBytes-org.apache.edgent.function.Function-java.lang.String...-">subscribeBytes(Function&lt;KafkaConsumer.ByteConsumerRecord, T&gt;, String...)</a></span> - Method in class org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">KafkaConsumer</a></dt>
+<dd>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#sum-java.util.Collection-">sum(Collection&lt;? extends Number&gt;)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
+<dd>
+<div class="block">Perform a sum of numbers treated as double values, accumulating in a double.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/Aggregations.html#sumInts-java.util.Collection-">sumInts(Collection&lt;? extends Number&gt;)</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></dt>
+<dd>
+<div class="block">Perform a sum of numbers treated as long values, accumulating in a long.</div>
+</dd>
+<dt><a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Supplier</span></a>&lt;<a href="org/apache/edgent/function/Supplier.html" title="type parameter in Supplier">T</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
+<dd>
+<div class="block">Function that supplies a value.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">SupplierPeriodicSource</span></a>&lt;<a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#SupplierPeriodicSource-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Supplier-">SupplierPeriodicSource(long, TimeUnit, Supplier&lt;T&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">SupplierSource</span></a>&lt;<a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/SupplierSource.html#SupplierSource--">SupplierSource()</a></span> - Constructor for class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/functional/SupplierSource.html#SupplierSource-org.apache.edgent.function.Supplier-">SupplierSource(Supplier&lt;Iterable&lt;T&gt;&gt;)</a></span> - Constructor for class org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#synchronizedBiFunction-org.apache.edgent.function.BiFunction-">synchronizedBiFunction(BiFunction&lt;T, U, R&gt;)</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">Return a thread-safe version of a <code>BiFunction</code> function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#synchronizedConsumer-org.apache.edgent.function.Consumer-">synchronizedConsumer(Consumer&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">Return a thread-safe version of a <code>Consumer</code> function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#synchronizedFunction-org.apache.edgent.function.Function-">synchronizedFunction(Function&lt;T, R&gt;)</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">Return a thread-safe version of a <code>Function</code> function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#synchronizedSupplier-org.apache.edgent.function.Supplier-">synchronizedSupplier(Supplier&lt;T&gt;)</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">Return a thread-safe version of a <code>Supplier</code> function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/services/ApplicationService.html#SYSTEM_APP_PREFIX">SYSTEM_APP_PREFIX</a></span> - Static variable in interface org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></dt>
+<dd>
+<div class="block">Prefix ("edgent") reserved for system application names.</div>
+</dd>
+</dl>
+<a name="I:T">
+<!--   -->
+</a>
+<h2 class="title">T</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/graph/Connector.html#tag-java.lang.String...-">tag(String...)</a></span> - Method in interface org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></dt>
+<dd>
+<div class="block">Adds the specified tags to the connector.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#tag-java.lang.String...-">tag(String...)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#tag-java.lang.String...-">tag(String...)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Adds the specified tags to the stream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Deadtime.html#test-T-">test(T)</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a></dt>
+<dd>
+<div class="block">Test the deadtime predicate.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#test-T-">test(T)</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Predicate.test() implementation.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Predicate.html#test-T-">test(T)</a></span> - Method in interface org.apache.edgent.function.<a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></dt>
+<dd>
+<div class="block">Test a value against a predicate.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/Valve.html#test-T-">test(T)</a></span> - Method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a></dt>
+<dd>
+<div class="block">Test the state of the valve, <code>value</code> is ignored.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester"><span class="typeNameLink">Tester</span></a> - Interface in <a href="org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></dt>
+<dd>
+<div class="block">A <code>Tester</code> adds the ability to test a topology in a test framework such
+ as JUnit.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-">textFileReader(TStream&lt;String&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">FileStreams</a></dt>
+<dd>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader(TStream&lt;String&gt;, Function&lt;String, String&gt;, BiFunction&lt;String, Exception, String&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">FileStreams</a></dt>
+<dd>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter(TStream&lt;String&gt;, Supplier&lt;String&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">FileStreams</a></dt>
+<dd>
+<div class="block">Write the contents of a stream to files.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter(TStream&lt;String&gt;, Supplier&lt;String&gt;, Supplier&lt;IFileWriterPolicy&lt;String&gt;&gt;)</a></span> - Static method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">FileStreams</a></dt>
+<dd>
+<div class="block">Write the contents of a stream to files subject to the control
+ of a file writer policy.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">ThreadFactoryTracker</span></a> - Class in <a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></dt>
+<dd>
+<div class="block">Tracks threads created for executing user tasks.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.Sample.html#timestamp--">timestamp()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a></dt>
+<dd>
+<div class="block">Capture time in msec since the epoch.</div>
+</dd>
+<dt><a href="org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">ToDoubleFunction</span></a>&lt;<a href="org/apache/edgent/function/ToDoubleFunction.html" title="type parameter in ToDoubleFunction">T</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
+<dd>
+<div class="block">Function that returns a double primitive.</div>
+</dd>
+<dt><a href="org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">ToIntFunction</span></a>&lt;<a href="org/apache/edgent/function/ToIntFunction.html" title="type parameter in ToIntFunction">T</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
+<dd>
+<div class="block">Function that returns a int primitive.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/csv/Csv.html#toJson-java.util.List-java.lang.String...-">toJson(List&lt;String&gt;, String...)</a></span> - Static method in class org.apache.edgent.connectors.csv.<a href="org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv">Csv</a></dt>
+<dd>
+<div class="block">Create a <code>JsonObject</code> containing the specified <code>fieldNames</code>
+ properties each with its corresponding value from <code>fields</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/MvResultMap.html#toJsonObject--">toJsonObject()</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a></dt>
+<dd>
+<div class="block">Returns a <a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(MvResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/ResultMap.html#toJsonObject--">toJsonObject()</a></span> - Static method in class org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></dt>
+<dd>
+<div class="block">Returns a <a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(ResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/command/CommandStreams.html#tokenize-java.lang.String-">tokenize(String)</a></span> - Static method in class org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></dt>
+<dd>
+<div class="block">Tokenize the specified <code>cmdString</code> in the exact same manner as
+ done by <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runtime.html?is-external=true#exec-java.lang.String-" title="class or interface in java.lang"><code>Runtime.exec(String)</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#topic--">topic()</a></span> - Method in interface org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#topology--">topology()</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#topology--">topology()</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#topology--">topology()</a></span> - Method in class org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/mqtt/MqttStreams.html#topology--">topology()</a></span> - Method in class org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">MqttStreams</a></dt>
+<dd>
+<div class="block">Get the <a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><code>Topology</code></a> the connector is associated with.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#topology--">topology()</a></span> - Method in class org.apache.edgent.connectors.wsclient.javax.websocket.<a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTopology.html#topology--">topology()</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTStream.html#topology--">topology()</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html#topology--">topology()</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Topology</span></a> - Interface in <a href="org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></dt>
+<dd>
+<div class="block">A declaration of a topology of streaming data.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TopologyElement.html#topology--">topology()</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dt>
+<dd>
+<div class="block">Topology this element is contained in.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">TopologyBuilder</span></a> - Interface in <a href="org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a></dt>
+<dd>
+<div class="block">Represents an topology that can be built.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TopologyElement</span></a> - Interface in <a href="org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></dt>
+<dd>
+<div class="block">An element of a <code>Topology</code>.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TopologyProvider</span></a> - Interface in <a href="org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></dt>
+<dd>
+<div class="block">Provider (factory) for creating topologies.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Deadtime.html#toString--">toString()</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a></dt>
+<dd>
+<div class="block">Returns a String for development/debug support.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#toString--">toString()</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Yields <code>"&lt;lowerBoundType&gt;&lt;lowerEndpoint&gt;..&lt;upperEndpoint&gt;&lt;upperBoundType&gt;"</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html#toString--">toString()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html#toString--">toString()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#toString--">toString()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#toString--">toString()</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpDevice.html#toString--">toString()</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/iotp/IotpGateway.html#toString--">toString()</a></span> - Method in class org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#toString--">toString()</a></span> - Method in class org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a></dt>
+<dd>
+<div class="block">For debug.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/Invocation.html#toString--">toString()</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></dt>
+<dd>
+<div class="block">For debug.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html#toString--">toString()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.Sample.html#toString--">toString()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.html#toString--">toString()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html#toString--">toString()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/Valve.html#toString--">toString()</a></span> - Method in class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a></dt>
+<dd>
+<div class="block">Returns a String for development/debug support.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#toString--">toString()</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>
+<div class="block">Intended only as a debug aid and content is not guaranteed.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#toStringUnsigned--">toStringUnsigned()</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Return a String treating the endpoints as an unsigned value.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">TrackingScheduledExecutor</span></a> - Class in <a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></dt>
+<dd>
+<div class="block">Extends a <code>ScheduledThreadPoolExecutor</code> with the ability to track 
+ scheduled tasks and cancel them in case a task completes abruptly due to 
+ an exception.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html#TriggerManager--">TriggerManager()</a></span> - Constructor for class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.html#triggerMgr--">triggerMgr()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></dt>
+<dd>
+<div class="block">Get the <a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.TriggerManager</code></a></div>
+</dd>
+<dt><a href="org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TSink</span></a>&lt;<a href="org/apache/edgent/topology/TSink.html" title="type parameter in TSink">T</a>&gt; - Interface in <a href="org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></dt>
+<dd>
+<div class="block">Termination point (sink) for a stream.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TStream</span></a>&lt;<a href="org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt; - Interface in <a href="org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></dt>
+<dd>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScope.Sample.html#tuple--">tuple()</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a></dt>
+<dd>
+<div class="block">The captured tuple.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/tester/Tester.html#tupleCount-org.apache.edgent.topology.TStream-long-">tupleCount(TStream&lt;?&gt;, long)</a></span> - Method in interface org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></dt>
+<dd>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted exactly
+ <code>expectedCount</code> number of tuples.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TWindow</span></a>&lt;<a href="org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>,<a href="org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>&gt; - Interface in <a href="org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></dt>
+<dd>
+<div class="block">Partitioned window of tuples.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">TWindowImpl</span></a>&lt;<a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>,<a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>&gt; - Class in <a href="org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">TWindowTimeImpl</span></a>&lt;<a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>,<a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>&gt; - Class in <a href="org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/mbeans/JobMXBean.html#TYPE">TYPE</a></span> - Static variable in interface org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></dt>
+<dd>
+<div class="block">TYPE is used to identify this bean as a job bean when building the bean's <code>ObjectName</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#TYPE">TYPE</a></span> - Static variable in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dt>
+<dd>
+<div class="block">TYPE is used to identify this bean as a StreamScope bean when building the bean's <code>ObjectName</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#TYPE">TYPE</a></span> - Static variable in interface org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></dt>
+<dd>
+<div class="block">TYPE is used to identify this bean as a StreamScopeRegistry bean when building the bean's <code>ObjectName</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#TYPE">TYPE</a></span> - Static variable in interface org.apache.edgent.topology.mbeans.<a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#TYPE">TYPE</a></span> - Static variable in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">TYPE is used to identify <a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a> mbeans registered for
+ for a TStream.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#TYPE_KEY">TYPE_KEY</a></span> - Static variable in class org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></dt>
+<dd>
+<div class="block">Key for the type of the control MBean in a JSON request.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricObjectNameFactory.html#TYPE_PREFIX">TYPE_PREFIX</a></span> - Static variable in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></dt>
+<dd>
+<div class="block">Prefix of all metric types.</div>
+</dd>
+</dl>
+<a name="I:U">
+<!--   -->
+</a>
+<h2 class="title">U</h2>
+<dl>
+<dt><a href="org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">UnaryOperator</span></a>&lt;<a href="org/apache/edgent/function/UnaryOperator.html" title="type parameter in UnaryOperator">T</a>&gt; - Interface in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
+<dd>
+<div class="block">Function that returns the same type as its argument.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Union</span></a>&lt;<a href="org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></dt>
+<dd>
+<div class="block">Union oplet, merges multiple input ports
+ into a single output port.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/core/Union.html#Union--">Union()</a></span> - Constructor for class org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTStream.html#union-org.apache.edgent.topology.TStream-">union(TStream&lt;T&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a></dt>
+<dd>
+<div class="block">Declare a stream that will contain all tuples from this stream and
+ <code>other</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html#union-java.util.Set-">union(Set&lt;TStream&lt;T&gt;&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#union-org.apache.edgent.topology.TStream-">union(TStream&lt;T&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Declare a stream that will contain all tuples from this stream and
+ <code>other</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/TStream.html#union-java.util.Set-">union(Set&lt;TStream&lt;T&gt;&gt;)</a></span> - Method in interface org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></dt>
+<dd>
+<div class="block">Declare a stream that will contain all tuples from this stream and all the
+ streams in <code>others</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/OpletContext.html#uniquify-java.lang.String-">uniquify(String)</a></span> - Method in interface org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></dt>
+<dd>
+<div class="block">Creates a unique name within the context of the current runtime.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/AbstractContext.html#uniquify-java.lang.String-">uniquify(String)</a></span> - Method in class org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a></dt>
+<dd>
+<div class="block">Creates a unique name within the context of the current runtime.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregate</span></a> - Interface in <a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></dt>
+<dd>
+<div class="block">Univariate aggregate for a tuple.</div>
+</dd>
+<dt><a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregator</span></a> - Interface in <a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></dt>
+<dd>
+<div class="block">Univariate aggregator for tuples.</div>
+</dd>
+<dt><a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">UnorderedIsolate</span></a>&lt;<a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&gt; - Class in <a href="org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></dt>
+<dd>
+<div class="block">Isolate upstream processing from downstream
+ processing without guaranteeing tuple order.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html#UnorderedIsolate--">UnorderedIsolate()</a></span> - Constructor for class org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#unpartitioned--">unpartitioned()</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">Returns a constant function that returns zero (0).</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#unpartitioned--">unpartitioned()</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Returns a constant function that returns a zero (0) JsonElement.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/ControlService.html#unregister-java.lang.String-">unregister(String)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></dt>
+<dd>
+<div class="block">Unregister a control bean registered by <a href="org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>ControlService.registerControl(String, String, String, Class, Object)</code></a></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#unregister-java.lang.String-">unregister(String)</a></span> - Method in class org.apache.edgent.runtime.jmxcontrol.<a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#unregister-java.lang.String-">unregister(String)</a></span> - Method in class org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></dt>
+<dd>
+<div class="block">Unregister a control bean registered by <a href="org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>ControlService.registerControl(String, String, String, Class, Object)</code></a></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#unregister-java.lang.String-">unregister(String)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>
+<div class="block">remove the specific name registration.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/streamscope/StreamScopeRegistry.html#unregister-org.apache.edgent.streamscope.StreamScope-">unregister(StreamScope&lt;?&gt;)</a></span> - Method in class org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></dt>
+<dd>
+<div class="block">remove all name registrations of the StreamScope.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/WrappedFunction.html#unwrap-java.lang.Class-">unwrap(Class&lt;C&gt;)</a></span> - Method in class org.apache.edgent.function.<a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a></dt>
+<dd>
+<div class="block">Unwrap to find the outermost function that is an instance of <code>clazz</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/WrappedFunction.html#unwrap-java.lang.Class-java.lang.Object-">unwrap(Class&lt;C&gt;, Object)</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a></dt>
+<dd>
+<div class="block">Unwrap a function object to find the outermost function that implements <code>clazz</code>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/JobRegistryService.html#updateJob-org.apache.edgent.execution.Job-">updateJob(Job)</a></span> - Method in interface org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></dt>
+<dd>
+<div class="block">Notifies listeners that the specified registered job has 
+ been updated.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html#updateJob-org.apache.edgent.execution.Job-">updateJob(Job)</a></span> - Method in class org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#upperBoundType--">upperBoundType()</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Get the BoundType for the upperEndpoint.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#upperEndpoint--">upperEndpoint()</a></span> - Method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Get the range's upper endpoint.</div>
+</dd>
+</dl>
+<a name="I:V">
+<!--   -->
+</a>
+<h2 class="title">V</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/tester/Condition.html#valid--">valid()</a></span> - Method in interface org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#value--">value()</a></span> - Method in interface org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Regression.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Regression2.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.BoundType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.html#valueOf-java.lang.String-org.apache.edgent.function.Function-">valueOf(String, Function&lt;String, T&gt;)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></dt>
+<dd>
+<div class="block">Create a Range from a String produced by toString().</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.Action.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.Health.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.State.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/JobRegistryService.EventType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigDecimal-java.lang.String-">valueOfBigDecimal(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range from a Range&lt;BigDecimal&gt;.toString() value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigInteger-java.lang.String-">valueOfBigInteger(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range from a Range&lt;BigInteger&gt;.toString() value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#valueOfBoolean-java.lang.String-">valueOfBoolean(String)</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Create a JsonObject with a <code>Boolean</code> property.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfByte-java.lang.String-">valueOfByte(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range from a Range&lt;Byte&gt;.toString() value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfCharacter-java.lang.String-">valueOfCharacter(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range from a Range&lt;Character&gt;.toString() value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#valueOfCharacter-java.lang.String-">valueOfCharacter(String)</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Create a JsonObject with a <code>Character</code> property.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfDouble-java.lang.String-">valueOfDouble(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range from a Range&lt;Double&gt;.toString() value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfFloat-java.lang.String-">valueOfFloat(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range from a Range&lt;Float&gt;.toString() value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfInteger-java.lang.String-">valueOfInteger(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range from a Range&lt;Integer&gt;.toString() value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfLong-java.lang.String-">valueOfLong(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range from a Range&lt;Long&gt;.toString() value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#valueOfNumber-java.lang.String-">valueOfNumber(String)</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Create a JsonObject with a <code>Number</code> property.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfShort-java.lang.String-">valueOfShort(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range from a Range&lt;Short&gt;.toString() value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Ranges.html#valueOfString-java.lang.String-">valueOfString(String)</a></span> - Static method in class org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></dt>
+<dd>
+<div class="block">Create a Range from a Range&lt;String&gt;.toString() value.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/json/JsonFunctions.html#valueOfString-java.lang.String-">valueOfString(String)</a></span> - Static method in class org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></dt>
+<dd>
+<div class="block">Create a JsonObject with a <code>String</code> property.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Regression.html#values--">values()</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Regression2.html#values--">values()</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic.html#values--">values()</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/math3/stat/Statistic2.html#values--">values()</a></span> - Static method in enum org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/analytics/sensors/Range.BoundType.html#values--">values()</a></span> - Static method in enum org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.Action.html#values--">values()</a></span> - Static method in enum org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.Health.html#values--">values()</a></span> - Static method in enum org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/Job.State.html#values--">values()</a></span> - Static method in enum org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/execution/services/JobRegistryService.EventType.html#values--">values()</a></span> - Static method in enum org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
+<dt><a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Valve</span></a>&lt;<a href="org/apache/edgent/topology/plumbing/Valve.html" title="type parameter in Valve">T</a>&gt; - Class in <a href="org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></dt>
+<dd>
+<div class="block">A generic "valve" <a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><code>Predicate</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/Valve.html#Valve--">Valve()</a></span> - Constructor for class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a></dt>
+<dd>
+<div class="block">Create a new Valve Predicate</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/plumbing/Valve.html#Valve-boolean-">Valve(boolean)</a></span> - Constructor for class org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a></dt>
+<dd>
+<div class="block">Create a new Valve Predicate</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/topology/spi/AbstractTStream.html#verify-org.apache.edgent.topology.TStream-">verify(TStream&lt;T&gt;)</a></span> - Method in class org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Vertex</span></a>&lt;<a href="org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">N</a> extends <a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">C</a>,<a href="org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;,<a href="org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">C</a>,<a href="org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt; - Interface in <a href="org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></dt>
+<dd>
+<div class="block">A <code>Vertex</code> in a graph.</div>
+</dd>
+<dt><a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">VertexType</span></a>&lt;<a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="type parameter in VertexType">I</a>,<a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="type parameter in VertexType">O</a>&gt; - Class in <a href="org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></dt>
+<dd>
+<div class="block">A <code>VertexType</code> in a graph.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html#VertexType-org.apache.edgent.graph.Vertex-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">VertexType(Vertex&lt;? extends Oplet&lt;?, ?&gt;, ?, ?&gt;, IdMapper&lt;String&gt;)</a></span> - Constructor for class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html#VertexType--">VertexType()</a></span> - Constructor for class org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a name="I:W">
+<!--   -->
+</a>
+<h2 class="title">W</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#wasRegistered--">wasRegistered()</a></span> - Method in class org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient"><span class="typeNameLink">WebSocketClient</span></a> - Interface in <a href="org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a></dt>
+<dd>
+<div class="block">A generic connector for sending and receiving messages to a WebSocket Server.</div>
+</dd>
+<dt><a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Window</span></a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">L</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;&gt; - Interface in <a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></dt>
+<dd>
+<div class="block">Partitioned window of tuples.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window(BiFunction&lt;Partition&lt;T, K, L&gt;, T, Boolean&gt;, BiConsumer&lt;Partition&lt;T, K, L&gt;, T&gt;, Consumer&lt;Partition&lt;T, K, L&gt;&gt;, BiConsumer&lt;Partition&lt;T, K, L&gt;, T&gt;, Function&lt;T, K&gt;, Supplier&lt;L&gt;)</a></span> - Static method in class org.apache.edgent.window.<a href="org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window">Windows</a></dt>
+<dd>
+<div class="block">Create a window using the passed in policies.</div>
+</dd>
+<dt><a href="org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Windows</span></a> - Class in <a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></dt>
+<dd>
+<div class="block">Factory to create <code>Window</code> implementations.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/window/Windows.html#Windows--">Windows()</a></span> - Constructor for class org.apache.edgent.window.<a href="org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window">Windows</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/metrics/MetricsSetup.html#withRegistry-org.apache.edgent.execution.services.ServiceContainer-com.codahale.metrics.MetricRegistry-">withRegistry(ServiceContainer, MetricRegistry)</a></span> - Static method in class org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></dt>
+<dd>
+<div class="block">Returns a new <a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><code>MetricsSetup</code></a> for configuring metrics.</div>
+</dd>
+<dt><a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">WrappedFunction</span></a>&lt;<a href="org/apache/edgent/function/WrappedFunction.html" title="type parameter in WrappedFunction">F</a>&gt; - Class in <a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></dt>
+<dd>
+<div class="block">A wrapped function.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/WrappedFunction.html#WrappedFunction-F-">WrappedFunction(F)</a></span> - Constructor for class org.apache.edgent.function.<a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/connectors/file/FileWriterPolicy.html#wrote-T-long-">wrote(T, long)</a></span> - Method in class org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></dt>
+<dd>&nbsp;</dd>
+</dl>
+<a name="I:Z">
+<!--   -->
+</a>
+<h2 class="title">Z</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="org/apache/edgent/function/Functions.html#zero--">zero()</a></span> - Static method in class org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></dt>
+<dd>
+<div class="block">Returns a constant function that returns zero (0).</div>
+</dd>
+</dl>
+<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:Z">Z</a>&nbsp;</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-tree.html">Tree</a></li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li class="navBarCell1Rev">Index</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?index-all.html" target="_top">Frames</a></li>
+<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/index.html b/site/javadoc/r1.2.0/index.html
new file mode 100644
index 0000000..b53a58f
--- /dev/null
+++ b/site/javadoc/r1.2.0/index.html
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Apache Edgent (incubating) v1.2.0 API</title>
+<script type="text/javascript">
+    tmpTargetPage = "" + window.location.search;
+    if (tmpTargetPage != "" && tmpTargetPage != "undefined")
+        tmpTargetPage = tmpTargetPage.substring(1);
+    if (tmpTargetPage.indexOf(":") != -1 || (tmpTargetPage != "" && !validURL(tmpTargetPage)))
+        tmpTargetPage = "undefined";
+    targetPage = tmpTargetPage;
+    function validURL(url) {
+        try {
+            url = decodeURIComponent(url);
+        }
+        catch (error) {
+            return false;
+        }
+        var pos = url.indexOf(".html");
+        if (pos == -1 || pos != url.length - 5)
+            return false;
+        var allowNumber = false;
+        var allowSep = false;
+        var seenDot = false;
+        for (var i = 0; i < url.length - 5; i++) {
+            var ch = url.charAt(i);
+            if ('a' <= ch && ch <= 'z' ||
+                    'A' <= ch && ch <= 'Z' ||
+                    ch == '$' ||
+                    ch == '_' ||
+                    ch.charCodeAt(0) > 127) {
+                allowNumber = true;
+                allowSep = true;
+            } else if ('0' <= ch && ch <= '9'
+                    || ch == '-') {
+                if (!allowNumber)
+                     return false;
+            } else if (ch == '/' || ch == '.') {
+                if (!allowSep)
+                    return false;
+                allowNumber = false;
+                allowSep = false;
+                if (ch == '.')
+                     seenDot = true;
+                if (ch == '/' && seenDot)
+                     return false;
+            } else {
+                return false;
+            }
+        }
+        return true;
+    }
+    function loadFrames() {
+        if (targetPage != "" && targetPage != "undefined")
+             top.classFrame.location = top.targetPage;
+    }
+</script>
+</head>
+<frameset cols="20%,80%" title="Documentation frame" onload="top.loadFrames()">
+<frameset rows="30%,70%" title="Left frames" onload="top.loadFrames()">
+<frame src="overview-frame.html" name="packageListFrame" title="All Packages">
+<frame src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+</frameset>
+<frame src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
+<noframes>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<h2>Frame Alert</h2>
+<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p>
+</noframes>
+</frameset>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/Aggregations.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/Aggregations.html
new file mode 100644
index 0000000..2597124
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/Aggregations.html
@@ -0,0 +1,541 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Aggregations (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Aggregations (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Aggregations.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/Aggregations.html" target="_top">Frames</a></li>
+<li><a href="Aggregations.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3</div>
+<h2 title="Class Aggregations" class="title">Class Aggregations</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.Aggregations</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Aggregations</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Apache Common Math analytics for Collections.
+ 
+ <p>These operations are typically used when processing a collection of tuples
+ in a non-partitioned or partitioned <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology"><code>TWindow</code></a>.
+ 
+ <p>Simple sum aggregation functions are also provided (helpful given the avoidance
+ of depending on Java8 Streams).
+ 
+ <p>Example: compute a batched MEAN aggregation for a simple unpartitioned window of
+ numeric <code>TStream&lt;Double&gt;</code> where the desired result is a <code>TStream&lt;Double&gt;</code> of
+ the MEAN values:
+ <pre><code>
+  TStream&lt;Double&gt; pressureReadings = ...
+TWindow&lt;Double,Integer&gt; window = pressureReadings.last(5, Functions.unpartitioned());
+TStream&lt;Double&gt; meanPressureReadings = window.batch(
+      (list, partition) -&gt; Aggregations.aggregate(list, Statistic2.MEAN));
+ </code></pre>
+ 
+ <p>Example: compute the MEAN and SLOPE, capturing the results in a <a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><code>ResultMap</code></a>:
+ <pre><code>
+  TStream&lt;Double&gt; pressureReadings = ...
+TWindow&lt;Double,Integer&gt; window = pressureReadings.last(5, Functions.unpartitioned());
+TStream&lt;ResultMap&gt; meanPressureReadings = window.batch(
+      (list, partition) -&gt; Aggregations.aggregateN(list, Statistic2.MEAN, Regression2.SLOPE));
+ </code></pre>
+ 
+ <p>Example: compute multiple aggregations on multiple variables in a tuple T,
+ capturing the results in a <a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><code>MvResultMap</code></a>:
+ <pre><code>
+class SensorReading { 
+  double getTemp() {...};
+  double getPressure() {...};
+  ... };
+TStream&lt;SensorReading&gt; readings = ...
+TWindow&lt;SensorReading,Integer&gt; window = sensorReadings.last(5, Functions.unpartitioned());
+TStream&lt;MvResultMap&gt; aggregations = window.batch(
+      (list, partition) -&gt; {
+        ResultMap pressureResults = Aggregations.aggregateN(list, t -&gt; t.getPressure(), Statistic2.MEAN, Regression2.SLOPE));
+        ResultMap tempResults = Aggregations.aggregateN(list, t -&gt; t.getTemp(), Statistic2.MAX));
+        MvResultMap results = Aggregations.newMvResults();
+        results.put("pressure", pressureResults);
+        results.put("temp", tempResults);
+        return results;
+      });
+ </code></pre>
+
+ <p>Example: convert a <code>TStream&lt;ResultMap&gt;</code> or <code>TStream&lt;MvResultMap&gt;</code> to a JsonObject:
+ 
+ <pre><code>
+   TStream&lt;ResultMap&gt; resultMap = ...
+ TStream&lt;JsonObject&gt; joResultMap = resultMap.map(ResultMap.toJsonObject());
+ </code></pre>
+ 
+ 
+ <p>Background: 
+ <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><code>JsonAnalytics</code></a> predates this class.  Use of JsonAnalytics for computing
+ Apache Commons Math aggregations requires:
+ <ul>
+ <li>the input stream tuple type must be a JsonObject and the user must identify
+     the property that contains the value to be aggregated.</li>
+ <li>batched window aggregations are not supported (they could be added).</li>
+ <li>the aggregation result tuple is a JsonObject that holds a user-specified
+     property for a window partition key and a user-specified property
+     for a JsonObject holding the UnivariateAggregation results by name (e.g., "MEAN").
+     Accessing a particular aggregation results in the JsonObject
+     is somewhat cumbersome.</li>
+ </ul>
+ 
+ <p>As a result, using JsonAnalytics for simple cases can be a bit unintuitive and cumbersome.  
+ 
+ <p>For example, to JsonAnalytics for a simple case of a continuous aggregation
+ of <code>TStream&lt;Double&gt;</code> =&gt; <code>TStream&lt;Double&gt;</code> of MEAN values:
+ 
+ <pre><code>
+  TStream&lt;Double&gt; pressureReadings = ...
+ 
+ // transform TStream&lt;Double&gt; to TStream&lt;JsonObject&gt;
+ TStream&lt;JsonObject&gt; joPressureReadings = pressureReadings.map(JsonFunctions.valueOfDouble("pressure"));
+ 
+ // aggregate
+ TWindow&lt;JsonObject,JsonElement&gt; window = joPressureReadings.last(5, JsonFunctions.unpartitioned());
+ TStream&lt;JsonObject&gt; results = JsonAnalytics.aggregate(window, "partition", "pressure", Statistic.MEAN);
+  
+ // transform to TStream&lt;Double&gt; mean results
+ TStream&lt;Double&gt; meanPressureReadings = results.map(jo -&gt; jo.get("pressure").getAsObject().get("MEAN").getAsDouble());
+ </code></pre>
+ 
+ <p>Using Aggregations it's simply:
+ 
+ <pre><code>
+TWindow&lt;Double,Integer&gt; window = pressureReadings.last(5, Functions.unpartitioned());
+TStream&lt;Double&gt; meanPressureReadings = window.aggregate(
+      (list, partition) -&gt; Aggregations.aggregate(list, Statistic2.MEAN));
+ </code></pre></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><code>Statistic2</code></a>, 
+<a href="../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><code>Regression2</code></a>, 
+<a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><code>JsonAnalytics</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#Aggregations--">Aggregations</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+         <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+         <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+         <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+          <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+          <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+          <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#sum-java.util.Collection-">sum</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;list)</code>
+<div class="block">Perform a sum of numbers treated as double values, accumulating in a double.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#sumInts-java.util.Collection-">sumInts</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;list)</code>
+<div class="block">Perform a sum of numbers treated as long values, accumulating in a long.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Aggregations--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Aggregations</h4>
+<pre>public&nbsp;Aggregations()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="sum-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sum</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;sum(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;list)</pre>
+<div class="block">Perform a sum of numbers treated as double values, accumulating in a double.
+ An empty list yields a 0.0 result.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>list</code> - numbers to sum</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the sum</dd>
+</dl>
+</li>
+</ul>
+<a name="sumInts-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sumInts</h4>
+<pre>public static&nbsp;long&nbsp;sumInts(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;list)</pre>
+<div class="block">Perform a sum of numbers treated as long values, accumulating in a long.
+ More efficient than sum() for non-floating point values.
+ An empty list yields a 0 result.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>list</code> - numbers to sum</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the sum</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregate-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregate</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;aggregate(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+                               <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</pre>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.
+ 
+ <p>A null result is returned if the collection is empty.
+ An aggregation result may be null under other conditions,
+ e.g., a Regression2.SLOPE where the minimum number of samples has not been met.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - the Collection to aggregate</dd>
+<dd><code>aggregate</code> - the aggregation to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the aggregation result, may be null.</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregateN-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregateN</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&nbsp;aggregateN(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+                                   <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</pre>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.
+  
+ <p>If the collection is empty an empty ResultMap is returned.
+ The ResultMap does not contain an entry for an aggregation with a null,
+ e.g., a Regression2.SLOPE where the minimum number of samples has not been met.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - the Collection to aggregate</dd>
+<dd><code>aggregates</code> - the aggregations to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><code>ResultMap</code></a> containing the variable's aggregation results</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregate-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregate</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&nbsp;aggregate(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+                                   <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+                                   <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</pre>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.
+ 
+ <p>A null result is returned if the collection is empty.
+ An aggregation result may be null under other conditions,
+ e.g., a Regression2.SLOPE where the minimum number of samples has not been met.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - the Collection to aggregate</dd>
+<dd><code>getter</code> - function that returns the variable to aggregate from a <code>T</code></dd>
+<dd><code>aggregate</code> - the aggregation to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the aggregation result, may be null.</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>aggregateN</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&nbsp;aggregateN(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+                                       <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+                                       <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</pre>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.
+ 
+ <p>If the collection is empty an empty ResultMap is returned.
+ The ResultMap does not contain an entry for an aggregation with a null,
+ e.g., a Regression2.SLOPE where the minimum number of samples has not been met.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>c</code> - the Collection to aggregate</dd>
+<dd><code>getter</code> - function that returns the variable to aggregate from a <code>T</code></dd>
+<dd><code>aggregates</code> - the aggregations to perform</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><code>ResultMap</code></a> containing the variable's aggregation results</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Aggregations.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/Aggregations.html" target="_top">Frames</a></li>
+<li><a href="Aggregations.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/MvResultMap.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/MvResultMap.html
new file mode 100644
index 0000000..7c450db
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/MvResultMap.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MvResultMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MvResultMap (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MvResultMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/MvResultMap.html" target="_top">Frames</a></li>
+<li><a href="MvResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.util.AbstractMap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3</div>
+<h2 title="Class MvResultMap" class="title">Class MvResultMap</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">java.util.AbstractMap</a>&lt;K,V&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">java.util.HashMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.MvResultMap</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MvResultMap</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&gt;</pre>
+<div class="block">Aggregation results for multiple aggregated variables.
+ 
+ <p>The name of the aggregated variable is typically the key for the variable's <a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><code>ResultMap</code></a>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.analytics.math3.MvResultMap">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.util.AbstractMap">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">AbstractMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">AbstractMap.SimpleEntry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">V</a>&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">AbstractMap.SimpleImmutableEntry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">V</a>&gt;</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.util.Map">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">V</a>&gt;</code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html#MvResultMap--">MvResultMap</a></span>()</code>
+<div class="block">Create a new MvResultMap.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(MvResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.HashMap">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#clear--" title="class or interface in java.util">clear</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#clone--" title="class or interface in java.util">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#compute-K-java.util.function.BiFunction-" title="class or interface in java.util">compute</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#computeIfAbsent-K-java.util.function.Function-" title="class or interface in java.util">computeIfAbsent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#computeIfPresent-K-java.util.function.BiFunction-" title="class or interface in java.util">computeIfPresent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#containsKey-java.lang.Object-" title="class or interface in java.util">containsKey</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#containsValue-java.lang.Object-" title="class or interface in java.util">containsValue</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#entrySet--" title="class or interface in java.util">entrySet</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#forEach-java.util.function.BiConsumer-" title="class or interface in java.util">forEach</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#get-java.lang.Object-" title="class or interface in java.util">get</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#getOrDefault-java.lang.Object-V-" title="class or interface in java.util">getOrDefault</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#isEmpty--" title="class or interface in java.util">isEmpty</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#keySet--" title="class or interface in java.util">keySet</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#merge-K-V-java.util.function.BiFunction-" title="class or interface in java.util">merge</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#put-K-V-" title="class or interface in java.util">put</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#putAll-java.util.Map-" title="class or interface in java.util">putAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#putIfAbsent-K-V-" title="class or interface in java.util">putIfAbsent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#remove-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#remove-java.lang.Object-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replace-K-V-" title="class or interface in java.util">replace</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replace-K-V-V-" title="class or interface in java.util">replace</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replaceAll-java.util.function.BiFunction-" title="class or interface in java.util">replaceAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#size--" title="class or interface in java.util">size</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#values--" title="class or interface in java.util">values</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractMap">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">AbstractMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#hashCode--" title="class or interface in java.util">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#toString--" title="class or interface in java.util">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.Map">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#hashCode--" title="class or interface in java.util">hashCode</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MvResultMap--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MvResultMap</h4>
+<pre>public&nbsp;MvResultMap()</pre>
+<div class="block">Create a new MvResultMap.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="toJsonObject--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toJsonObject</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a>,com.google.gson.JsonObject&gt;&nbsp;toJsonObject()</pre>
+<div class="block">Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(MvResultMap)</code> converts the value
+ to a <code>JsonObject</code>.
+ 
+ <p>The JsonObject property names are the MvResultMap's keys and the property
+ values are the key's associated ResultMap value as a JsonObject.
+ 
+ <p>An example resulting JsonObject would be 
+ <pre>{ "temperature":{"MEAN":123.75, "MAX":180.5}, "pressure":{"MAX":13.0} }</pre>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the JsonObject</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html#toJsonObject--"><code>ResultMap.toJsonObject()</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MvResultMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/MvResultMap.html" target="_top">Frames</a></li>
+<li><a href="MvResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.util.AbstractMap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/ResultMap.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/ResultMap.html
new file mode 100644
index 0000000..5daf644
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/ResultMap.html
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ResultMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ResultMap (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ResultMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/ResultMap.html" target="_top">Frames</a></li>
+<li><a href="ResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.util.AbstractMap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3</div>
+<h2 title="Class ResultMap" class="title">Class ResultMap</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">java.util.AbstractMap</a>&lt;K,V&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">java.util.HashMap</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.ResultMap</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ResultMap</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</pre>
+<div class="block">Aggregation results for a single aggregated variable.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.analytics.math3.ResultMap">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.util.AbstractMap">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">AbstractMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">AbstractMap.SimpleEntry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleEntry.html?is-external=true" title="class or interface in java.util">V</a>&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">AbstractMap.SimpleImmutableEntry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.SimpleImmutableEntry.html?is-external=true" title="class or interface in java.util">V</a>&gt;</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.util.Map">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">Map.Entry</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">K</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util">V</a>&gt;</code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html#ResultMap--">ResultMap</a></span>()</code>
+<div class="block">Create a new ResultMap.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(ResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.HashMap">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#clear--" title="class or interface in java.util">clear</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#clone--" title="class or interface in java.util">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#compute-K-java.util.function.BiFunction-" title="class or interface in java.util">compute</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#computeIfAbsent-K-java.util.function.Function-" title="class or interface in java.util">computeIfAbsent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#computeIfPresent-K-java.util.function.BiFunction-" title="class or interface in java.util">computeIfPresent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#containsKey-java.lang.Object-" title="class or interface in java.util">containsKey</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#containsValue-java.lang.Object-" title="class or interface in java.util">containsValue</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#entrySet--" title="class or interface in java.util">entrySet</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#forEach-java.util.function.BiConsumer-" title="class or interface in java.util">forEach</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#get-java.lang.Object-" title="class or interface in java.util">get</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#getOrDefault-java.lang.Object-V-" title="class or interface in java.util">getOrDefault</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#isEmpty--" title="class or interface in java.util">isEmpty</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#keySet--" title="class or interface in java.util">keySet</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#merge-K-V-java.util.function.BiFunction-" title="class or interface in java.util">merge</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#put-K-V-" title="class or interface in java.util">put</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#putAll-java.util.Map-" title="class or interface in java.util">putAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#putIfAbsent-K-V-" title="class or interface in java.util">putIfAbsent</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#remove-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#remove-java.lang.Object-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replace-K-V-" title="class or interface in java.util">replace</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replace-K-V-V-" title="class or interface in java.util">replace</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#replaceAll-java.util.function.BiFunction-" title="class or interface in java.util">replaceAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#size--" title="class or interface in java.util">size</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true#values--" title="class or interface in java.util">values</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractMap">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util">AbstractMap</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#hashCode--" title="class or interface in java.util">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#toString--" title="class or interface in java.util">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.Map">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#hashCode--" title="class or interface in java.util">hashCode</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ResultMap--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ResultMap</h4>
+<pre>public&nbsp;ResultMap()</pre>
+<div class="block">Create a new ResultMap.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="toJsonObject--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toJsonObject</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>,com.google.gson.JsonObject&gt;&nbsp;toJsonObject()</pre>
+<div class="block"><p>Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(ResultMap)</code> converts the value
+ to a <code>JsonObject</code>.
+ 
+ <p>The JsonObject property names are the ResultMap's keys and the property
+ values are the key's associated Double map value.
+ 
+ <p>An example resulting JsonObject would be 
+ <pre>{ "MEAN":3.75, "MIN":2.0 }</pre>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the JsonObject</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ResultMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/ResultMap.html" target="_top">Frames</a></li>
+<li><a href="ResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.util.AbstractMap">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/UnivariateAggregate.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/UnivariateAggregate.html
new file mode 100644
index 0000000..fe0c079
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/UnivariateAggregate.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="UnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnivariateAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/UnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3</div>
+<h2 title="Interface UnivariateAggregate" class="title">Interface UnivariateAggregate</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&gt;</dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>, <a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">UnivariateAggregate</span>
+extends <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&gt;</pre>
+<div class="block">Univariate aggregate for a tuple.
+ This is the declaration of the aggregate that
+ application use when declaring a topology.
+ <P>
+ Implementations are typically enums such
+ as <a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><code>Statistic2</code></a>.
+ </P>
+ <P>
+ Each call to <code>get()</code> must return a new
+ <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><code>aggregator</code></a>
+ that implements the required aggregate.
+ </P></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><code>Aggregations</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html#name--">name</a></span>()</code>
+<div class="block">Name of the aggregate.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.function.Supplier">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></h3>
+<code><a href="../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="name--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>name</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name()</pre>
+<div class="block">Name of the aggregate.
+ The returned value is used as the JSON key containing
+ the result of the aggregation.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Name of the aggregate.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnivariateAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/UnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/UnivariateAggregator.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/UnivariateAggregator.html
new file mode 100644
index 0000000..a9b56d6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/UnivariateAggregator.html
@@ -0,0 +1,299 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="UnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnivariateAggregator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/UnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3</div>
+<h2 title="Interface UnivariateAggregator" class="title">Interface UnivariateAggregator</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">UnivariateAggregator</span></pre>
+<div class="block">Univariate aggregator for tuples.
+ This is the runtime implementation interface
+ of <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> defined aggregate.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#clear-int-">clear</a></span>(int&nbsp;n)</code>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getAggregate--">getAggregate</a></span>()</code>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getResult--">getResult</a></span>()</code>
+<div class="block">Get the aggregation result.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#increment-double-">increment</a></span>(double&nbsp;value)</code>
+<div class="block">Add a value to the aggregation.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getAggregate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAggregate</h4>
+<pre><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;getAggregate()</pre>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the aggregate</dd>
+</dl>
+</li>
+</ul>
+<a name="clear-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>void&nbsp;clear(int&nbsp;n)</pre>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>n</code> - Number of tuples to be aggregated.</dd>
+</dl>
+</li>
+</ul>
+<a name="increment-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>increment</h4>
+<pre>void&nbsp;increment(double&nbsp;value)</pre>
+<div class="block">Add a value to the aggregation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - Value to be added.</dd>
+</dl>
+</li>
+</ul>
+<a name="getResult--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getResult</h4>
+<pre>double&nbsp;getResult()</pre>
+<div class="block">Get the aggregation result.  It may be a NaN (empty collection, etc) or Infinite value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the result</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnivariateAggregator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/UnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/Aggregations.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/Aggregations.html
new file mode 100644
index 0000000..df23363
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/Aggregations.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.Aggregations (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.Aggregations (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/Aggregations.html" target="_top">Frames</a></li>
+<li><a href="Aggregations.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.Aggregations" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.Aggregations</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.analytics.math3.Aggregations</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/Aggregations.html" target="_top">Frames</a></li>
+<li><a href="Aggregations.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/MvResultMap.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/MvResultMap.html
new file mode 100644
index 0000000..20c816e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/MvResultMap.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.MvResultMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.MvResultMap (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/MvResultMap.html" target="_top">Frames</a></li>
+<li><a href="MvResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.MvResultMap" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.MvResultMap</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a> in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> that return types with arguments of type <a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</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="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MvResultMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(MvResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/MvResultMap.html" target="_top">Frames</a></li>
+<li><a href="MvResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/ResultMap.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/ResultMap.html
new file mode 100644
index 0000000..5bf48eb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/ResultMap.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.ResultMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.ResultMap (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/ResultMap.html" target="_top">Frames</a></li>
+<li><a href="ResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.ResultMap" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.ResultMap</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a> in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> that return <a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</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="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+          <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+          <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+          <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> that return types with arguments of type <a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</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="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ResultMap.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(ResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/ResultMap.html" target="_top">Frames</a></li>
+<li><a href="ResultMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html
new file mode 100644
index 0000000..d9989e1
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregate" class="title">Uses of Interface<br>org.apache.edgent.analytics.math3.UnivariateAggregate</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a> in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> that return <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">UnivariateAggregator.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getAggregate--">getAggregate</a></span>()</code>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> with parameters of type <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</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/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+         <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+         <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+         <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;c,
+          <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> on a Collection of <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang"><code>Number</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+          <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+          <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a> in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that implement <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></span></code>
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></span></code>
+<div class="block">Statistic implementations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that return <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></code></td>
+<td class="colLast"><span class="typeNameLabel">StorelessStatistic.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#getAggregate--">getAggregate</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html
new file mode 100644
index 0000000..1de9fb8
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.analytics.math3.UnivariateAggregator" class="title">Uses of Interface<br>org.apache.edgent.analytics.math3.UnivariateAggregator</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a> in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that implement <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></span></code>
+<div class="block">Univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that return <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Statistic2.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#get--">get</a></span>()</code>
+<div class="block">Return a new instance of this statistic implementation.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="UnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/JsonAnalytics.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/JsonAnalytics.html
new file mode 100644
index 0000000..7a0a4b5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/JsonAnalytics.html
@@ -0,0 +1,711 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonAnalytics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JsonAnalytics (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonAnalytics.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/JsonAnalytics.html" target="_top">Frames</a></li>
+<li><a href="JsonAnalytics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.json</div>
+<h2 title="Class JsonAnalytics" class="title">Class JsonAnalytics</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.json.JsonAnalytics</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">JsonAnalytics</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Apache Common Math analytics for streams with JSON tuples.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><code>Aggregations</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#JsonAnalytics--">JsonAnalytics</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valueProperty,
+         <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+         <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+         <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+             <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+             <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Create a Function that aggregates against a single <code>Numeric</code>
+ variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static com.google.gson.JsonElement</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#getMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">getMvAggregate</a></span>(com.google.gson.JsonObject&nbsp;jo,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
+              <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Get the value of an aggregate computed by a multi-variable aggregation.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#hasMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">hasMvAggregate</a></span>(com.google.gson.JsonObject&nbsp;jo,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
+              <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Check if an aggregation result from a multi-variable aggregation
+ is present.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">mkAggregationSpec</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
+                 <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Create an aggregation specification.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-">mvAggregate</a></span>(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
+<div class="block">Aggregate against multiple <code>Numeric</code> variables contained in an JSON object.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-">mvAggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
+<div class="block">Create a Function that aggregates multiple <code>Numeric</code>
+ variables contained in an JSON object.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="JsonAnalytics--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JsonAnalytics</h4>
+<pre>public&nbsp;JsonAnalytics()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregate</h4>
+<pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;aggregate(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+                                                                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+                                                                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valueProperty,
+                                                                                                    <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</pre>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.
+ 
+ The returned stream contains a tuple for each execution performed against a window partition.
+ The tuple is a <code>JsonObject</code> containing:
+ <UL>
+ <LI> Partition key of type <code>K</code> as a property with key <code>resultPartitionProperty</code>. </LI>
+ <LI> Aggregation results as a <code>JsonObject</code> as a property with key <code>valueProperty</code>.
+ This results object contains the results of all aggregations defined by <code>aggregates</code> against
+ <code>double</code> property with key <code>valueProperty</code>.
+ <BR>
+ Each <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><code>JsonUnivariateAggregate</code></a> declares how it represents its aggregation in this result
+ object.
+ </LI>
+ </UL>
+ <P>
+ For example if the window contains these three tuples (pseudo JSON) for
+ partition 3:
+ <BR>
+ <code>{id=3,reading=2.0}, {id=3,reading=2.6}, {id=3,reading=1.8}</code>
+ <BR>
+ the resulting aggregation for the stream returned by:
+ <BR>
+ <code>aggregate(window, "id", "reading", Statistic.MIN, Statistic.MAX)</code>
+ <BR>
+ would contain this tuple with the maximum and minimum values in the <code>reading</code>
+ JSON object:
+ <BR>
+ <code>{id=3, reading={MIN=1.8, MAX=1.8}}</code>
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - Partition type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>window</code> - Window to aggregate over.</dd>
+<dd><code>resultPartitionProperty</code> - Property to store the partition key in tuples on the returned stream.</dd>
+<dd><code>valueProperty</code> - JSON property containing the value to aggregate.</dd>
+<dd><code>aggregates</code> - Which aggregations to be performed.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that will contain aggregations.</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregate</h4>
+<pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;aggregate(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+                                                                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+                                                                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+                                                                                                    <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+                                                                                                    <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</pre>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.
+ 
+ The returned stream contains a tuple for each execution performed against a window partition.
+ The tuple is a <code>JsonObject</code> containing:
+ <UL>
+ <LI> Partition key of type <code>K</code> as a property with key <code>resultPartitionProperty</code>. </LI>
+ <LI> Aggregation results as a <code>JsonObject</code> as a property with key <code>resultProperty</code>.
+ This results object contains the results of all aggregations defined by <code>aggregates</code> against
+ value returned by <code>valueGetter</code>.
+ <BR>
+ Each <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><code>JsonUnivariateAggregate</code></a> declares how it represents its aggregation in this result
+ object.
+ </LI>
+ </UL></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - Partition type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>window</code> - Window to aggregate over.</dd>
+<dd><code>resultPartitionProperty</code> - Property to store the partition key in tuples on the returned stream.</dd>
+<dd><code>resultProperty</code> - Property to store the aggregations in tuples on the returned stream.</dd>
+<dd><code>valueGetter</code> - How to obtain the single variable from input tuples.</dd>
+<dd><code>aggregates</code> - Which aggregations to be performed.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that will contain aggregations.</dd>
+</dl>
+</li>
+</ul>
+<a name="aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregateList</h4>
+<pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;&nbsp;aggregateList(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+                                                                                                                                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+                                                                                                                                              <a href="../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+                                                                                                                                              <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</pre>
+<div class="block">Create a Function that aggregates against a single <code>Numeric</code>
+ variable contained in an JSON object.
+ 
+ Calling <code>apply(List&lt;JsonObject&gt;)</code> on the returned <code>BiFunction</code>
+ returns a <code>JsonObject</code> containing:
+ <UL>
+ <LI> Partition key of type <code>K</code> as a property with key <code>resultPartitionProperty</code>. </LI>
+ <LI> Aggregation results as a <code>JsonObject</code> as a property with key <code>valueProperty</code>.
+ This results object contains the results of all aggregations defined by <code>aggregates</code>
+ against the value returned by <code>valueGetter</code>.
+ <BR>
+ Each <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><code>JsonUnivariateAggregate</code></a> declares how it represents its aggregation in this result
+ object.
+ </LI>
+ </UL>
+ <P>
+ For example if the list contains these three tuples (pseudo JSON) for
+ partition 3:
+ <BR>
+ <code>{id=3,reading=2.0}, {id=3,reading=2.6}, {id=3,reading=1.8}</code>
+ <BR>
+ the resulting aggregation for the JsonObject returned by:
+ <BR>
+ <code>aggregateList("id", "reading", Statistic.MIN, Statistic.MAX).apply(list, 3)</code>
+ <BR>
+ would be this tuple with the maximum and minimum values in the <code>reading</code>
+ JSON object:
+ <BR>
+ <code>{id=3, reading={MIN=1.8, MAX=1.8}}</code>
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - Partition type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>resultPartitionProperty</code> - Property to store the partition key in tuples on the returned stream.</dd>
+<dd><code>resultProperty</code> - Property to store the aggregations in the returned JsonObject.</dd>
+<dd><code>valueGetter</code> - How to obtain the single variable from input tuples.</dd>
+<dd><code>aggregates</code> - Which aggregations to be performed.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Function that performs the aggregations.</dd>
+</dl>
+</li>
+</ul>
+<a name="mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mvAggregate</h4>
+<pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;mvAggregate(<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+                                                                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+                                                                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+                                                                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</pre>
+<div class="block">Aggregate against multiple <code>Numeric</code> variables contained in an JSON object.
+ <P>
+ This is a multi-variable analog of <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-"><code>aggregate()</code></a>
+ </P>
+ <P>
+ See <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-"><code>mvAggregateList()</code></a> for
+ a description of the aggregation processing and result stream.
+ </P>
+ <P>
+ Sample use:
+ <pre><code>
+ // Ingest the data.  The JsonObject tuples have properties:
+ //   "id" - the partitionKey
+ //   "tx" - a numeric data variable
+ //   "rx" - a numeric data variable
+ TStream&lt;JsonObject&gt; ingestData = ...
+ 
+ // Define the tuple variables and their aggregations to compute
+ List&lt;Pair&lt;String, JsonUnivariateAggregate[]&gt;&gt; aggSpecs = new ArrayList&lt;&gt;();
+ aggSpecs.add(mkAggregationSpec("tx", Statistics.MIN, Statistics.MAX));
+ aggSpecs.add(mkAggregationSpec("rx", Statistics.MEAN));
+ 
+ // Create the window over which to aggregate
+ TWindow&lt;JsonObject, JsonElement&gt; window = 
+    ingestData.last(5, TimeUnit.SECONDS, jo -&gt; jo.get("id"));
+ 
+ // Create a stream with the aggregations. The result tuples have properties:
+ //   "id" - the partitionKey
+ //   "aggResults" - the aggregation results
+ TStream&lt;JsonObject&gt; aggResults = 
+    mvAggregate(window, "id", "aggResults", aggSpecs);
+    
+ // Create a stream of JsonObject tuples with just the average "rx"
+ TStream&lt;JsonObject&gt; avgRx = aggResults.map(
+    jo -&gt; {
+      JsonObject result = new JsonObject();
+      result.add("id", jo.get("id"))
+      result.add("avgRx", getMvAggregate(jo, "aggResults", "Rx", Statistic.MEAN);
+      return result;
+    });
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - Partition type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>window</code> - the window to compute aggregations over</dd>
+<dd><code>resultPartitionKeyProperty</code> - name of the partition key property in the result</dd>
+<dd><code>resultProperty</code> - name of the aggregation results property in the result</dd>
+<dd><code>aggregateSpecs</code> - see <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-"><code>mkAggregationSpec()</code></a></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TStream&lt;JsonObject&gt; with aggregation results</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-"><code>mvAggregateList()</code></a>, 
+<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-"><code>mkAggregationSpec()</code></a>, 
+<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#getMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-"><code>getMvAggregate()</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mkAggregationSpec</h4>
+<pre>public static&nbsp;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&nbsp;mkAggregationSpec(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
+                                                                                                     <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</pre>
+<div class="block">Create an aggregation specification.
+ <P>
+ The aggregation specification specifies a variable name and
+ the aggregates to compute on it.
+ </P>
+ <P>
+ The specification can be use with <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-"><code>mkAggregateList()</code></a></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>variableName</code> - the name of a <code>Numeric</code> data variable in a JSON object</dd>
+<dd><code>aggregates</code> - the aggregates to compute for the variable</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the aggregation specification</dd>
+</dl>
+</li>
+</ul>
+<a name="mvAggregateList-java.lang.String-java.lang.String-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mvAggregateList</h4>
+<pre>public static&nbsp;&lt;K extends com.google.gson.JsonElement&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;&nbsp;mvAggregateList(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+                                                                                                                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+                                                                                                                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</pre>
+<div class="block">Create a Function that aggregates multiple <code>Numeric</code>
+ variables contained in an JSON object.
+ <P>
+ This is a multi-variable analog of <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-"><code>aggregateList()</code></a>
+ <P>
+ The overall multi-variable aggregation result is a JSON object
+ with properties:
+ <ul>
+ <li><code>resultPartionKeyProperty</code> whose value is the tuple's partition key
+ <li><code>resultProperty</code> whose value is a JSON object containing
+     a property for each variable aggregation.  The property names
+     correspond to the variable names from the <code>aggregateSpecs</code>
+     and the values are the aggregation results for the variable.
+     The aggregation results for a variable are a JSON object 
+     having a property for each aggregation name and its value.</li>
+ </ul>
+ <P>
+ For example if the list contains these three tuples (pseudo JSON) for
+ partition 3:
+ <BR>
+ <code>{id=3,tx=2.0,rx=1.0,...}, {id=3,tx=2.6,rx=2.0,...}, {id=3,tx=1.8,rx=3.0,...}</code>
+ <BR>
+ the resulting aggregation JsonObject returned is:
+ <BR>
+ <code>{id=3, aggData={tx={MIN=1.8, MAX=2.6}, rx={MEAN=2.0}}}</code>
+ <BR>
+ for the invocation:
+ <BR>
+ <code>mvAggregateList("id", "aggData", aggSpecs).apply(list, 3))</code>
+ <BR>
+ where <code>aggSpecs</code> is:
+ <BR>
+ <code>aggSpecs.add(mkAggregationSpec("tx", Statistics.MIN, Statistics.MAX));
+ aggSpecs.add(mkAggregationSpec("rx", Statistics.MEAN));
+ </code>
+ </P>
+ <P>
+ <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#getMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-"><code>getMvAggregate()</code></a>
+ can be used to extract individual aggregate values from the result.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - Partition Key as a JsonElement</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>resultPartitionKeyProperty</code> - name of the partition key property in the result</dd>
+<dd><code>resultProperty</code> - name of the aggregation results property in the result</dd>
+<dd><code>aggregateSpecs</code> - see <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-"><code>mkAggregationSpec()</code></a></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Function that performs the aggregations.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-"><code>mkAggregationSpec()</code></a>, 
+<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#getMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-"><code>getMvAggregate()</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="getMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMvAggregate</h4>
+<pre>public static&nbsp;com.google.gson.JsonElement&nbsp;getMvAggregate(com.google.gson.JsonObject&nbsp;jo,
+                                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+                                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
+                                                         <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</pre>
+<div class="block">Get the value of an aggregate computed by a multi-variable aggregation.
+ <P>
+ This convenience method can be used to extract information from a JSON object
+ created by <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-"><code>mvAggregationList()</code></a>
+ or <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-"><code>mvAggregate()</code></a>
+ </P>
+ <P>
+ Sample use:
+ <pre><code>
+ ...
+ TStream&lt;JsonObject&gt; aggData = mvAggregate(window, "id", "aggResults", aggSpecs);
+ 
+ // Create a stream of JsonObject tuples with just the average "tx"
+ TStream&lt;JsonObject&gt; avgTx = aggResults.map(
+    jo -&gt; {
+      JsonObject result = new JsonObject();
+      result.add(partitionKeyName, jo.get(partitionKeyName))
+      result.add("avgTx", getMvAggregate(jo, "aggResults", "tx", Statistic.MEAN);
+      return result;
+    });
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jo</code> - a JSON object created by <code>mvAggregationList</code></dd>
+<dd><code>resultProperty</code> - the corresponding value passed to <code>mvAggragateList</code></dd>
+<dd><code>variableName</code> - the data variable of interest in the multivariable aggregates</dd>
+<dd><code>aggregate</code> - the variable's aggregate of interest</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the variable's aggregate's value as a JsonElement</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</a></code> - if the aggregate isn't present in the result</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#hasMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-"><code>hasAggregate()</code></a>, 
+<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-"><code>mvAggregate()</code></a>, 
+<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-"><code>mvAggregateList()</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="hasMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hasMvAggregate</h4>
+<pre>public static&nbsp;boolean&nbsp;hasMvAggregate(com.google.gson.JsonObject&nbsp;jo,
+                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
+                                     <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</pre>
+<div class="block">Check if an aggregation result from a multi-variable aggregation
+ is present.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jo</code> - a JSON object created by <code>mvAggregationList</code></dd>
+<dd><code>resultProperty</code> - the corresponding value passed to <code>mvAggragateList</code></dd>
+<dd><code>variableName</code> - the data variable of interest in the multivariable aggregates</dd>
+<dd><code>aggregate</code> - the variable's aggregate of interest</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the specified aggregate is present in the jo, false otherwise.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#getMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-"><code>getMvAggregate()</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonAnalytics.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/JsonAnalytics.html" target="_top">Frames</a></li>
+<li><a href="JsonAnalytics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html
new file mode 100644
index 0000000..11221f2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonUnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JsonUnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonUnivariateAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="JsonUnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.json</div>
+<h2 title="Interface JsonUnivariateAggregate" class="title">Interface JsonUnivariateAggregate</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&gt;</dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>, <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">JsonUnivariateAggregate</span>
+extends <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&gt;</pre>
+<div class="block">Univariate aggregate for a JSON tuple.
+ This is the declaration of the aggregate that
+ application use when declaring a topology.
+ <P>
+ Implementations are typically enums such
+ as <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><code>Statistic</code></a>.
+ </P>
+ <P>
+ Each call to <code>get()</code> must return a new
+ <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json"><code>aggregator</code></a>
+ that implements the required aggregate.
+ </P></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><code>JsonAnalytics</code></a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#N">N</a></span></code>
+<div class="block">JSON key used for representation of the number
+ of tuples that were aggregated.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#name--">name</a></span>()</code>
+<div class="block">Name of the aggregate.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.function.Supplier">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></h3>
+<code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</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="N">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>N</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> N</pre>
+<div class="block">JSON key used for representation of the number
+ of tuples that were aggregated. Value is "N".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../constant-values.html#org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate.N">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="name--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>name</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name()</pre>
+<div class="block">Name of the aggregate.
+ The returned value is used as the JSON key containing
+ the result of the aggregation.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Name of the aggregate.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonUnivariateAggregate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="JsonUnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html
new file mode 100644
index 0000000..01ba826
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonUnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JsonUnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonUnivariateAggregator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="JsonUnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.json</div>
+<h2 title="Interface JsonUnivariateAggregator" class="title">Interface JsonUnivariateAggregator</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">JsonUnivariateAggregator</span></pre>
+<div class="block">Univariate aggregator for JSON tuples.
+ This is the runtime implementation interface
+ of <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><code>JsonUnivariateAggregate</code></a> defined aggregate.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#clear-com.google.gson.JsonElement-int-">clear</a></span>(com.google.gson.JsonElement&nbsp;partitionKey,
+     int&nbsp;n)</code>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#increment-double-">increment</a></span>(double&nbsp;value)</code>
+<div class="block">Add a value to the aggregation.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#result-com.google.gson.JsonElement-com.google.gson.JsonObject-">result</a></span>(com.google.gson.JsonElement&nbsp;partitionKey,
+      com.google.gson.JsonObject&nbsp;result)</code>
+<div class="block">Place the result of the aggregation into the <code>result</code>
+ object.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="clear-com.google.gson.JsonElement-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>void&nbsp;clear(com.google.gson.JsonElement&nbsp;partitionKey,
+           int&nbsp;n)</pre>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>partitionKey</code> - Partition key.</dd>
+<dd><code>n</code> - Number of tuples to be aggregated.</dd>
+</dl>
+</li>
+</ul>
+<a name="increment-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>increment</h4>
+<pre>void&nbsp;increment(double&nbsp;value)</pre>
+<div class="block">Add a value to the aggregation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - Value to be added.</dd>
+</dl>
+</li>
+</ul>
+<a name="result-com.google.gson.JsonElement-com.google.gson.JsonObject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>result</h4>
+<pre>void&nbsp;result(com.google.gson.JsonElement&nbsp;partitionKey,
+            com.google.gson.JsonObject&nbsp;result)</pre>
+<div class="block">Place the result of the aggregation into the <code>result</code>
+ object. The key for the result must be
+ <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#name--"><code>JsonUnivariateAggregate.name()</code></a> for the corresponding
+ aggregate. The value of the aggregation may be a primitive value
+ such as a <code>double</code> or any valid JSON element.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>partitionKey</code> - Partition key.</dd>
+<dd><code>result</code> - JSON object holding the result.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonUnivariateAggregator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="JsonUnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/class-use/JsonAnalytics.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/class-use/JsonAnalytics.html
new file mode 100644
index 0000000..c32bf13
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/class-use/JsonAnalytics.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.json.JsonAnalytics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.json.JsonAnalytics (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/json/class-use/JsonAnalytics.html" target="_top">Frames</a></li>
+<li><a href="JsonAnalytics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.json.JsonAnalytics" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.json.JsonAnalytics</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.analytics.math3.json.JsonAnalytics</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/json/class-use/JsonAnalytics.html" target="_top">Frames</a></li>
+<li><a href="JsonAnalytics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregate.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregate.html
new file mode 100644
index 0000000..05ef57b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregate.html
@@ -0,0 +1,251 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="JsonUnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate" class="title">Uses of Interface<br>org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
+<td class="colLast">
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a> in <a href="../../../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a> with parameters of type <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</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 &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valueProperty,
+         <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+         <a href="../../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+         <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+             <a href="../../../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+             <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Create a Function that aggregates against a single <code>Numeric</code>
+ variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static com.google.gson.JsonElement</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#getMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">getMvAggregate</a></span>(com.google.gson.JsonObject&nbsp;jo,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
+              <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Get the value of an aggregate computed by a multi-variable aggregation.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#hasMvAggregate-com.google.gson.JsonObject-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate-">hasMvAggregate</a></span>(com.google.gson.JsonObject&nbsp;jo,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
+              <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Check if an aggregation result from a multi-variable aggregation
+ is present.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mkAggregationSpec-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">mkAggregationSpec</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;variableName,
+                 <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Create an aggregation specification.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a> in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that implement <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></span></code>
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></span></code>
+<div class="block">Statistic implementations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregate.html" target="_top">Frames</a></li>
+<li><a href="JsonUnivariateAggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregator.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregator.html
new file mode 100644
index 0000000..f926243
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregator.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregator (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="JsonUnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.analytics.math3.json.JsonUnivariateAggregator" class="title">Uses of Interface<br>org.apache.edgent.analytics.math3.json.JsonUnivariateAggregator</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a> in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that implement <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></span></code>
+<div class="block">JSON univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that return <a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Statistic.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#get--">get</a></span>()</code>
+<div class="block">Return a new instance of this statistic implementation.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregator.html" target="_top">Frames</a></li>
+<li><a href="JsonUnivariateAggregator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-frame.html
new file mode 100644
index 0000000..b20b49a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-frame.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/edgent/analytics/math3/json/package-summary.html" target="classFrame">org.apache.edgent.analytics.math3.json</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json" target="classFrame"><span class="interfaceName">JsonUnivariateAggregate</span></a></li>
+<li><a href="JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json" target="classFrame"><span class="interfaceName">JsonUnivariateAggregator</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json" target="classFrame">JsonAnalytics</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-summary.html
new file mode 100644
index 0000000..c7d8207
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-summary.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.analytics.math3.json (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.analytics.math3.json</h1>
+<div class="docSummary">
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></td>
+<td class="colLast">
+<div class="block">Univariate aggregate for a JSON tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></td>
+<td class="colLast">
+<div class="block">Univariate aggregator for JSON tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json">JsonAnalytics</a></td>
+<td class="colLast">
+<div class="block">Apache Common Math analytics for streams with JSON tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.analytics.math3.json Description">Package org.apache.edgent.analytics.math3.json Description</h2>
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-tree.html
new file mode 100644
index 0000000..aa55134
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-tree.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.json Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.analytics.math3.json Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.analytics.math3.json</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonAnalytics</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonUnivariateAggregator</span></a></li>
+<li type="circle">java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
+<ul>
+<li type="circle">org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Supplier</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonUnivariateAggregate</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-use.html
new file mode 100644
index 0000000..df4861a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/json/package-use.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.analytics.math3.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.analytics.math3.json (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.analytics.math3.json" class="title">Uses of Package<br>org.apache.edgent.analytics.math3.json</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
+<td class="colLast">
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a> used by <a href="../../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregate.html#org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>
+<div class="block">Univariate aggregate for a JSON tuple.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a> used by <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregate.html#org.apache.edgent.analytics.math3.stat">JsonUnivariateAggregate</a>
+<div class="block">Univariate aggregate for a JSON tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/analytics/math3/json/class-use/JsonUnivariateAggregator.html#org.apache.edgent.analytics.math3.stat">JsonUnivariateAggregator</a>
+<div class="block">Univariate aggregator for JSON tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/json/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-frame.html
new file mode 100644
index 0000000..3ddf0c4
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-frame.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html" target="classFrame">org.apache.edgent.analytics.math3</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3" target="classFrame"><span class="interfaceName">UnivariateAggregate</span></a></li>
+<li><a href="UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3" target="classFrame"><span class="interfaceName">UnivariateAggregator</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Aggregations.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">Aggregations</a></li>
+<li><a href="MvResultMap.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">MvResultMap</a></li>
+<li><a href="ResultMap.html" title="class in org.apache.edgent.analytics.math3" target="classFrame">ResultMap</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-summary.html
new file mode 100644
index 0000000..b62a297
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-summary.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.analytics.math3 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.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>Prev&nbsp;Package</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.analytics.math3</h1>
+<div class="docSummary">
+<div class="block">Analytics using Apache Commons Math.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></td>
+<td class="colLast">
+<div class="block">Univariate aggregate for a tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></td>
+<td class="colLast">
+<div class="block">Univariate aggregator for tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3">Aggregations</a></td>
+<td class="colLast">
+<div class="block">Apache Common Math analytics for Collections.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a></td>
+<td class="colLast">
+<div class="block">Aggregation results for multiple aggregated variables.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></td>
+<td class="colLast">
+<div class="block">Aggregation results for a single aggregated variable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.analytics.math3 Description">Package org.apache.edgent.analytics.math3 Description</h2>
+<div class="block">Analytics using Apache Commons Math.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.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>Prev&nbsp;Package</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-tree.html
new file mode 100644
index 0000000..a148177
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-tree.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3 Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.analytics.math3 Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/json/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.analytics.math3</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractMap</span></a>&lt;K,V&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;)
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">HashMap</span></a>&lt;K,V&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">MvResultMap</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">ResultMap</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Aggregations</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
+<ul>
+<li type="circle">org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Supplier</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregate</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregator</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li><a href="../../../../../org/apache/edgent/analytics/math3/json/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-use.html
new file mode 100644
index 0000000..369f169
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/package-use.html
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.analytics.math3 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.analytics.math3 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.analytics.math3" class="title">Uses of Package<br>org.apache.edgent.analytics.math3</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> used by <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/math3/class-use/MvResultMap.html#org.apache.edgent.analytics.math3">MvResultMap</a>
+<div class="block">Aggregation results for multiple aggregated variables.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/math3/class-use/ResultMap.html#org.apache.edgent.analytics.math3">ResultMap</a>
+<div class="block">Aggregation results for a single aggregated variable.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html#org.apache.edgent.analytics.math3">UnivariateAggregate</a>
+<div class="block">Univariate aggregate for a tuple.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> used by <a href="../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/math3/class-use/UnivariateAggregate.html#org.apache.edgent.analytics.math3.stat">UnivariateAggregate</a>
+<div class="block">Univariate aggregate for a tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/math3/class-use/UnivariateAggregator.html#org.apache.edgent.analytics.math3.stat">UnivariateAggregator</a>
+<div class="block">Univariate aggregator for tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/math3/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html
new file mode 100644
index 0000000..d7932e4
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html
@@ -0,0 +1,348 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonStorelessStatistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JsonStorelessStatistic (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonStorelessStatistic.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="JsonStorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.stat</div>
+<h2 title="Class JsonStorelessStatistic" class="title">Class JsonStorelessStatistic</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.stat.JsonStorelessStatistic</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">JsonStorelessStatistic</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></pre>
+<div class="block">JSON univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#JsonStorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">JsonStorelessStatistic</a></span>(<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;stat,
+                      org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic&nbsp;statImpl)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#clear-com.google.gson.JsonElement-int-">clear</a></span>(com.google.gson.JsonElement&nbsp;partition,
+     int&nbsp;n)</code>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#increment-double-">increment</a></span>(double&nbsp;v)</code>
+<div class="block">Add a value to the aggregation.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#result-com.google.gson.JsonElement-com.google.gson.JsonObject-">result</a></span>(com.google.gson.JsonElement&nbsp;partition,
+      com.google.gson.JsonObject&nbsp;result)</code>
+<div class="block">Place the result of the aggregation into the <code>result</code>
+ object.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="JsonStorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JsonStorelessStatistic</h4>
+<pre>public&nbsp;JsonStorelessStatistic(<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;stat,
+                              org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic&nbsp;statImpl)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="clear-com.google.gson.JsonElement-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>public&nbsp;void&nbsp;clear(com.google.gson.JsonElement&nbsp;partition,
+                  int&nbsp;n)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#clear-com.google.gson.JsonElement-int-">JsonUnivariateAggregator</a></code></span></div>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#clear-com.google.gson.JsonElement-int-">clear</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>partition</code> - Partition key.</dd>
+<dd><code>n</code> - Number of tuples to be aggregated.</dd>
+</dl>
+</li>
+</ul>
+<a name="increment-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>increment</h4>
+<pre>public&nbsp;void&nbsp;increment(double&nbsp;v)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#increment-double-">JsonUnivariateAggregator</a></code></span></div>
+<div class="block">Add a value to the aggregation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#increment-double-">increment</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>v</code> - Value to be added.</dd>
+</dl>
+</li>
+</ul>
+<a name="result-com.google.gson.JsonElement-com.google.gson.JsonObject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>result</h4>
+<pre>public&nbsp;void&nbsp;result(com.google.gson.JsonElement&nbsp;partition,
+                   com.google.gson.JsonObject&nbsp;result)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#result-com.google.gson.JsonElement-com.google.gson.JsonObject-">JsonUnivariateAggregator</a></code></span></div>
+<div class="block">Place the result of the aggregation into the <code>result</code>
+ object. The key for the result must be
+ <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#name--"><code>JsonUnivariateAggregate.name()</code></a> for the corresponding
+ aggregate. The value of the aggregation may be a primitive value
+ such as a <code>double</code> or any valid JSON element.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html#result-com.google.gson.JsonElement-com.google.gson.JsonObject-">result</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>partition</code> - Partition key.</dd>
+<dd><code>result</code> - JSON object holding the result.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonStorelessStatistic.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="JsonStorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Regression.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Regression.html
new file mode 100644
index 0000000..a5f98e9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Regression.html
@@ -0,0 +1,380 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Regression (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Regression (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Regression.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Regression.html" target="_top">Frames</a></li>
+<li><a href="Regression.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.stat</div>
+<h2 title="Enum Regression" class="title">Enum Regression</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.stat.Regression</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&gt;, <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public enum <span class="typeNameLabel">Regression</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&gt;
+implements <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></pre>
+<div class="block">Univariate regression aggregates.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html#SLOPE">SLOPE</a></span></code>
+<div class="block">Calculate the slope of a single variable.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></h3>
+<code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#N">N</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></h3>
+<code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#name--">name</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.function.Supplier">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></h3>
+<code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="SLOPE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SLOPE</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a> SLOPE</pre>
+<div class="block">Calculate the slope of a single variable.
+ The slope is calculated using the first
+ order of a ordinary least squares
+ linear regression.
+ The list of values for the single
+ single variable are processed as Y-values
+ that are evenly spaced on the X-axis.
+ <BR>
+ This is useful as a simple determination
+ if the variable is increasing or decreasing.
+ <BR>
+ The slope value is represented as a <code>double</code>
+ with the key <code>SLOPE</code> in the aggregate result.
+ <BR>
+ If the window to be aggregated contains less than
+ two values then no regression is performed.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Regression c : Regression.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Regression.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Regression.html" target="_top">Frames</a></li>
+<li><a href="Regression.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Regression2.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Regression2.html
new file mode 100644
index 0000000..44927c3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Regression2.html
@@ -0,0 +1,368 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Regression2 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Regression2 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Regression2.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Regression2.html" target="_top">Frames</a></li>
+<li><a href="Regression2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.stat</div>
+<h2 title="Enum Regression2" class="title">Enum Regression2</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.stat.Regression2</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>&gt;, <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public enum <span class="typeNameLabel">Regression2</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>&gt;
+implements <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></pre>
+<div class="block">Univariate regression aggregates.
+
+ Unfortunately the implicitly-Json Regression wasn't named JsonRegresson.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html#SLOPE">SLOPE</a></span></code>
+<div class="block">Calculate the slope of a single variable.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.analytics.math3.UnivariateAggregate">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.analytics.math3.<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></h3>
+<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html#name--">name</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.function.Supplier">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></h3>
+<code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="SLOPE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SLOPE</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a> SLOPE</pre>
+<div class="block">Calculate the slope of a single variable.
+ The slope is calculated using the first
+ order of a ordinary least squares
+ linear regression.
+ The list of values for the single
+ single variable are processed as Y-values
+ that are evenly spaced on the X-axis.
+ <BR>
+ This is useful as a simple determination
+ if the variable is increasing or decreasing.
+ <BR>
+ The slope value is represented as a <code>double</code>
+ with the key <code>SLOPE</code> in the aggregate result.
+ <BR>
+ If the collection to be aggregated contains less than
+ two values then no regression is performed 
+ (an associated UnivariateAggregator.getResult() returns NaN).</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Regression2 c : Regression2.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Regression2.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Regression2.html" target="_top">Frames</a></li>
+<li><a href="Regression2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Statistic.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Statistic.html
new file mode 100644
index 0000000..416fd2e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Statistic.html
@@ -0,0 +1,455 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Statistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Statistic (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Statistic.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Statistic.html" target="_top">Frames</a></li>
+<li><a href="Statistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.stat</div>
+<h2 title="Enum Statistic" class="title">Enum Statistic</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.stat.Statistic</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&gt;, <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public enum <span class="typeNameLabel">Statistic</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&gt;
+implements <a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></pre>
+<div class="block">Statistic implementations.
+ 
+ Univariate statistic aggregate calculations against a value
+ extracted from a <code>JsonObject</code>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><code>JsonAnalytics</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#MAX">MAX</a></span></code>
+<div class="block">Calculate the maximum.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#MEAN">MEAN</a></span></code>
+<div class="block">Calculate the arithmetic mean.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#MIN">MIN</a></span></code>
+<div class="block">Calculate the minimum.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#STDDEV">STDDEV</a></span></code>
+<div class="block">Calculate the standard deviation.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#SUM">SUM</a></span></code>
+<div class="block">Calculate the sum.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></h3>
+<code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#N">N</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#get--">get</a></span>()</code>
+<div class="block">Return a new instance of this statistic implementation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></h3>
+<code><a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html#name--">name</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="MEAN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MEAN</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a> MEAN</pre>
+<div class="block">Calculate the arithmetic mean.
+ The mean value is represented as a <code>double</code>
+ with the key <code>MEAN</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="MIN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MIN</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a> MIN</pre>
+<div class="block">Calculate the minimum.
+ The minimum value is represented as a <code>double</code>
+ with the key <code>MIN</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="MAX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MAX</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a> MAX</pre>
+<div class="block">Calculate the maximum.
+ The maximum value is represented as a <code>double</code>
+ with the key <code>MAXIMUM</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="SUM">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SUM</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a> SUM</pre>
+<div class="block">Calculate the sum.
+ The sum is represented as a <code>double</code>
+ with the key <code>SUM</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="STDDEV">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>STDDEV</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a> STDDEV</pre>
+<div class="block">Calculate the standard deviation.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Statistic c : Statistic.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+<a name="get--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>get</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&nbsp;get()</pre>
+<div class="block">Return a new instance of this statistic implementation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new instance of this statistic implementation.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Statistic.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Statistic.html" target="_top">Frames</a></li>
+<li><a href="Statistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Statistic2.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Statistic2.html
new file mode 100644
index 0000000..daad47f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/Statistic2.html
@@ -0,0 +1,460 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Statistic2 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Statistic2 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Statistic2.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Statistic2.html" target="_top">Frames</a></li>
+<li><a href="Statistic2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.stat</div>
+<h2 title="Enum Statistic2" class="title">Enum Statistic2</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.stat.Statistic2</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&gt;, <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public enum <span class="typeNameLabel">Statistic2</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&gt;
+implements <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></pre>
+<div class="block">Statistic implementations.
+ 
+ Univariate statistic aggregate calculations against a value
+ extracted from a tuple.
+ 
+ Unfortunately the implicitly-Json Statistic wasn't named JsonStatistic.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><code>Aggregations</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#COUNT">COUNT</a></span></code>
+<div class="block">Calculate the number of elements in the collection.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#MAX">MAX</a></span></code>
+<div class="block">Calculate the maximum.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#MEAN">MEAN</a></span></code>
+<div class="block">Calculate the arithmetic mean.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#MIN">MIN</a></span></code>
+<div class="block">Calculate the minimum.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#STDDEV">STDDEV</a></span></code>
+<div class="block">Calculate the standard deviation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#SUM">SUM</a></span></code>
+<div class="block">Calculate the sum.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#get--">get</a></span>()</code>
+<div class="block">Return a new instance of this statistic implementation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.analytics.math3.UnivariateAggregate">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.analytics.math3.<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></h3>
+<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html#name--">name</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="COUNT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COUNT</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> COUNT</pre>
+<div class="block">Calculate the number of elements in the collection.
+ The value is represented as a <code>double</code>
+ with the key <code>COUNT</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="MEAN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MEAN</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> MEAN</pre>
+<div class="block">Calculate the arithmetic mean.
+ The mean value is represented as a <code>double</code>
+ with the key <code>MEAN</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="MIN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MIN</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> MIN</pre>
+<div class="block">Calculate the minimum.
+ The minimum value is represented as a <code>double</code>
+ with the key <code>MIN</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="MAX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MAX</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> MAX</pre>
+<div class="block">Calculate the maximum.
+ The maximum value is represented as a <code>double</code>
+ with the key <code>MAXIMUM</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="SUM">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SUM</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> SUM</pre>
+<div class="block">Calculate the sum.
+ The sum is represented as a <code>double</code>
+ with the key <code>SUM</code> in the aggregate result.</div>
+</li>
+</ul>
+<a name="STDDEV">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>STDDEV</h4>
+<pre>public static final&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> STDDEV</pre>
+<div class="block">Calculate the standard deviation.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Statistic2 c : Statistic2.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+<a name="get--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>get</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&nbsp;get()</pre>
+<div class="block">Return a new instance of this statistic implementation.
+ N.B. must call clear(n) before using the result.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new instance of this statistic implementation.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Statistic2.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/Statistic2.html" target="_top">Frames</a></li>
+<li><a href="Statistic2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/StorelessStatistic.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/StorelessStatistic.html
new file mode 100644
index 0000000..3f00ca9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/StorelessStatistic.html
@@ -0,0 +1,362 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StorelessStatistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StorelessStatistic (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StorelessStatistic.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="StorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.math3.stat</div>
+<h2 title="Class StorelessStatistic" class="title">Class StorelessStatistic</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.math3.stat.StorelessStatistic</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">StorelessStatistic</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></pre>
+<div class="block">Univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#StorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic2-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">StorelessStatistic</a></span>(<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&nbsp;stat,
+                  org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic&nbsp;statImpl)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#clear-int-">clear</a></span>(int&nbsp;n)</code>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#getAggregate--">getAggregate</a></span>()</code>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#getResult--">getResult</a></span>()</code>
+<div class="block">Get the aggregation result.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#increment-double-">increment</a></span>(double&nbsp;v)</code>
+<div class="block">Add a value to the aggregation.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="StorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic2-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StorelessStatistic</h4>
+<pre>public&nbsp;StorelessStatistic(<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&nbsp;stat,
+                          org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic&nbsp;statImpl)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getAggregate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAggregate</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;getAggregate()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getAggregate--">UnivariateAggregator</a></code></span></div>
+<div class="block">Get the <code>UnivariateAggregate</code> this
+ aggregator is associated with.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getAggregate--">getAggregate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the aggregate</dd>
+</dl>
+</li>
+</ul>
+<a name="clear-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>public&nbsp;void&nbsp;clear(int&nbsp;n)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#clear-int-">UnivariateAggregator</a></code></span></div>
+<div class="block">Clear the aggregator to prepare for a new aggregation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#clear-int-">clear</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>n</code> - Number of tuples to be aggregated.</dd>
+</dl>
+</li>
+</ul>
+<a name="increment-double-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>increment</h4>
+<pre>public&nbsp;void&nbsp;increment(double&nbsp;v)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#increment-double-">UnivariateAggregator</a></code></span></div>
+<div class="block">Add a value to the aggregation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#increment-double-">increment</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>v</code> - Value to be added.</dd>
+</dl>
+</li>
+</ul>
+<a name="getResult--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getResult</h4>
+<pre>public&nbsp;double&nbsp;getResult()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getResult--">UnivariateAggregator</a></code></span></div>
+<div class="block">Get the aggregation result.  It may be a NaN (empty collection, etc) or Infinite value.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html#getResult--">getResult</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the result</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StorelessStatistic.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="StorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/JsonStorelessStatistic.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/JsonStorelessStatistic.html
new file mode 100644
index 0000000..f549466
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/JsonStorelessStatistic.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.JsonStorelessStatistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.JsonStorelessStatistic (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/JsonStorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="JsonStorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.stat.JsonStorelessStatistic" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.stat.JsonStorelessStatistic</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.analytics.math3.stat.JsonStorelessStatistic</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/JsonStorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="JsonStorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Regression.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Regression.html
new file mode 100644
index 0000000..55be3e5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Regression.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.Regression (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.Regression (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Regression.html" target="_top">Frames</a></li>
+<li><a href="Regression.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.stat.Regression" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.stat.Regression</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a> in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that return <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</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="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Regression.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Regression.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Regression.html" target="_top">Frames</a></li>
+<li><a href="Regression.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Regression2.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Regression2.html
new file mode 100644
index 0000000..3350630
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Regression2.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.Regression2 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.Regression2 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Regression2.html" target="_top">Frames</a></li>
+<li><a href="Regression2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.stat.Regression2" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.stat.Regression2</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a> in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that return <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</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="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Regression2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Regression2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Regression2.html" target="_top">Frames</a></li>
+<li><a href="Regression2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Statistic.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Statistic.html
new file mode 100644
index 0000000..e19f714
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Statistic.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.Statistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.Statistic (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Statistic.html" target="_top">Frames</a></li>
+<li><a href="Statistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.stat.Statistic" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.stat.Statistic</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a> in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that return <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</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="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Statistic.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Statistic.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> with parameters of type <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html#JsonStorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">JsonStorelessStatistic</a></span>(<a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>&nbsp;stat,
+                      org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic&nbsp;statImpl)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Statistic.html" target="_top">Frames</a></li>
+<li><a href="Statistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html
new file mode 100644
index 0000000..4732abc
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.Statistic2 (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.Statistic2 (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html" target="_top">Frames</a></li>
+<li><a href="Statistic2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.stat.Statistic2" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.stat.Statistic2</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a> in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that return <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</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="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Statistic2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Statistic2.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> with parameters of type <a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html#StorelessStatistic-org.apache.edgent.analytics.math3.stat.Statistic2-org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic-">StorelessStatistic</a></span>(<a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a>&nbsp;stat,
+                  org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic&nbsp;statImpl)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html" target="_top">Frames</a></li>
+<li><a href="Statistic2.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/StorelessStatistic.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/StorelessStatistic.html
new file mode 100644
index 0000000..0404b55
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/class-use/StorelessStatistic.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.math3.stat.StorelessStatistic (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.math3.stat.StorelessStatistic (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/StorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="StorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.math3.stat.StorelessStatistic" class="title">Uses of Class<br>org.apache.edgent.analytics.math3.stat.StorelessStatistic</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.analytics.math3.stat.StorelessStatistic</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/analytics/math3/stat/class-use/StorelessStatistic.html" target="_top">Frames</a></li>
+<li><a href="StorelessStatistic.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-frame.html
new file mode 100644
index 0000000..19d0803
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-frame.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.stat (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html" target="classFrame">org.apache.edgent.analytics.math3.stat</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat" target="classFrame">JsonStorelessStatistic</a></li>
+<li><a href="StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat" target="classFrame">StorelessStatistic</a></li>
+</ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="Regression.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Regression</a></li>
+<li><a href="Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Regression2</a></li>
+<li><a href="Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Statistic</a></li>
+<li><a href="Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat" target="classFrame">Statistic2</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-summary.html
new file mode 100644
index 0000000..2573e05
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-summary.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.stat (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.analytics.math3.stat (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.analytics.math3.stat</h1>
+<div class="docSummary">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">JsonStorelessStatistic</a></td>
+<td class="colLast">
+<div class="block">JSON univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat">StorelessStatistic</a></td>
+<td class="colLast">
+<div class="block">Univariate aggregator implementation wrapping a <code>StorelessUnivariateStatistic</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
+<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Enum</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></td>
+<td class="colLast">
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></td>
+<td class="colLast">
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></td>
+<td class="colLast">
+<div class="block">Statistic implementations.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></td>
+<td class="colLast">
+<div class="block">Statistic implementations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.analytics.math3.stat Description">Package org.apache.edgent.analytics.math3.stat Description</h2>
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-tree.html
new file mode 100644
index 0000000..9b2ea6d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-tree.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.math3.stat Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.analytics.math3.stat Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.analytics.math3.stat</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">JsonStorelessStatistic</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">StorelessStatistic</span></a> (implements org.apache.edgent.analytics.math3.<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>)</li>
+</ul>
+</li>
+</ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic2</span></a> (implements org.apache.edgent.analytics.math3.<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression2</span></a> (implements org.apache.edgent.analytics.math3.<a href="../../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="../../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="../../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>)</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/analytics/math3/json/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-use.html
new file mode 100644
index 0000000..2c436f9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/math3/stat/package-use.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.analytics.math3.stat (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.analytics.math3.stat (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.analytics.math3.stat" class="title">Uses of Package<br>org.apache.edgent.analytics.math3.stat</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> used by <a href="../../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/class-use/Regression.html#org.apache.edgent.analytics.math3.stat">Regression</a>
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/class-use/Regression2.html#org.apache.edgent.analytics.math3.stat">Regression2</a>
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/class-use/Statistic.html#org.apache.edgent.analytics.math3.stat">Statistic</a>
+<div class="block">Statistic implementations.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/analytics/math3/stat/class-use/Statistic2.html#org.apache.edgent.analytics.math3.stat">Statistic2</a>
+<div class="block">Statistic implementations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/math3/stat/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Deadtime.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Deadtime.html
new file mode 100644
index 0000000..8fe9d85
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Deadtime.html
@@ -0,0 +1,393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Deadtime (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Deadtime (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Deadtime.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/Deadtime.html" target="_top">Frames</a></li>
+<li><a href="Deadtime.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.sensors</div>
+<h2 title="Class Deadtime" class="title">Class Deadtime&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.sensors.Deadtime&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Deadtime&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</pre>
+<div class="block">Deadtime <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><code>Predicate</code></a>.
+ <p>
+ <a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#test-T-"><code>test()</code></a> returns true on its initial call
+ and then false for any calls occurring during the following deadtime period.
+ After the end of a deadtime period, the next call to <code>test()</code> 
+ returns true and a new deadtime period is begun.
+ </p><p>
+ The deadtime period may be changed while the topology is running
+ via <a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#setPeriod-long-java.util.concurrent.TimeUnit-"><code>setPeriod(long, TimeUnit)</code></a>.
+ </p></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadtime-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-"><code>Filters.deadtime()</code></a>, 
+<a href="../../../../../serialized-form.html#org.apache.edgent.analytics.sensors.Deadtime">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#Deadtime--">Deadtime</a></span>()</code>
+<div class="block">Create a new Deadtime Predicate</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#Deadtime-long-java.util.concurrent.TimeUnit-">Deadtime</a></span>(long&nbsp;deadtimePeriod,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Create a new Deadtime Predicate</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod</a></span>(long&nbsp;deadtimePeriod,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Set the deadtime period</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#test-T-">test</a></span>(<a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="type parameter in Deadtime">T</a>&nbsp;value)</code>
+<div class="block">Test the deadtime predicate.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#toString--">toString</a></span>()</code>
+<div class="block">Returns a String for development/debug support.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Deadtime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Deadtime</h4>
+<pre>public&nbsp;Deadtime()</pre>
+<div class="block">Create a new Deadtime Predicate
+ <p>
+ Same as <code>Deadtime(0, TimeUnit.SECONDS)</code></div>
+</li>
+</ul>
+<a name="Deadtime-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Deadtime</h4>
+<pre>public&nbsp;Deadtime(long&nbsp;deadtimePeriod,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Create a new Deadtime Predicate
+ <p>
+ The first received tuple is always "accepted".</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deadtimePeriod</code> - see <a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html#setPeriod-long-java.util.concurrent.TimeUnit-"><code>setPeriod()</code></a></dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a> of <code>deadtimePeriod</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setPeriod-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPeriod</h4>
+<pre>public&nbsp;void&nbsp;setPeriod(long&nbsp;deadtimePeriod,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Set the deadtime period
+ <p>
+ The end of a currently active deadtime period is shortened or extended
+ to match the new deadtime period specification.
+ </p><p>
+ The deadtime period behavior is subject to the accuracy
+ of the system's <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#currentTimeMillis--" title="class or interface in java.lang"><code>System.currentTimeMillis()</code></a>.
+ A period of less than 1ms is equivalent to specifying 0.
+ </p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deadtimePeriod</code> - the amount of time for <code>test()</code>
+        to return false after returning true.
+        Specify a value of 0 for no deadtime period.
+        Must be &gt;= 0.</dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a> of <code>deadtimePeriod</code></dd>
+</dl>
+</li>
+</ul>
+<a name="test-java.lang.Object-">
+<!--   -->
+</a><a name="test-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>test</h4>
+<pre>public&nbsp;boolean&nbsp;test(<a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="type parameter in Deadtime">T</a>&nbsp;value)</pre>
+<div class="block">Test the deadtime predicate.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/function/Predicate.html#test-T-">test</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="type parameter in Deadtime">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - ignored</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>false if in a deadtime period, true otherwise</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<div class="block">Returns a String for development/debug support.  Content subject to change.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Deadtime.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/Deadtime.html" target="_top">Frames</a></li>
+<li><a href="Deadtime.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Filters.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Filters.html
new file mode 100644
index 0000000..038c014
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Filters.html
@@ -0,0 +1,387 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Filters (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Filters (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Filters.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/Filters.html" target="_top">Frames</a></li>
+<li><a href="Filters.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.sensors</div>
+<h2 title="Class Filters" class="title">Class Filters</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.sensors.Filters</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Filters</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Filters aimed at sensors.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static &lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-">deadband</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand)</code>
+<div class="block">Deadband filter.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-long-java.util.concurrent.TimeUnit-">deadband</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
+        long&nbsp;maximumSuppression,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Deadband filter with maximum suppression time.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadtime-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">deadtime</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        long&nbsp;deadtimePeriod,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Deadtime filter.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deadband</h4>
+<pre>public static&nbsp;&lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;deadband(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+                                        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
+                                        long&nbsp;maximumSuppression,
+                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Deadband filter with maximum suppression time.
+ 
+ A filter that discards any tuples that are in the deadband, uninteresting to downstream consumers.
+ <P>
+ A tuple <code>t</code> is passed through the deadband filter if:
+ <UL>
+ <LI>
+ <code>inBand.test(value.apply(t))</code> is false, that is the tuple's value is outside of the deadband
+ </LI>
+ <LI>
+ OR <code>inBand.test(value.apply(t))</code> is true AND the last tuple's value was outside of the deadband.
+ This corresponds to the first tuple's value inside the deadband after a period being outside it.
+ </LI>
+ <LI>
+ OR it has been more than <code>maximumSuppression</code> seconds (in unit <code>unit</code>) 
+ </LI>
+ <LI>
+ OR it is the first tuple (effectively the state of the filter starts as outside of the deadband).
+ </LI>
+ </UL></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type.</dd>
+<dd><code>V</code> - Value type for the deadband function.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream containing readings.</dd>
+<dd><code>value</code> - Function to obtain the tuple's value passed to the deadband function.</dd>
+<dd><code>inBand</code> - Function that defines the deadband.</dd>
+<dd><code>maximumSuppression</code> - Maximum amount of time to suppress values that are in the deadband.</dd>
+<dd><code>unit</code> - Unit for <code>maximumSuppression</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Filtered stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deadband</h4>
+<pre>public static&nbsp;&lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;deadband(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+                                        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand)</pre>
+<div class="block">Deadband filter.
+ 
+ A filter that discards any tuples that are in the deadband, uninteresting to downstream consumers.
+ <P>
+ A tuple <code>t</code> is passed through the deadband filter if:
+ <UL>
+ <LI>
+ <code>inBand.test(value.apply(t))</code> is false, that is the value is outside of the deadband
+ </LI>
+ <LI>
+ OR <code>inBand.test(value.apply(t))</code> is true and the last value was outside of the deadband.
+ This corresponds to the first value inside the deadband after a period being outside it.
+ </LI>
+ <LI>
+ OR it is the first tuple (effectively the state of the filter starts as outside of the deadband).
+ </LI>
+ </UL>
+ <P>
+ Here's an example of how <code>deadband()</code> would pass through tuples for a sequence of
+ values against the shaded dead band area. Circled values are ones that are passed through
+ the filter to the returned stream.
+ <BR>
+ <UL>
+ <LI>All tuples with a value outside the dead band.</LI>
+ <LI>Two tuples with values within the dead band that are the first time values return to being in band
+ after being outside of the dead band.</LI>
+ <LI>The first tuple.</LI>
+ </UL>
+ <BR>
+ <img src="doc-files/deadband.png" alt="Deadband example"></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type.</dd>
+<dd><code>V</code> - Value type for the deadband function.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream containing readings.</dd>
+<dd><code>value</code> - Function to obtain the value passed to the deadband function.</dd>
+<dd><code>inBand</code> - Function that defines the deadband.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Filtered stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="deadtime-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>deadtime</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;deadtime(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                      long&nbsp;deadtimePeriod,
+                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Deadtime filter.
+ 
+ A filter that discards tuples for a period of time after passing
+ a tuple.
+ <p>
+ E.g., for a deadtime period of 30 minutes, after letting a tuple
+ pass through, any tuples received during the next 30 minutes are
+ filtered out.  Then the next arriving tuple is passed through and
+ a new deadtime period is begun.
+ </p><p>
+ Use <a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors"><code>Deadtime</code></a> directly if you need to change the deadtime period
+ while the topology is running.
+ </p></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - TStream to add deadtime filter to</dd>
+<dd><code>deadtimePeriod</code> - the deadtime period in <code>unit</code></dd>
+<dd><code>unit</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a> to apply to <code>deadtimePeriod</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the deadtime filtered stream</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors"><code>Deadtime</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Filters.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/Filters.html" target="_top">Frames</a></li>
+<li><a href="Filters.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Range.BoundType.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Range.BoundType.html
new file mode 100644
index 0000000..2f8b0d0
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Range.BoundType.html
@@ -0,0 +1,354 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Range.BoundType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Range.BoundType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Range.BoundType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/Range.BoundType.html" target="_top">Frames</a></li>
+<li><a href="Range.BoundType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.sensors</div>
+<h2 title="Enum Range.BoundType" class="title">Enum Range.BoundType</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.sensors.Range.BoundType</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">Range.BoundType</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&gt;</pre>
+<div class="block">Exclude or include an endpoint value in the range.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#CLOSED">CLOSED</a></span></code>
+<div class="block">inclusive</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#OPEN">OPEN</a></span></code>
+<div class="block">exclusive</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="OPEN">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>OPEN</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a> OPEN</pre>
+<div class="block">exclusive</div>
+</li>
+</ul>
+<a name="CLOSED">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CLOSED</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a> CLOSED</pre>
+<div class="block">inclusive</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Range.BoundType c : Range.BoundType.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Range.BoundType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/Range.BoundType.html" target="_top">Frames</a></li>
+<li><a href="Range.BoundType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Range.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Range.html
new file mode 100644
index 0000000..30d67c0
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Range.html
@@ -0,0 +1,701 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Range (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Range (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Range.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/Range.html" target="_top">Frames</a></li>
+<li><a href="Range.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.sensors</div>
+<h2 title="Class Range" class="title">Class Range&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.sensors.Range&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - a <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang"><code>Comparable</code></a> value type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">Range&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<div class="block">A generic immutable range of values and a way to 
+ check a value for containment in the range.
+ <p>
+ Useful in filtering in predicates.
+ <p> 
+ A Range consists of a lower and upper endpoint and a <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><code>Range.BoundType</code></a>
+ for each endpoint.
+ <p>
+ <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#CLOSED"><code>Range.BoundType.CLOSED</code></a> includes the endpoint's value in the range and
+ is represented as "[" or "]" in the string form for a lower and upper bound
+ type respectively.
+ <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#OPEN"><code>Range.BoundType.OPEN</code></a> excludes the endpoint's value in the range and 
+ is represented as "(" or ")" in the string form for a lower and upper bound
+ type respectively.  e.g. <code>"[2..5)"</code>
+ <p>
+ Typically, the convenience methods in <a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><code>Ranges</code></a> are used to
+ construct a Range.
+ <p>
+ <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#contains-T-"><code>contains()</code></a> is used to check for containment:
+ e.g.
+ <pre><code>
+ Ranges.closed(2,4).contains(2);    // returns true
+ Ranges.open(2,4).contains(2);      // returns false
+ Ranges.atLeast(2).contains(2);     // returns true
+ Ranges.greaterThan(2).contains(2); // returns false
+ Ranges.atMost(2).contains(2);      // returns true
+ Ranges.lessThan(2).contains(2);    // returns false
+ </code></pre>
+ 
+ <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#toString--"><code>toString()</code></a> yields a convenient string representation and a
+ Range may be created from the string representation.
+ <pre><code>
+ String s = Ranges.closed(2,4).toString(); // yields "[2..4]"
+ Range&lt;Integer&gt; range = Ranges.valueOfInteger(s); // yields a Range&lt;Integer&gt;(2,4)
+ </code></pre>
+ <p>
+ Range works with Gson (<code>new Gson().toJson(Range&lt;T&gt;)</code>.
+ As as documented by Gson, for generic types you must use
+ <code>Gson.fromJson(String, java.lang.reflect.Type)</code> to
+ create a Range from its json.
+ <p>
+ Sample use in a TStream context:
+ <pre><code>
+ TStream&lt;JsonObject&gt; jStream = ...;
+ TStream&lt;JsonObject&gt; filtered = Filters.deadband(jStream,
+                     json -&gt; json.getProperty("pressureReading").asInteger(),
+                     Ranges.closed(10, 30));
+ </code></pre></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.analytics.sensors.Range">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></span></code>
+<div class="block">Exclude or include an endpoint value in the range.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#contains-T-">contains</a></span>(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&nbsp;v)</code>
+<div class="block">Determine if the Region contains the value.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#contains-T-java.util.Comparator-">contains</a></span>(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&nbsp;v,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&gt;&nbsp;cmp)</code>
+<div class="block">Determine if the Region contains the value.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#equals-java.lang.Object-">equals</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>
+<div class="block">Returns true if o is a Range having equal endpoints and bound types to this Range.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#hasLowerEndpoint--">hasLowerEndpoint</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#hasUpperEndpoint--">hasUpperEndpoint</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#lowerBoundType--">lowerBoundType</a></span>()</code>
+<div class="block">Get the BoundType for the lowerEndpoint.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#lowerEndpoint--">lowerEndpoint</a></span>()</code>
+<div class="block">Get the range's lower endpoint.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#range-T-org.apache.edgent.analytics.sensors.Range.BoundType-T-org.apache.edgent.analytics.sensors.Range.BoundType-">range</a></span>(T&nbsp;lowerEndpoint,
+     <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;lbt,
+     T&nbsp;upperEndpoint,
+     <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;ubt)</code>
+<div class="block">Create a new Range&lt;T&gt;</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#test-T-">test</a></span>(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&nbsp;value)</code>
+<div class="block">Predicate.test() implementation.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#toString--">toString</a></span>()</code>
+<div class="block">Yields <code>"&lt;lowerBoundType&gt;&lt;lowerEndpoint&gt;..&lt;upperEndpoint&gt;&lt;upperBoundType&gt;"</code>.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#toStringUnsigned--">toStringUnsigned</a></span>()</code>
+<div class="block">Return a String treating the endpoints as an unsigned value.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#upperBoundType--">upperBoundType</a></span>()</code>
+<div class="block">Get the BoundType for the upperEndpoint.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#upperEndpoint--">upperEndpoint</a></span>()</code>
+<div class="block">Get the range's upper endpoint.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#valueOf-java.lang.String-org.apache.edgent.function.Function-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringValue,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,T&gt;&nbsp;fromString)</code>
+<div class="block">Create a Range from a String produced by toString().</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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="range-java.lang.Comparable-org.apache.edgent.analytics.sensors.Range.BoundType-java.lang.Comparable-org.apache.edgent.analytics.sensors.Range.BoundType-">
+<!--   -->
+</a><a name="range-T-org.apache.edgent.analytics.sensors.Range.BoundType-T-org.apache.edgent.analytics.sensors.Range.BoundType-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>range</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;range(T&nbsp;lowerEndpoint,
+                                                       <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;lbt,
+                                                       T&nbsp;upperEndpoint,
+                                                       <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;ubt)</pre>
+<div class="block">Create a new Range&lt;T&gt;
+ <p>
+ See <a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><code>Ranges</code></a> for a collection of convenience constructors.
+ <p>
+ While not enforced, for a Range to be useful/sensible,
+ the following must be true: <code>lowerEndpoint &lt;= upperEndpoint</code>.
+ Otherwise the Range will be returned but test() and contains()
+ can never return true.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - a Comparable type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerEndpoint</code> - null for an infinite value (and lbt must be OPEN)</dd>
+<dd><code>lbt</code> - <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><code>Range.BoundType</code></a> for the lowerEndpoint</dd>
+<dd><code>upperEndpoint</code> - null for an infinite value (and ubt must be OPEN)</dd>
+<dd><code>ubt</code> - <a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><code>Range.BoundType</code></a> for the upperEndpoint</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+</dl>
+</li>
+</ul>
+<a name="equals-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre>public&nbsp;boolean&nbsp;equals(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
+<div class="block">Returns true if o is a Range having equal endpoints and bound types to this Range.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hashCode--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre>public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hasLowerEndpoint--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasLowerEndpoint</h4>
+<pre>public&nbsp;boolean&nbsp;hasLowerEndpoint()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true iff the Range's lower endpoint isn't unbounded/infinite</dd>
+</dl>
+</li>
+</ul>
+<a name="lowerEndpoint--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lowerEndpoint</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&nbsp;lowerEndpoint()</pre>
+<div class="block">Get the range's lower endpoint.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the endpoint</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if hasLowerEndpoint()==false</dd>
+</dl>
+</li>
+</ul>
+<a name="hasUpperEndpoint--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasUpperEndpoint</h4>
+<pre>public&nbsp;boolean&nbsp;hasUpperEndpoint()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true iff the Range's upper endpoint isn't unbounded/infinite</dd>
+</dl>
+</li>
+</ul>
+<a name="upperEndpoint--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>upperEndpoint</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&nbsp;upperEndpoint()</pre>
+<div class="block">Get the range's upper endpoint.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the endpoint</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if hasUpperEndpoint()==false</dd>
+</dl>
+</li>
+</ul>
+<a name="lowerBoundType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lowerBoundType</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;lowerBoundType()</pre>
+<div class="block">Get the BoundType for the lowerEndpoint.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the BoundType</dd>
+</dl>
+</li>
+</ul>
+<a name="upperBoundType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>upperBoundType</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;upperBoundType()</pre>
+<div class="block">Get the BoundType for the upperEndpoint.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the BoundType</dd>
+</dl>
+</li>
+</ul>
+<a name="contains-java.lang.Comparable-java.util.Comparator-">
+<!--   -->
+</a><a name="contains-T-java.util.Comparator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>contains</h4>
+<pre>public&nbsp;boolean&nbsp;contains(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&nbsp;v,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&gt;&nbsp;cmp)</pre>
+<div class="block">Determine if the Region contains the value.
+ <p>
+ <code>contains(v)</code> typically suffices.  This
+ can be used in cases where it isn't sufficient.
+ E.g., for unsigned byte comparisons
+ <pre>
+ Comparator&lt;Byte&gt; unsignedByteComparator = new Comparator&lt;Byte&gt;() {
+     public int compare(Byte b1, Byte b2) {
+         return intCompareUnsigned(byteToUnsignedInt(b1), byteToUnsignedInt(b2));
+     }
+     public boolean equals(Object o2) { return o2==this; }
+     };
+ Range&lt;Byte&gt; unsignedByteRange = Ranges.valueOfByte("[0..255]");
+ unsignedByteRange.contains(byteValue, unsignedByteComparator);
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>v</code> - the value to check for containment</dd>
+<dd><code>cmp</code> - the Comparator to use</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the Region contains the value</dd>
+</dl>
+</li>
+</ul>
+<a name="contains-java.lang.Comparable-">
+<!--   -->
+</a><a name="contains-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>contains</h4>
+<pre>public&nbsp;boolean&nbsp;contains(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&nbsp;v)</pre>
+<div class="block">Determine if the Region contains the value.
+ <p>
+ The Comparable's compareTo() is used for the comparisons.
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>v</code> - the value to check for containment</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the Region contains the value</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#contains-T-java.util.Comparator-"><code>contains(Comparable, Comparator)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="test-java.lang.Comparable-">
+<!--   -->
+</a><a name="test-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>test</h4>
+<pre>public&nbsp;boolean&nbsp;test(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a>&nbsp;value)</pre>
+<div class="block">Predicate.test() implementation. Identical to contains(value).</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/function/Predicate.html#test-T-">test</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="type parameter in Range">T</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - Value to be tested.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>True if this predicate is true for <code>value</code> otherwise false.</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringValue,
+                                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,T&gt;&nbsp;fromString)</pre>
+<div class="block">Create a Range from a String produced by toString().
+ <p>
+ See <a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><code>Ranges</code></a> for a collection of valueOf methods
+ for several types of <code>T</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - a Comparable type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>toStringValue</code> - value from toString() or has the same syntax.</dd>
+<dd><code>fromString</code> - function to create a T from its String value from
+        the parsed toStringValue.  Should throw an IllegalArgumentException
+        if unable to perform the conversion.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert to 
+         endpoint in toStringValue to a T.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<div class="block">Yields <code>"&lt;lowerBoundType&gt;&lt;lowerEndpoint&gt;..&lt;upperEndpoint&gt;&lt;upperBoundType&gt;"</code>.
+ <p>
+ lowerBoundType is either "[" or "(" for BoundType.CLOSED or OPEN respectively.
+ upperBoundType is either "]" or ")" for BoundType.CLOSED or OPEN respectively.
+ <p>
+ The endpoint value "*" is used to indicate an infinite value.
+ Otherwise, endpoint.toString() is used to get the endpoint's value.
+ <p>
+ Likely yields an undesirable result when wanting to treat
+ a Byte, Short, Integer, or Long T in an unsigned fashion.
+ See toStringUnsigned().
+ <p>
+ No special processing is performed to escape/encode a "." present
+ in an endpoint.toString() value.  Hence Range&lt;T&gt;.toString() for
+ a <code>T</code> of <code>String</code> (of value "." or with embedded ".."),
+ or some other non-numeric type may yield values that are not amenable
+ to parsing by <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#valueOf-java.lang.String-org.apache.edgent.function.Function-"><code>valueOf(String, Function)</code></a>.
+ <br>
+ .e.g.,
+ <pre>
+ "[120..156)"  // lowerEndpoint=120 inclusive, upperEndpoint=156 exclusive
+ "[120..*)"    // an "atLeast" 120 range
+ </pre></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="toStringUnsigned--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toStringUnsigned</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringUnsigned()</pre>
+<div class="block">Return a String treating the endpoints as an unsigned value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>String with same form as <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#toString--"><code>toString()</code></a></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the Range is not one of
+         Byte, Short, Integer, Long</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Range.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/Range.html" target="_top">Frames</a></li>
+<li><a href="Range.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Ranges.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Ranges.html
new file mode 100644
index 0000000..8ed6aa0
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/Ranges.html
@@ -0,0 +1,791 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Ranges (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Ranges (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Ranges.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/Ranges.html" target="_top">Frames</a></li>
+<li><a href="Ranges.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.analytics.sensors</div>
+<h2 title="Class Ranges" class="title">Class Ranges</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.analytics.sensors.Ranges</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">Ranges</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Convenience functions and utility operations on <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><code>Range</code></a>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#Ranges--">Ranges</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#atLeast-T-">atLeast</a></span>(T&nbsp;lowerEndpoint)</code>
+<div class="block">Create a Range [lowerEndpoint..*) (inclusive/CLOSED)</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#atMost-T-">atMost</a></span>(T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range (*..upperEndpoint] (inclusive/CLOSED)</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#closed-T-T-">closed</a></span>(T&nbsp;lowerEndpoint,
+      T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range [lowerEndpoint..upperEndpoint] (both inclusive/CLOSED)</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#closedOpen-T-T-">closedOpen</a></span>(T&nbsp;lowerEndpoint,
+          T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range [lowerEndpoint..upperEndpoint) (inclusive/CLOSED,exclusive/OPEN)</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#greaterThan-T-">greaterThan</a></span>(T&nbsp;lowerEndpoint)</code>
+<div class="block">Create a Range (lowerEndpoint..*) (exclusive/OPEN)</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#lessThan-T-">lessThan</a></span>(T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range (*..upperEndpoint) (exclusive/OPEN)</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#open-T-T-">open</a></span>(T&nbsp;lowerEndpoint,
+    T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range (lowerEndpoint..upperEndpoint) (both exclusive/OPEN)</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#openClosed-T-T-">openClosed</a></span>(T&nbsp;lowerEndpoint,
+          T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range (lowerEndpoint..upperEndpoint] (exclusive/OPEN,inclusive/CLOSED)</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#outsideOf-org.apache.edgent.analytics.sensors.Range-">outsideOf</a></span>(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;range)</code>
+<div class="block">Create a Predicate whose <code>test(v)</code> behaves like <code>! range.test(v)</code></div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#singleton-T-">singleton</a></span>(T&nbsp;endpoint)</code>
+<div class="block">Create a Range [endpoint..endpoint] (both inclusive/CLOSED)</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigDecimal-java.lang.String-">valueOfBigDecimal</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;BigDecimal&gt;.toString() value.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigInteger-java.lang.String-">valueOfBigInteger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;BigInteger&gt;.toString() value.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfByte-java.lang.String-">valueOfByte</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Byte&gt;.toString() value.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfCharacter-java.lang.String-">valueOfCharacter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Character&gt;.toString() value.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfDouble-java.lang.String-">valueOfDouble</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Double&gt;.toString() value.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfFloat-java.lang.String-">valueOfFloat</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Float&gt;.toString() value.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfInteger-java.lang.String-">valueOfInteger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Integer&gt;.toString() value.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfLong-java.lang.String-">valueOfLong</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Long&gt;.toString() value.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfShort-java.lang.String-">valueOfShort</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Short&gt;.toString() value.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfString-java.lang.String-">valueOfString</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;String&gt;.toString() value.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Ranges--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Ranges</h4>
+<pre>public&nbsp;Ranges()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="open-java.lang.Comparable-java.lang.Comparable-">
+<!--   -->
+</a><a name="open-T-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>open</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;open(T&nbsp;lowerEndpoint,
+                                                      T&nbsp;upperEndpoint)</pre>
+<div class="block">Create a Range (lowerEndpoint..upperEndpoint) (both exclusive/OPEN)
+ <p>
+ Same as <code>Range.range(BoundType.OPEN, lowerEndpoint, upperEndpoint, BoundType.OPEN)</code></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Endpoint type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerEndpoint</code> - the endpoint</dd>
+<dd><code>upperEndpoint</code> - the endpoint</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+</dl>
+</li>
+</ul>
+<a name="closed-java.lang.Comparable-java.lang.Comparable-">
+<!--   -->
+</a><a name="closed-T-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>closed</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;closed(T&nbsp;lowerEndpoint,
+                                                        T&nbsp;upperEndpoint)</pre>
+<div class="block">Create a Range [lowerEndpoint..upperEndpoint] (both inclusive/CLOSED)
+ <p>
+ Same as <code>Range.range(BoundType.CLOSED, lowerEndpoint, upperEndpoint, BoundType.CLOSED)</code></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Endpoint type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerEndpoint</code> - the endpoint</dd>
+<dd><code>upperEndpoint</code> - the endpoint</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+</dl>
+</li>
+</ul>
+<a name="openClosed-java.lang.Comparable-java.lang.Comparable-">
+<!--   -->
+</a><a name="openClosed-T-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>openClosed</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;openClosed(T&nbsp;lowerEndpoint,
+                                                            T&nbsp;upperEndpoint)</pre>
+<div class="block">Create a Range (lowerEndpoint..upperEndpoint] (exclusive/OPEN,inclusive/CLOSED)</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Endpoint type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerEndpoint</code> - the endpoint</dd>
+<dd><code>upperEndpoint</code> - the endpoint</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+</dl>
+</li>
+</ul>
+<a name="closedOpen-java.lang.Comparable-java.lang.Comparable-">
+<!--   -->
+</a><a name="closedOpen-T-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>closedOpen</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;closedOpen(T&nbsp;lowerEndpoint,
+                                                            T&nbsp;upperEndpoint)</pre>
+<div class="block">Create a Range [lowerEndpoint..upperEndpoint) (inclusive/CLOSED,exclusive/OPEN)</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Endpoint type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerEndpoint</code> - the endpoint</dd>
+<dd><code>upperEndpoint</code> - the endpoint</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+</dl>
+</li>
+</ul>
+<a name="greaterThan-java.lang.Comparable-">
+<!--   -->
+</a><a name="greaterThan-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>greaterThan</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;greaterThan(T&nbsp;lowerEndpoint)</pre>
+<div class="block">Create a Range (lowerEndpoint..*) (exclusive/OPEN)</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Endpoint type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerEndpoint</code> - the endpoint</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+</dl>
+</li>
+</ul>
+<a name="atLeast-java.lang.Comparable-">
+<!--   -->
+</a><a name="atLeast-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>atLeast</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;atLeast(T&nbsp;lowerEndpoint)</pre>
+<div class="block">Create a Range [lowerEndpoint..*) (inclusive/CLOSED)</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Endpoint type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>lowerEndpoint</code> - the endpoint</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+</dl>
+</li>
+</ul>
+<a name="lessThan-java.lang.Comparable-">
+<!--   -->
+</a><a name="lessThan-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lessThan</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;lessThan(T&nbsp;upperEndpoint)</pre>
+<div class="block">Create a Range (*..upperEndpoint) (exclusive/OPEN)</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Endpoint type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperEndpoint</code> - the endpoint</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+</dl>
+</li>
+</ul>
+<a name="atMost-java.lang.Comparable-">
+<!--   -->
+</a><a name="atMost-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>atMost</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;atMost(T&nbsp;upperEndpoint)</pre>
+<div class="block">Create a Range (*..upperEndpoint] (inclusive/CLOSED)</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Endpoint type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>upperEndpoint</code> - the endpoint</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+</dl>
+</li>
+</ul>
+<a name="singleton-java.lang.Comparable-">
+<!--   -->
+</a><a name="singleton-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>singleton</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;singleton(T&nbsp;endpoint)</pre>
+<div class="block">Create a Range [endpoint..endpoint] (both inclusive/CLOSED)</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Endpoint type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>endpoint</code> - the endpoint</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+</dl>
+</li>
+</ul>
+<a name="outsideOf-org.apache.edgent.analytics.sensors.Range-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>outsideOf</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;outsideOf(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;range)</pre>
+<div class="block">Create a Predicate whose <code>test(v)</code> behaves like <code>! range.test(v)</code>
+ <p>
+ This can be useful in a situation such as filtering to include only values
+ that are outside of a range.
+ <pre><code>
+     TStream&lt;?&gt; outsideRange = readings.filter(Ranges.outsideOf(Ranges.open(10,20)));
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Endpoint type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>range</code> - the Range</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Predicate</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfInteger-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfInteger</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;valueOfInteger(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<div class="block">Create a Range from a Range&lt;Integer&gt;.toString() value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>str</code> - the String</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
+         the endpoint strings to the type</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfShort-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfShort</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a>&gt;&nbsp;valueOfShort(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<div class="block">Create a Range from a Range&lt;Short&gt;.toString() value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>str</code> - the String</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
+         the endpoint strings to the type</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfByte-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfByte</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a>&gt;&nbsp;valueOfByte(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<div class="block">Create a Range from a Range&lt;Byte&gt;.toString() value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>str</code> - the String</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
+         the endpoint strings to the type</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfLong-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfLong</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;valueOfLong(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<div class="block">Create a Range from a Range&lt;Long&gt;.toString() value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>str</code> - the String</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
+         the endpoint strings to the type</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfFloat-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfFloat</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;&nbsp;valueOfFloat(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<div class="block">Create a Range from a Range&lt;Float&gt;.toString() value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>str</code> - the String</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
+         the endpoint strings to the type</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfDouble-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfDouble</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;&nbsp;valueOfDouble(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<div class="block">Create a Range from a Range&lt;Double&gt;.toString() value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>str</code> - the String</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
+         the endpoint strings to the type</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfBigInteger-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfBigInteger</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a>&gt;&nbsp;valueOfBigInteger(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<div class="block">Create a Range from a Range&lt;BigInteger&gt;.toString() value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>str</code> - the String</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
+         the endpoint strings to the type</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfBigDecimal-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfBigDecimal</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&gt;&nbsp;valueOfBigDecimal(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<div class="block">Create a Range from a Range&lt;BigDecimal&gt;.toString() value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>str</code> - the String</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
+         the endpoint strings to the type</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfString-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfString</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueOfString(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<div class="block">Create a Range from a Range&lt;String&gt;.toString() value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>str</code> - the String</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if str includes a String
+ endpoint value containing "..".</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfCharacter-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOfCharacter</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>&gt;&nbsp;valueOfCharacter(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</pre>
+<div class="block">Create a Range from a Range&lt;Character&gt;.toString() value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>str</code> - the String</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Range</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if unable to parse or convert
+         the endpoint strings to the type</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Ranges.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/Ranges.html" target="_top">Frames</a></li>
+<li><a href="Ranges.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Deadtime.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Deadtime.html
new file mode 100644
index 0000000..3487f7e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Deadtime.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.sensors.Deadtime (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Deadtime (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/sensors/class-use/Deadtime.html" target="_top">Frames</a></li>
+<li><a href="Deadtime.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.sensors.Deadtime" class="title">Uses of Class<br>org.apache.edgent.analytics.sensors.Deadtime</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.analytics.sensors.Deadtime</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/sensors/class-use/Deadtime.html" target="_top">Frames</a></li>
+<li><a href="Deadtime.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Filters.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Filters.html
new file mode 100644
index 0000000..6270fcb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Filters.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.sensors.Filters (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Filters (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/sensors/class-use/Filters.html" target="_top">Frames</a></li>
+<li><a href="Filters.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.sensors.Filters" class="title">Uses of Class<br>org.apache.edgent.analytics.sensors.Filters</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.analytics.sensors.Filters</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/sensors/class-use/Filters.html" target="_top">Frames</a></li>
+<li><a href="Filters.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Range.BoundType.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Range.BoundType.html
new file mode 100644
index 0000000..7887e32
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Range.BoundType.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.sensors.Range.BoundType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Range.BoundType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/sensors/class-use/Range.BoundType.html" target="_top">Frames</a></li>
+<li><a href="Range.BoundType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.sensors.Range.BoundType" class="title">Uses of Class<br>org.apache.edgent.analytics.sensors.Range.BoundType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors</a></td>
+<td class="colLast">
+<div class="block">Analytics focused on handling sensor data.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.sensors">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a> in <a href="../../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> that return <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html#lowerBoundType--">lowerBoundType</a></span>()</code>
+<div class="block">Get the BoundType for the lowerEndpoint.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html#upperBoundType--">upperBoundType</a></span>()</code>
+<div class="block">Get the BoundType for the upperEndpoint.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Range.BoundType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Range.BoundType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> with parameters of type <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</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 &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html#range-T-org.apache.edgent.analytics.sensors.Range.BoundType-T-org.apache.edgent.analytics.sensors.Range.BoundType-">range</a></span>(T&nbsp;lowerEndpoint,
+     <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;lbt,
+     T&nbsp;upperEndpoint,
+     <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;ubt)</code>
+<div class="block">Create a new Range&lt;T&gt;</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/sensors/class-use/Range.BoundType.html" target="_top">Frames</a></li>
+<li><a href="Range.BoundType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Range.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Range.html
new file mode 100644
index 0000000..c17325a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Range.html
@@ -0,0 +1,313 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.sensors.Range (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Range (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/sensors/class-use/Range.html" target="_top">Frames</a></li>
+<li><a href="Range.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.sensors.Range" class="title">Uses of Class<br>org.apache.edgent.analytics.sensors.Range</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors</a></td>
+<td class="colLast">
+<div class="block">Analytics focused on handling sensor data.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.sensors">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a> in <a href="../../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> that return <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</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 &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#atLeast-T-">atLeast</a></span>(T&nbsp;lowerEndpoint)</code>
+<div class="block">Create a Range [lowerEndpoint..*) (inclusive/CLOSED)</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#atMost-T-">atMost</a></span>(T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range (*..upperEndpoint] (inclusive/CLOSED)</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#closed-T-T-">closed</a></span>(T&nbsp;lowerEndpoint,
+      T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range [lowerEndpoint..upperEndpoint] (both inclusive/CLOSED)</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#closedOpen-T-T-">closedOpen</a></span>(T&nbsp;lowerEndpoint,
+          T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range [lowerEndpoint..upperEndpoint) (inclusive/CLOSED,exclusive/OPEN)</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#greaterThan-T-">greaterThan</a></span>(T&nbsp;lowerEndpoint)</code>
+<div class="block">Create a Range (lowerEndpoint..*) (exclusive/OPEN)</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#lessThan-T-">lessThan</a></span>(T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range (*..upperEndpoint) (exclusive/OPEN)</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#open-T-T-">open</a></span>(T&nbsp;lowerEndpoint,
+    T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range (lowerEndpoint..upperEndpoint) (both exclusive/OPEN)</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#openClosed-T-T-">openClosed</a></span>(T&nbsp;lowerEndpoint,
+          T&nbsp;upperEndpoint)</code>
+<div class="block">Create a Range (lowerEndpoint..upperEndpoint] (exclusive/OPEN,inclusive/CLOSED)</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html#range-T-org.apache.edgent.analytics.sensors.Range.BoundType-T-org.apache.edgent.analytics.sensors.Range.BoundType-">range</a></span>(T&nbsp;lowerEndpoint,
+     <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;lbt,
+     T&nbsp;upperEndpoint,
+     <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a>&nbsp;ubt)</code>
+<div class="block">Create a new Range&lt;T&gt;</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#singleton-T-">singleton</a></span>(T&nbsp;endpoint)</code>
+<div class="block">Create a Range [endpoint..endpoint] (both inclusive/CLOSED)</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html#valueOf-java.lang.String-org.apache.edgent.function.Function-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringValue,
+       <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,T&gt;&nbsp;fromString)</code>
+<div class="block">Create a Range from a String produced by toString().</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math">BigDecimal</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigDecimal-java.lang.String-">valueOfBigDecimal</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;BigDecimal&gt;.toString() value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math">BigInteger</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfBigInteger-java.lang.String-">valueOfBigInteger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;BigInteger&gt;.toString() value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Byte.html?is-external=true" title="class or interface in java.lang">Byte</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfByte-java.lang.String-">valueOfByte</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Byte&gt;.toString() value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfCharacter-java.lang.String-">valueOfCharacter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Character&gt;.toString() value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfDouble-java.lang.String-">valueOfDouble</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Double&gt;.toString() value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Float.html?is-external=true" title="class or interface in java.lang">Float</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfFloat-java.lang.String-">valueOfFloat</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Float&gt;.toString() value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfInteger-java.lang.String-">valueOfInteger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Integer&gt;.toString() value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfLong-java.lang.String-">valueOfLong</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Long&gt;.toString() value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Short.html?is-external=true" title="class or interface in java.lang">Short</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfShort-java.lang.String-">valueOfShort</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;Short&gt;.toString() value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#valueOfString-java.lang.String-">valueOfString</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;str)</code>
+<div class="block">Create a Range from a Range&lt;String&gt;.toString() value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> with parameters of type <a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</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 &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html#outsideOf-org.apache.edgent.analytics.sensors.Range-">outsideOf</a></span>(<a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;range)</code>
+<div class="block">Create a Predicate whose <code>test(v)</code> behaves like <code>! range.test(v)</code></div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/sensors/class-use/Range.html" target="_top">Frames</a></li>
+<li><a href="Range.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Ranges.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Ranges.html
new file mode 100644
index 0000000..a1332f1
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/class-use/Ranges.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.analytics.sensors.Ranges (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.analytics.sensors.Ranges (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/sensors/class-use/Ranges.html" target="_top">Frames</a></li>
+<li><a href="Ranges.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.analytics.sensors.Ranges" class="title">Uses of Class<br>org.apache.edgent.analytics.sensors.Ranges</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.analytics.sensors.Ranges</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/analytics/sensors/class-use/Ranges.html" target="_top">Frames</a></li>
+<li><a href="Ranges.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/doc-files/deadband.png b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/doc-files/deadband.png
new file mode 100644
index 0000000..2426eda
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/doc-files/deadband.png
Binary files differ
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-frame.html
new file mode 100644
index 0000000..d7e9928
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-frame.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.sensors (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html" target="classFrame">org.apache.edgent.analytics.sensors</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Deadtime.html" title="class in org.apache.edgent.analytics.sensors" target="classFrame">Deadtime</a></li>
+<li><a href="Filters.html" title="class in org.apache.edgent.analytics.sensors" target="classFrame">Filters</a></li>
+<li><a href="Range.html" title="class in org.apache.edgent.analytics.sensors" target="classFrame">Range</a></li>
+<li><a href="Ranges.html" title="class in org.apache.edgent.analytics.sensors" target="classFrame">Ranges</a></li>
+</ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors" target="classFrame">Range.BoundType</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-summary.html
new file mode 100644
index 0000000..efc83d4
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-summary.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.sensors (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.analytics.sensors (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/apps/iot/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.analytics.sensors</h1>
+<div class="docSummary">
+<div class="block">Analytics focused on handling sensor data.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Deadtime <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><code>Predicate</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors">Filters</a></td>
+<td class="colLast">
+<div class="block">Filters aimed at sensors.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</td>
+<td class="colLast">
+<div class="block">A generic immutable range of values and a way to 
+ check a value for containment in the range.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors">Ranges</a></td>
+<td class="colLast">
+<div class="block">Convenience functions and utility operations on <a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><code>Range</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
+<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Enum</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a></td>
+<td class="colLast">
+<div class="block">Exclude or include an endpoint value in the range.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.analytics.sensors Description">Package org.apache.edgent.analytics.sensors Description</h2>
+<div class="block">Analytics focused on handling sensor data.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/apps/iot/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-tree.html
new file mode 100644
index 0000000..62be58f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-tree.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.analytics.sensors Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.analytics.sensors Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/stat/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/apps/iot/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.analytics.sensors</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Deadtime</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Filters</span></a></li>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Ranges</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="../../../../../org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range.BoundType</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/math3/stat/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/apps/iot/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-use.html
new file mode 100644
index 0000000..3eabfcd
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/analytics/sensors/package-use.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.analytics.sensors (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.analytics.sensors (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.analytics.sensors" class="title">Uses of Package<br>org.apache.edgent.analytics.sensors</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors</a></td>
+<td class="colLast">
+<div class="block">Analytics focused on handling sensor data.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.sensors">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> used by <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/sensors/class-use/Range.html#org.apache.edgent.analytics.sensors">Range</a>
+<div class="block">A generic immutable range of values and a way to 
+ check a value for containment in the range.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/analytics/sensors/class-use/Range.BoundType.html#org.apache.edgent.analytics.sensors">Range.BoundType</a>
+<div class="block">Exclude or include an endpoint value in the range.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/analytics/sensors/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/IotDevicePubSub.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/IotDevicePubSub.html
new file mode 100644
index 0000000..6b7809c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/IotDevicePubSub.html
@@ -0,0 +1,437 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotDevicePubSub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="IotDevicePubSub (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotDevicePubSub.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/iot/IotDevicePubSub.html" target="_top">Frames</a></li>
+<li><a href="IotDevicePubSub.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.apps.iot</div>
+<h2 title="Class IotDevicePubSub" class="title">Class IotDevicePubSub</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.apps.iot.IotDevicePubSub</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">IotDevicePubSub</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Application sharing an <code>IotDevice</code> through publish-subscribe. <BR>
+ This application shares an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> across multiple running
+ jobs. This allows a single connection to a back-end message hub to be shared
+ across multiple independent applications, without having to build a single
+ topology.
+ <P>
+ Applications coded to <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> obtain a topology specific
+ <code>IotDevice</code> using <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-"><code>addIotDevice(TopologyElement)</code></a>. This returned
+ device will route events and commands to/from the actual message hub
+ <code>IotDevice</code> through publish-subscribe.
+ <P>
+ An instance of this application is created by first creating a new topology and
+ then creating a <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> specific to the desired message hub. Then
+ the application is created by calling <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#createApplication-org.apache.edgent.connectors.iot.IotDevice-"><code>createApplication(IotDevice)</code></a>
+ passing the <code>IotDevice</code>. <BR>
+ Then additional independent applications (topologies) can be created and they
+ create a proxy <code>IotDevice</code> for their topology using
+ <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-"><code>addIotDevice(TopologyElement)</code></a>. This proxy <code>IotDevice</code> is then
+ used to send device events and receive device commands in that topology. <BR>
+ Once all the topologies have been declared they can be submitted.
+ </P>
+ <P>
+ At startup this application sends a single device event with
+ identifier <a href="../../../../../org/apache/edgent/connectors/iot/Events.html#IOT_START"><code>Events.IOT_START</code></a>. This performs two functions:
+ </P>
+ <UL>
+ <LI>Initiates a connection to the message hub.</LI>
+ <LI>Allows external applications to be notified (by subscribing to device events)
+ when an Edgent provider starts.</LI>
+ </UL></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub"><code>PublishSubscribe</code></a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#APP_NAME">APP_NAME</a></span></code>
+<div class="block">IotDevicePubSub application name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#COMMANDS_TOPIC">COMMANDS_TOPIC</a></span></code>
+<div class="block">Device commands are published to "edgent/iot/commands" by
+ this application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#EVENTS_TOPIC">EVENTS_TOPIC</a></span></code>
+<div class="block">Events published to topic "edgent/iot/events" are sent as device events using the
+ actual message hub <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#IotDevicePubSub--">IotDevicePubSub</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-">addIotDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te)</code>
+<div class="block">Add a proxy <code>IotDevice</code> for the topology containing <code>te</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#createApplication-org.apache.edgent.connectors.iot.IotDevice-">createApplication</a></span>(<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device)</code>
+<div class="block">Create an instance of this application using <code>device</code> as the device
+ connection to a message hub.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="APP_NAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>APP_NAME</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> APP_NAME</pre>
+<div class="block">IotDevicePubSub application name.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.apps.iot.IotDevicePubSub.APP_NAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="EVENTS_TOPIC">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EVENTS_TOPIC</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> EVENTS_TOPIC</pre>
+<div class="block">Events published to topic "edgent/iot/events" are sent as device events using the
+ actual message hub <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a>. <BR>
+ it is recommended applications use the <code>IotDevice</code> returned by
+ <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-"><code>addIotDevice(TopologyElement)</code></a> to send events rather than
+ publishing streams to this topic.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.apps.iot.IotDevicePubSub.EVENTS_TOPIC">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="COMMANDS_TOPIC">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>COMMANDS_TOPIC</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMMANDS_TOPIC</pre>
+<div class="block">Device commands are published to "edgent/iot/commands" by
+ this application. <BR>
+ it is recommended applications use the <code>IotDevice</code> returned by
+ <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-"><code>addIotDevice(TopologyElement)</code></a> to receive commands rather than
+ subscribing to streams with this topic prefix.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.apps.iot.IotDevicePubSub.COMMANDS_TOPIC">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="IotDevicePubSub--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>IotDevicePubSub</h4>
+<pre>public&nbsp;IotDevicePubSub()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="createApplication-org.apache.edgent.connectors.iot.IotDevice-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createApplication</h4>
+<pre>public static&nbsp;void&nbsp;createApplication(<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device)</pre>
+<div class="block">Create an instance of this application using <code>device</code> as the device
+ connection to a message hub.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>device</code> - the IotDevice</dd>
+</dl>
+</li>
+</ul>
+<a name="addIotDevice-org.apache.edgent.topology.TopologyElement-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>addIotDevice</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;addIotDevice(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te)</pre>
+<div class="block">Add a proxy <code>IotDevice</code> for the topology containing <code>te</code>.
+ <P>
+ Any events sent through the returned device are sent onto the message hub
+ device through publish-subscribe. <BR>
+ Subscribing to commands using the returned device will subscribe to
+ commands received by the message hub device.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>te</code> - Topology the returned device is contained in.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Proxy device.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotDevicePubSub.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/iot/IotDevicePubSub.html" target="_top">Frames</a></li>
+<li><a href="IotDevicePubSub.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/class-use/IotDevicePubSub.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/class-use/IotDevicePubSub.html
new file mode 100644
index 0000000..102819c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/class-use/IotDevicePubSub.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.apps.iot.IotDevicePubSub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.apps.iot.IotDevicePubSub (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/apps/iot/class-use/IotDevicePubSub.html" target="_top">Frames</a></li>
+<li><a href="IotDevicePubSub.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.apps.iot.IotDevicePubSub" class="title">Uses of Class<br>org.apache.edgent.apps.iot.IotDevicePubSub</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.apps.iot.IotDevicePubSub</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/apps/iot/class-use/IotDevicePubSub.html" target="_top">Frames</a></li>
+<li><a href="IotDevicePubSub.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-frame.html
new file mode 100644
index 0000000..28131e1
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/apps/iot/package-summary.html" target="classFrame">org.apache.edgent.apps.iot</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot" target="classFrame">IotDevicePubSub</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-summary.html
new file mode 100644
index 0000000..8f72d59
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-summary.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.apps.iot (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/iot/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.apps.iot</h1>
+<div class="docSummary">
+<div class="block">Applications for use in an Internet of Things environment.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot">IotDevicePubSub</a></td>
+<td class="colLast">
+<div class="block">Application sharing an <code>IotDevice</code> through publish-subscribe.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.apps.iot Description">Package org.apache.edgent.apps.iot Description</h2>
+<div class="block">Applications for use in an Internet of Things environment.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/iot/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-tree.html
new file mode 100644
index 0000000..e818654
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.apps.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/apps/runtime/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/iot/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.apps.iot</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.apps.iot.<a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot"><span class="typeNameLink">IotDevicePubSub</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/analytics/sensors/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/apps/runtime/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/iot/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-use.html
new file mode 100644
index 0000000..224b438
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/iot/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.apps.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.apps.iot (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/iot/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.apps.iot" class="title">Uses of Package<br>org.apache.edgent.apps.iot</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.apps.iot</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/iot/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/JobMonitorApp.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/JobMonitorApp.html
new file mode 100644
index 0000000..e149822
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/JobMonitorApp.html
@@ -0,0 +1,465 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobMonitorApp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JobMonitorApp (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10,"i2":9,"i3":10,"i4":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobMonitorApp.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/runtime/JobMonitorApp.html" target="_top">Frames</a></li>
+<li><a href="JobMonitorApp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.apps.runtime</div>
+<h2 title="Class JobMonitorApp" class="title">Class JobMonitorApp</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.apps.runtime.JobMonitorApp</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">JobMonitorApp</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Job monitoring application.
+ <P>
+ The application listens on JobRegistry events and resubmits jobs for which 
+ an event has been emitted because the job is unhealthy. The monitored 
+ applications must be registered with an <code>ApplicationService</code> 
+ prior to submission, otherwise the monitor application cannot restart 
+ them.
+ </P>
+ <P>
+ The monitoring application must be submitted within a context which 
+ provides the following services:
+ </P>
+ <ul>
+ <li>ApplicationService - an <code>ApplicationServiceMXBean</code> control 
+ registered by this service is used to resubmit failed applications.</li>
+ <li>ControlService - the application queries this service for an 
+ <code>ApplicationServiceMXBean</code> control, which is then used for 
+ restarting failed applications.</li>
+ <li>JobRegistryService - generates job monitoring events. </li>
+ </ul></div>
+</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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#APP_NAME">APP_NAME</a></span></code>
+<div class="block">Job monitoring application name.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">JobMonitorApp</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+             <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
+ context of the specified provider.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#closeJob-java.lang.String-org.apache.edgent.execution.services.ControlService-">closeJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName,
+        <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</code>
+<div class="block">Closes a job using a <code>JobMXBean</code> control registered with the 
+ specified <code>ControlService</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#declareTopology-java.lang.String-">declareTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Declares the following topology:</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#declareTopology-org.apache.edgent.topology.Topology-">declareTopology</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
+<div class="block">Populates the following topology:</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#submit--">submit</a></span>()</code>
+<div class="block">Submits the application topology.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#submitApplication-java.lang.String-org.apache.edgent.execution.services.ControlService-">submitApplication</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                 <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</code>
+<div class="block">Submits an application using an <code>ApplicationServiceMXBean</code> control 
+ registered with the specified <code>ControlService</code>.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="APP_NAME">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>APP_NAME</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> APP_NAME</pre>
+<div class="block">Job monitoring application name.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.apps.runtime.JobMonitorApp.APP_NAME">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="JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JobMonitorApp</h4>
+<pre>public&nbsp;JobMonitorApp(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+                     <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
+ context of the specified provider.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>provider</code> - the topology provider</dd>
+<dd><code>submitter</code> - a <code>DirectSubmitter</code> which provides required 
+      services and submits the application</dd>
+<dd><code>name</code> - the application name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the submitter does not provide 
+      access to the required services</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="submit--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submit</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;submit()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></pre>
+<div class="block">Submits the application topology.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the job.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the operation was interrupted</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - on task execution exception</dd>
+</dl>
+</li>
+</ul>
+<a name="submitApplication-java.lang.String-org.apache.edgent.execution.services.ControlService-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submitApplication</h4>
+<pre>public static&nbsp;void&nbsp;submitApplication(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                                     <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</pre>
+<div class="block">Submits an application using an <code>ApplicationServiceMXBean</code> control 
+ registered with the specified <code>ControlService</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>applicationName</code> - the name of the application to submit</dd>
+<dd><code>controlService</code> - the control service</dd>
+</dl>
+</li>
+</ul>
+<a name="closeJob-java.lang.String-org.apache.edgent.execution.services.ControlService-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>closeJob</h4>
+<pre>public static&nbsp;void&nbsp;closeJob(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName,
+                            <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</pre>
+<div class="block">Closes a job using a <code>JobMXBean</code> control registered with the 
+ specified <code>ControlService</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jobName</code> - the name of the job</dd>
+<dd><code>controlService</code> - the control service</dd>
+</dl>
+</li>
+</ul>
+<a name="declareTopology-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>declareTopology</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;declareTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Declares the following topology:
+ <pre>
+ JobEvents source --&gt; Filter (health == unhealthy) --&gt; Restart application
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the topology name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the application topology</dd>
+</dl>
+</li>
+</ul>
+<a name="declareTopology-org.apache.edgent.topology.Topology-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>declareTopology</h4>
+<pre>public static&nbsp;void&nbsp;declareTopology(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</pre>
+<div class="block">Populates the following topology:
+ <pre>
+ JobEvents source --&gt; Filter (health == unhealthy) --&gt; Restart application
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>t</code> - Topology</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobMonitorApp.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/runtime/JobMonitorApp.html" target="_top">Frames</a></li>
+<li><a href="JobMonitorApp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/class-use/JobMonitorApp.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/class-use/JobMonitorApp.html
new file mode 100644
index 0000000..4f22fe8
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/class-use/JobMonitorApp.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.apps.runtime.JobMonitorApp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.apps.runtime.JobMonitorApp (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/apps/runtime/class-use/JobMonitorApp.html" target="_top">Frames</a></li>
+<li><a href="JobMonitorApp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.apps.runtime.JobMonitorApp" class="title">Uses of Class<br>org.apache.edgent.apps.runtime.JobMonitorApp</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.apps.runtime.JobMonitorApp</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/apps/runtime/class-use/JobMonitorApp.html" target="_top">Frames</a></li>
+<li><a href="JobMonitorApp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-frame.html
new file mode 100644
index 0000000..9e47233
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.runtime (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html" target="classFrame">org.apache.edgent.apps.runtime</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime" target="classFrame">JobMonitorApp</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-summary.html
new file mode 100644
index 0000000..85552f3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-summary.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.runtime (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.apps.runtime (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/apps/iot/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/runtime/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.apps.runtime</h1>
+<div class="docSummary">
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime">JobMonitorApp</a></td>
+<td class="colLast">
+<div class="block">Job monitoring application.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.apps.runtime Description">Package org.apache.edgent.apps.runtime Description</h2>
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/apps/iot/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/runtime/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-tree.html
new file mode 100644
index 0000000..19155c5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.apps.runtime Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.apps.runtime Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/apps/iot/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/command/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/runtime/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.apps.runtime</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.apps.runtime.<a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime"><span class="typeNameLink">JobMonitorApp</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/apps/iot/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/command/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/runtime/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-use.html
new file mode 100644
index 0000000..3d3f47b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/apps/runtime/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.apps.runtime (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.apps.runtime (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/runtime/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.apps.runtime" class="title">Uses of Package<br>org.apache.edgent.apps.runtime</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.apps.runtime</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/apps/runtime/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/CommandStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/CommandStreams.html
new file mode 100644
index 0000000..bf24696
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/CommandStreams.html
@@ -0,0 +1,593 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CommandStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CommandStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CommandStreams.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/command/CommandStreams.html" target="_top">Frames</a></li>
+<li><a href="CommandStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.command</div>
+<h2 title="Class CommandStreams" class="title">Class CommandStreams</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.command.CommandStreams</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">CommandStreams</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Connector for creating a TStream from a Command's / OS Process's output
+ and sinking a TStream to a Command's / OS Process's input.
+ <P>
+ e.g., run a network monitor command (like Tiger Shark) and ingest its output.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandReaderList-java.lang.ProcessBuilder-">commandReaderList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Create a <code>Supplier&lt;List&lt;String&gt;&gt;</code> to ingest a command's output.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandWriter-java.lang.ProcessBuilder-">commandWriter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Create a <code>Consumer&lt;String&gt;</code> to write UTF8 string data to a command's input.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#endlessCommandReader-java.lang.ProcessBuilder-">endlessCommandReader</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Create an endless <code>Supplier&lt;String&gt;</code> for ingesting a long running command's output.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#generate-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-">generate</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Create an endless <code>TStream&lt;String&gt;</code> from a long running command's output.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#periodicSource-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-long-java.util.concurrent.TimeUnit-">periodicSource</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd,
+              long&nbsp;period,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;units)</code>
+<div class="block">Create a <code>TStream&lt;String&gt;</code> from a periodically run command's output.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-">sink</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Sink a <code>TStream&lt;String&gt;</code> to a command's input.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#tokenize-java.lang.String-">tokenize</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cmdString)</code>
+<div class="block">Tokenize the specified <code>cmdString</code> in the exact same manner as
+ done by <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runtime.html?is-external=true#exec-java.lang.String-" title="class or interface in java.lang"><code>Runtime.exec(String)</code></a>.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="tokenize-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tokenize</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;tokenize(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;cmdString)</pre>
+<div class="block">Tokenize the specified <code>cmdString</code> in the exact same manner as
+ done by <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runtime.html?is-external=true#exec-java.lang.String-" title="class or interface in java.lang"><code>Runtime.exec(String)</code></a>.
+ <P>
+ This function provides a convenience for creating a <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a>
+ for use by the other CommandStreams methods. 
+ </P>
+ <P>
+ Sample use:
+ <pre><code>
+ ProcessBuilder cmd = new ProcessBuilder(tokenize("sh someShellCmd.sh and args"));
+ TStream&lt;String&gt; stream = CommandStreams.generate(topology, cmd);
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cmdString</code> - a command string</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the tokens</dd>
+</dl>
+</li>
+</ul>
+<a name="generate-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>generate</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;generate(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</pre>
+<div class="block">Create an endless <code>TStream&lt;String&gt;</code> from a long running command's output.
+ <P>
+ The supplied <code>cmd</code> is used to start the command.
+ A tuple is created for each UTF8 line read from the command's
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getInputStream--" title="class or interface in java.lang"><code>output</code></a>.
+ The tuples contain output from stderr if cmd is configured to 
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true#redirectErrorStream-boolean-" title="class or interface in java.lang"><code>redirect stderr to stdout</code></a>.
+ The command is restarted if a read from the command's output stream
+ returns EOF or an error. 
+ </P>
+ <P>
+ This is a convenience function equivalent to
+ <code>topology.generate(endlessCommandReader(cmd))</code>.
+ </P>
+ <P>
+ Sample use: create a stream of tuples for the output from a 
+ continuously running and restartable command:
+ <pre><code>
+ ProcessBuilder cmd = new ProcessBuilder("myCommand");
+ TStream&lt;String&gt; cmdOutput = CommandStreams.generate(topology, cmd);
+ cmdOutput.print();
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - the topology to add the source stream to</dd>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the source <code>TStream&lt;String&gt;</code></dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#endlessCommandReader-java.lang.ProcessBuilder-"><code>endlessCommandReader(ProcessBuilder)</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#tokenize-java.lang.String-"><code>tokenize(String)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="periodicSource-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>periodicSource</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;periodicSource(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd,
+                                                   long&nbsp;period,
+                                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;units)</pre>
+<div class="block">Create a <code>TStream&lt;String&gt;</code> from a periodically run command's output.
+ <P>
+ The supplied <code>cmd</code> is used to start the command
+ at the specified <code>period</code>.
+ The command's UTF8 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getInputStream--" title="class or interface in java.lang"><code>output</code></a> is read until EOF
+ and a <code>List&lt;String&gt;</code> tuple is created containing the collected output.
+ The tuples contain output from stderr if the cmd is configured to 
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true#redirectErrorStream-boolean-" title="class or interface in java.lang"><code>redirect stderr to stdout</code></a>.  
+ </P>
+ <P>
+ This is a convenience function equivalent to
+ <code>topology.poll(commandReaderList(cmd), period, units)</code>.
+ </P>
+ <P>
+ Sample use: create a stream of tuples containing the output 
+ from a periodically run command:
+ <pre><code>
+ ProcessBuilder cmd = new ProcessBuilder("date");
+ TStream&lt;List&lt;String&gt;&gt; cmdOutput = 
+      CommandStreams.periodicSource(topology, cmd, 2, TimeUnit.SECONDS);
+ cmdOutput.print();
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - the topology to add the source stream to</dd>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
+<dd><code>period</code> - the period to run the command and collect its output</dd>
+<dd><code>units</code> - TimeUnit for <code>period</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the source <code>TStream&lt;List&lt;String&gt;&gt;</code></dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandReaderList-java.lang.ProcessBuilder-"><code>commandReaderList(ProcessBuilder)</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#tokenize-java.lang.String-"><code>tokenize(String)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sink</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;sink(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</pre>
+<div class="block">Sink a <code>TStream&lt;String&gt;</code> to a command's input.
+ <P>
+ The supplied <code>cmd</code> is used to start the command.
+ Each tuple is written as UTF8 and flushed to the command's <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getOutputStream--" title="class or interface in java.lang"><code>input</code></a>.
+ The command is restarted if a write encounters an error. 
+ </P>
+ <P>
+ While each write is followed by a flush() that only helps to
+ reduce the time it takes to notice that cmd has failed and restart it.
+ Supposedly "successfully written and flushed" values are not guaranteed to
+ have been received by a cmd across restarts.
+ </P>
+ <P>
+ This is a convenience function equivalent to
+ <code>stream.sink(commandWriter(cmd))</code>
+ </P>
+ <P>
+ Sample use: write a stream of tuples to the input of a command:
+ <pre><code>
+ TStream&lt;String&gt; stream = topology.strings("one", "two", "three");
+ ProcessBuilder cmd = new ProcessBuilder("cat").redirectOutput(new File("/dev/stdout"));
+ CommandStreams.sink(stream, cmd);
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the stream to sink</dd>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><code>TSink</code></a></dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandWriter-java.lang.ProcessBuilder-"><code>commandWriter(ProcessBuilder)</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#tokenize-java.lang.String-"><code>tokenize(String)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="endlessCommandReader-java.lang.ProcessBuilder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>endlessCommandReader</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;endlessCommandReader(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</pre>
+<div class="block">Create an endless <code>Supplier&lt;String&gt;</code> for ingesting a long running command's output.
+ <P>
+ This method is particularly helpful in creating a sensor or source connector
+ class that hides the fact that it uses a command, enabling it to be used
+ like any other sensor/connector.
+ </P>
+ For example:
+ <pre><code>
+ // ingest the sensor data
+ TStream&lt;MySensorData&gt; stream = topology.generate(new MySensor());
+
+ // MySensor class
+ class MySensor implements Supplier&lt;MySensorData&gt; {
+   private String[] cmd = new String[] {"mySensorCmd", "arg1"};
+   private Supplier&lt;String&gt; commandReader = 
+     CommandStreams.endlessCommandReader(new ProcessBuilder(cmd));
+       
+   // implement Supplier&lt;MySensorData&gt;.get()
+   public MySensorData get() {
+     // get the next line from the cmd and create a MySensorData tuple from it
+     return createMySensorData(commandReader.get());
+   }
+ }
+ </code></pre>
+ <P>
+ The supplied <code>cmd</code> is used to start the command.
+ A call to <a href="../../../../../org/apache/edgent/function/Supplier.html#get--"><code>Supplier.get()</code></a> reads the next UTF8 line from the command's
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getInputStream--" title="class or interface in java.lang"><code>output</code></a>.
+ The returned strings contain output from stderr if the cmd is configured to 
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true#redirectErrorStream-boolean-" title="class or interface in java.lang"><code>redirect stderr to stdput</code></a>.  
+ The command is restarted if a read from the command's output stream
+ returns EOF or an error.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the <code>Supplier&lt;String&gt;</code></dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#generate-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-"><code>generate(Topology, ProcessBuilder)</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#tokenize-java.lang.String-"><code>tokenize(String)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="commandReaderList-java.lang.ProcessBuilder-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commandReaderList</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;commandReaderList(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</pre>
+<div class="block">Create a <code>Supplier&lt;List&lt;String&gt;&gt;</code> to ingest a command's output.
+ <P>
+ This method is particularly helpful in creating a sensor or source connector
+ class that hides the fact that it uses a command, enabling it to be used
+ like any other sensor/connector.
+ </P>
+ For example:
+ <pre><code>
+ // ingest the sensor data
+ TStream&lt;MySensorData&gt; stream = topology.periodicSource(new MySensor());
+
+ // MySensor class
+ class MySensor implements Supplier&lt;MySensorData&gt; {
+   private String[] cmd = new String[] {"mySensorCmd", "arg1"};
+   private Supplier&lt;List&lt;String&gt;&gt; commandReader = 
+     CommandStreams.commandReaderList(new ProcessBuilder(cmd));
+       
+   // implement Supplier&lt;MySensorData&gt;.get()
+   public MySensorData get() {
+     // get the cmd output and create a MySensorData tuple from it
+     return createMySensorData(commandReader.get());
+   }
+ }
+ </code></pre>
+ <P>
+ The supplied <code>cmd</code> is used to start the command.
+ A call to <a href="../../../../../org/apache/edgent/function/Supplier.html#get--"><code>Supplier.get()</code></a> reads the command's UTF8
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getInputStream--" title="class or interface in java.lang"><code>input stream</code></a> until an EOF or error
+ and returns a <code>List&lt;String&gt;</code> of the collected input.
+ The tuples contain output from stderr if the cmd is configured to 
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true#redirectErrorStream-boolean-" title="class or interface in java.lang"><code>redirect stderr to stdout</code></a>.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the <code>Supplier&lt;List&lt;String&gt;&gt;</code> for the command</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#periodicSource-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-long-java.util.concurrent.TimeUnit-"><code>periodicSource(Topology, ProcessBuilder, long, TimeUnit)</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#tokenize-java.lang.String-"><code>tokenize(String)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="commandWriter-java.lang.ProcessBuilder-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>commandWriter</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;commandWriter(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</pre>
+<div class="block">Create a <code>Consumer&lt;String&gt;</code> to write UTF8 string data to a command's input.
+ <P>
+ This method is particularly helpful in creating a sink connector
+ that hides the fact that it uses a command, enabling it to be used
+ like a native connector.
+ </P>
+ For example:
+ <pre><code>
+ // sink a stream to my connector
+ TStream&lt;MySensorData&gt; stream = ...;
+ stream.sink(new MySinkConnector());
+
+ // MySinkConnector class
+ class MySinkConnector implements Consumer&lt;MySensorData&gt; {
+   private String[] cmd = new String[] {"mySinkCmd", "arg1"};
+   private Consumer&lt;String&gt; commandWriter = 
+     CommandStreams.commandWriter(new ProcessBuilder(cmd));
+       
+   // implement Consumer&lt;MySensorData&gt;.accept()
+   public void accept(MySensorData data) {
+     // convert the data to a string and write it to the cmd
+     commandWriter.accept(convertMySensorData(data));
+   }
+ }
+ </code></pre>
+ <P>
+ The supplied <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>cmd</code></a> is used to start the command.
+ Each call to <a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-"><code>accept(String)</code></a> writes a 
+ UTF8 string to the command's <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Process.html?is-external=true#getOutputStream--" title="class or interface in java.lang"><code>input</code></a>.
+ Each write is followed by a flush.
+ The command is restarted if a write encounters an error. 
+ </P>
+ <P>
+ While each write is followed by a flush() that only helps to
+ reduce the time it takes to notice that cmd has failed and restart it.
+ Supposedly "successfully written and flushed" values are not guaranteed to
+ have been received by a cmd across restarts.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cmd</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang"><code>ProcessBuilder</code></a> to start the command</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the <code>Consumer&lt;String&gt;</code> for the command</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-"><code>sink(TStream, ProcessBuilder)</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#tokenize-java.lang.String-"><code>tokenize(String)</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CommandStreams.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/command/CommandStreams.html" target="_top">Frames</a></li>
+<li><a href="CommandStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/class-use/CommandStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/class-use/CommandStreams.html
new file mode 100644
index 0000000..eebdcc7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/class-use/CommandStreams.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.command.CommandStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.command.CommandStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/command/class-use/CommandStreams.html" target="_top">Frames</a></li>
+<li><a href="CommandStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.command.CommandStreams" class="title">Uses of Class<br>org.apache.edgent.connectors.command.CommandStreams</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.command.CommandStreams</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/command/class-use/CommandStreams.html" target="_top">Frames</a></li>
+<li><a href="CommandStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-frame.html
new file mode 100644
index 0000000..e7abf94
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.command (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/command/package-summary.html" target="classFrame">org.apache.edgent.connectors.command</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="CommandStreams.html" title="class in org.apache.edgent.connectors.command" target="classFrame">CommandStreams</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-summary.html
new file mode 100644
index 0000000..703083c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-summary.html
@@ -0,0 +1,156 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.command (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.command (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/csv/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/command/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.command</h1>
+<div class="docSummary">
+<div class="block">Command / OS Process connector.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command">CommandStreams</a></td>
+<td class="colLast">
+<div class="block">Connector for creating a TStream from a Command's / OS Process's output
+ and sinking a TStream to a Command's / OS Process's input.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.command Description">Package org.apache.edgent.connectors.command Description</h2>
+<div class="block">Command / OS Process connector.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/csv/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/command/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-tree.html
new file mode 100644
index 0000000..2334bcb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.command Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.command Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/apps/runtime/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/csv/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/command/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.command</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.command.<a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command"><span class="typeNameLink">CommandStreams</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/apps/runtime/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/csv/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/command/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-use.html
new file mode 100644
index 0000000..2089c1b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/command/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.command (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.command (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/command/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.command" class="title">Uses of Package<br>org.apache.edgent.connectors.command</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.connectors.command</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/command/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/Csv.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/Csv.html
new file mode 100644
index 0000000..240de35
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/Csv.html
@@ -0,0 +1,345 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Csv (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Csv (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Csv.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/csv/Csv.html" target="_top">Frames</a></li>
+<li><a href="Csv.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.csv</div>
+<h2 title="Class Csv" class="title">Class Csv</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.csv.Csv</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Csv</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Utilities for working with CSV strings.
+ <P>
+ Basically, per IETF RFC-4180:
+ <UL>
+ <LI>Fields are separated by a single character.  The default field
+ separator is a comma.  A different separator may be specified
+ (e.g., a colon, tab).</LI>
+ <LI>All whitespace between field separators is part of the field's parsed value.</LI>
+ <LI>A field may be quoted using the double-quote character.
+ A field containing the field separator must be quoted.
+ The double-quotes surrounding a quoted field are omitted in the
+ field's parsed value.</LI>
+ <LI>A double-quote to be included in a field's parsed value must be
+ represented by a pair of double quotes.</LI>
+ </UL>
+ 
+ Sample use:
+ <pre><code>
+ // Create a stream of "car" JsonObjects from a "cars.csv" file.
+ String fieldNames = new String[]{"year", "make", "model"});
+
+ TStream&lt;String&gt; pathnames = topology.strings("cars.csv");
+ TStream&lt;JsonObject&gt; cars = FileStreams.textFileReader(topology, pathnames)
+    .map(csv -&gt; toJson(parseCsv(csv), fieldNames);
+ cars.print(); 
+ </code></pre></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-">parseCsv</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;csv)</code>
+<div class="block">Parse a CSV string into its fields using comma for the field separator.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-char-">parseCsv</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;csv,
+        char&nbsp;separator)</code>
+<div class="block">Parse a CSV string into its fields using the specified field separator.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static com.google.gson.JsonObject</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#toJson-java.util.List-java.lang.String...-">toJson</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fields,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;fieldNames)</code>
+<div class="block">Create a <code>JsonObject</code> containing the specified <code>fieldNames</code>
+ properties each with its corresponding value from <code>fields</code>.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="parseCsv-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseCsv</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;parseCsv(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;csv)</pre>
+<div class="block">Parse a CSV string into its fields using comma for the field separator.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>csv</code> - the csv string</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the fields</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the csv is malformed</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-char-"><code>parseCsv(String, char)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="parseCsv-java.lang.String-char-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parseCsv</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;parseCsv(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;csv,
+                                    char&nbsp;separator)</pre>
+<div class="block">Parse a CSV string into its fields using the specified field separator.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>csv</code> - the csv string</dd>
+<dd><code>separator</code> - the separator to use</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the fields</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the csv is malformed</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html#parseCsv-java.lang.String-"><code>parseCsv(String)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="toJson-java.util.List-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toJson</h4>
+<pre>public static&nbsp;com.google.gson.JsonObject&nbsp;toJson(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fields,
+                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;fieldNames)</pre>
+<div class="block">Create a <code>JsonObject</code> containing the specified <code>fieldNames</code>
+ properties each with its corresponding value from <code>fields</code>.
+ <P>
+ Each property is set as a string value.
+ The <code>JsonObject.getAsJsonPrimitive().getAs*()</code> methods allowing
+ accessing the property as the requested type.
+ </P>
+ <P>
+ A field is omitted from the JsonObject if its corresponding
+ field name is null or the empty string.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fields</code> - the field values</dd>
+<dd><code>fieldNames</code> - the corresponding field value names</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the JsonObject</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the number of fields and the number
+ of fieldNames don't match</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Csv.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/csv/Csv.html" target="_top">Frames</a></li>
+<li><a href="Csv.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/class-use/Csv.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/class-use/Csv.html
new file mode 100644
index 0000000..d47344b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/class-use/Csv.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.csv.Csv (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.csv.Csv (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/csv/class-use/Csv.html" target="_top">Frames</a></li>
+<li><a href="Csv.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.csv.Csv" class="title">Uses of Class<br>org.apache.edgent.connectors.csv.Csv</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.csv.Csv</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/csv/class-use/Csv.html" target="_top">Frames</a></li>
+<li><a href="Csv.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-frame.html
new file mode 100644
index 0000000..f19ef8d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.csv (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/csv/package-summary.html" target="classFrame">org.apache.edgent.connectors.csv</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Csv.html" title="class in org.apache.edgent.connectors.csv" target="classFrame">Csv</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-summary.html
new file mode 100644
index 0000000..f8a8f24
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-summary.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.csv (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.csv (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/csv/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.csv</h1>
+<div class="docSummary">
+<div class="block">Utilities for handling Comma Separated Value strings.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv">Csv</a></td>
+<td class="colLast">
+<div class="block">Utilities for working with CSV strings.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.csv Description">Package org.apache.edgent.connectors.csv Description</h2>
+<div class="block">Utilities for handling Comma Separated Value strings.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/csv/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-tree.html
new file mode 100644
index 0000000..a6ed742
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.csv Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.csv Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/command/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/csv/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.csv</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.csv.<a href="../../../../../org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv"><span class="typeNameLink">Csv</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/command/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/csv/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-use.html
new file mode 100644
index 0000000..ab3e356
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/csv/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.csv (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.csv (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/csv/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.csv" class="title">Uses of Package<br>org.apache.edgent.connectors.csv</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.connectors.csv</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/csv/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html
new file mode 100644
index 0000000..58475ac
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html
@@ -0,0 +1,428 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CompressedFileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CompressedFileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CompressedFileWriterPolicy.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" target="_top">Frames</a></li>
+<li><a href="CompressedFileWriterPolicy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.file</div>
+<h2 title="Class CompressedFileWriterPolicy" class="title">Class CompressedFileWriterPolicy&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">org.apache.edgent.connectors.file.FileWriterPolicy</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.file.CompressedFileWriterPolicy&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - stream tuple type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">CompressedFileWriterPolicy&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a>&lt;T&gt;</pre>
+<div class="block">A <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterPolicy</code></a> that generates zip compressed files.
+ <P>
+ <code>CompressedFileWriterPolicy</code> is used exactly like <code>FileWriterPolicy</code>.
+ The generated file names are identical to those generated by <code>FileWriterPolicy</code>
+ except they have a <code>.zip</code> suffix.
+ </P>
+ <P>
+ The active file is uncompressed.  
+ It is compressed when cycled per the <a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterCycleConfig</code></a>.
+ Hence, a <a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newFileSizeBasedConfig-long-"><code>file size based</code></a>
+ cycle config specifies the size of the uncompressed active file.
+ </P>
+ <P>
+ An <a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newAggregateFileSizeBasedConfig-long-"><code>aggregate
+ file size</code></a> based retention config specifies the total size of the
+ retained compressed files.
+ </P>
+ Sample use:
+ <pre><code>
+ // Create a CompressedFileWriterPolicy with the configuration:
+ // no explicit flush; cycle the active file when it exceeds 200Kb;
+ // retain up to 1Mb of compressed files.
+ IFileWriterPolicy&lt;String&gt; policy = new CompressedFileWriterPolicy(
+     FileWriterFlushConfig.newImplicitConfig(),
+     FileWriterCycleConfig.newFileSizeBasedConfig(200_000),
+     FileWriterRetentionConfig.newAggregateFileSizeBasedConfig(1_000_000));
+ String basePathname = "/some/directory/and_base_name";
+ 
+ TStream&lt;String&gt; streamToWrite = ...
+ FileStreams.textFileWriter(streamToWrite, () -&gt; basePathname, () -&gt; policy)
+ </code></pre></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#CompressedFileWriterPolicy--">CompressedFileWriterPolicy</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#CompressedFileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">CompressedFileWriterPolicy</a></span>(<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;&nbsp;flushConfig,
+                          <a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;&nbsp;cycleConfig,
+                          <a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;retentionConfig)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#compressFile-java.nio.file.Path-java.nio.file.Path-">compressFile</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;src,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;dst)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">hookGenerateFinalFilePath</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)</code>
+<div class="block">Generate the final file path for the active file.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#hookRenameFile-java.nio.file.Path-java.nio.file.Path-">hookRenameFile</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;activePath,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;finalPath)</code>
+<div class="block">"Rename" the active file to the final path.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.connectors.file.FileWriterPolicy">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.connectors.file.<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></h3>
+<code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#close--">close</a>, <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#closeActiveFile-java.nio.file.Path-">closeActiveFile</a>, <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getCycleConfig--">getCycleConfig</a>, <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getFlushConfig--">getFlushConfig</a>, <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getNextActiveFilePath--">getNextActiveFilePath</a>, <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getRetentionConfig--">getRetentionConfig</a>, <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateNextActiveFilePath--">hookGenerateNextActiveFilePath</a>, <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#initialize-java.lang.String-java.io.Flushable-java.io.Closeable-">initialize</a>, <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#shouldCycle--">shouldCycle</a>, <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#shouldFlush--">shouldFlush</a>, <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#toString--">toString</a>, <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#wrote-T-long-">wrote</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="CompressedFileWriterPolicy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CompressedFileWriterPolicy</h4>
+<pre>public&nbsp;CompressedFileWriterPolicy()</pre>
+</li>
+</ul>
+<a name="CompressedFileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CompressedFileWriterPolicy</h4>
+<pre>public&nbsp;CompressedFileWriterPolicy(<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;&nbsp;flushConfig,
+                                  <a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;&nbsp;cycleConfig,
+                                  <a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;retentionConfig)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="hookGenerateFinalFilePath-java.nio.file.Path-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hookGenerateFinalFilePath</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;hookGenerateFinalFilePath(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">FileWriterPolicy</a></code></span></div>
+<div class="block">Generate the final file path for the active file.
+ <p>
+ The default implementation yields:
+ <br>
+ final file names are <code>basePathname_YYYYMMDD_HHMMSS[_&lt;n&gt;]</code>
+ where the optional <code>_&lt;n&gt;</code> suffix is only present if needed
+ to distinguish a file from the previously finalized file.
+ <code>&lt;n&gt;</code> starts at 1 and is monitonically incremented.
+ <p>
+ This hook method can be overridden.
+ <p>
+ Note, the implementation must handle the unlikely, but happens
+ in tests, case where files are cycling very fast (multiple per sec)
+ and the retention config tosses some within that same second.
+ I.e., avoid generating final path sequences like:
+ <pre>
+ leaf_YYYYMMDD_103099
+ leaf_YYYYMMDD_103099_1
+ leaf_YYYYMMDD_103099_2
+   delete leaf_YYYYMMDD_103099  -- retention cnt was 2
+ leaf_YYYYMMDD_103099   // should be _3
+ </pre></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">hookGenerateFinalFilePath</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>path</code> - the active file path to finalize</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>final path for the file</dd>
+</dl>
+</li>
+</ul>
+<a name="hookRenameFile-java.nio.file.Path-java.nio.file.Path-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hookRenameFile</h4>
+<pre>protected&nbsp;void&nbsp;hookRenameFile(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;activePath,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;finalPath)
+                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookRenameFile-java.nio.file.Path-java.nio.file.Path-">FileWriterPolicy</a></code></span></div>
+<div class="block">"Rename" the active file to the final path.
+ <p>
+ The default implementation uses <code>java.io.File.renameTo()</code>
+ and works for the default <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateNextActiveFilePath--"><code>FileWriterPolicy.hookGenerateNextActiveFilePath()</code></a>
+ and <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-"><code>FileWriterPolicy.hookGenerateFinalFilePath(Path path)</code></a> implementations.
+ <p>
+ This hook method can be overridden.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookRenameFile-java.nio.file.Path-java.nio.file.Path-">hookRenameFile</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>activePath</code> - path of the active file</dd>
+<dd><code>finalPath</code> - path to the final destination</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - on failure</dd>
+</dl>
+</li>
+</ul>
+<a name="compressFile-java.nio.file.Path-java.nio.file.Path-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>compressFile</h4>
+<pre>protected&nbsp;void&nbsp;compressFile(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;src,
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;dst)
+                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CompressedFileWriterPolicy.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" target="_top">Frames</a></li>
+<li><a href="CompressedFileWriterPolicy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileStreams.html
new file mode 100644
index 0000000..e584ba8
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileStreams.html
@@ -0,0 +1,538 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FileStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FileStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileStreams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/FileStreams.html" target="_top">Frames</a></li>
+<li><a href="FileStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.file</div>
+<h2 title="Class FileStreams" class="title">Class FileStreams</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.file.FileStreams</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FileStreams</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block"><code>FileStreams</code> is a connector for integrating with file system objects.
+ <p>
+ File stream operations include:
+ <ul>
+ <li>Write tuples to text files - <a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-"><code>textFileWriter</code></a></li>
+ <li>Watch a directory for new files - <a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-"><code>directoryWatcher</code></a></li>
+ <li>Create tuples from text files - <a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-"><code>textFileReader</code></a></li>
+ </ul></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory)</code>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-java.util.Comparator-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&gt;&nbsp;comparator)</code>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames)</code>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</code>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname)</code>
+<div class="block">Write the contents of a stream to files.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</code>
+<div class="block">Write the contents of a stream to files subject to the control
+ of a file writer policy.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>directoryWatcher</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directoryWatcher(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                                               <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory)</pre>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.
+ <p>
+ This is the same as <code>directoryWatcher(t, () -&gt; dir, null)</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>te</code> - topology element whose topology the watcher will be added to</dd>
+<dd><code>directory</code> - Name of the directory to watch.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing absolute pathnames of newly created files in
+            <code>directory</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-java.util.Comparator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>directoryWatcher</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directoryWatcher(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                                               <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory,
+                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&gt;&nbsp;comparator)</pre>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.
+ <p>
+ Hidden files (java.io.File.isHidden()==true) are ignored.
+ This is compatible with <code>textFileWriter</code>.
+ <p>
+ Sample use:
+ <pre><code>
+ String dir = "/some/directory/path";
+ Topology t = ...
+ TStream&lt;String&gt; pathnames = FileStreams.directoryWatcher(t, () -&gt; dir, null);
+ </code></pre>
+ <p>
+ The order of the files in the stream is dictated by a <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util"><code>Comparator</code></a>.
+ The default comparator orders files by <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true#lastModified--" title="class or interface in java.io"><code>File.lastModified()</code></a> values.
+ There are no guarantees on the processing order of files that
+ have the same lastModified value.
+ Note, lastModified values are subject to filesystem timestamp
+ quantization - e.g., 1second.
+ <p>
+ Note: due to the asynchronous nature of things, if files in the
+ directory may be removed, the receiver of a tuple with a "new" file
+ pathname may need to be prepared for the pathname to no longer be
+ valid when it receives the tuple or during its processing of the tuple.
+ <p>
+ The behavior on MacOS may be unsavory, even as recent as Java8, as
+ MacOs Java lacks a native implementation of <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/WatchService.html?is-external=true" title="class or interface in java.nio.file"><code>WatchService</code></a>.
+ The result can be a delay in detecting newly created files (e.g., 10sec)
+ as well not detecting rapid deletion and recreation of a file.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>te</code> - topology element whose topology the watcher will be added to</dd>
+<dd><code>directory</code> - Name of the directory to watch.</dd>
+<dd><code>comparator</code> - Comparator to use to order newly seen file pathnames.
+            May be null.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing absolute pathnames of newly created files in
+            <code>directory</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="textFileReader-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>textFileReader</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;textFileReader(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames)</pre>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.
+ <p>
+ This is the same as <code>textFileReader(pathnames, null, null)</code>
+ <p>
+ Sample uses:
+ 
+ <pre><code>
+ // continuously watch a directory for new files and process each one once
+ String dir = "/some/directory/path";
+ Topology t = ...
+ TStream&lt;String&gt; pathnames = FileStreams.directoryWatcher(t, () -&gt; dir);
+ TStream&lt;String&gt; contents = FileStreams.textFileReader(pathnames);
+ contents.print();
+ </code></pre>
+ 
+ <pre><code>
+ // periodically process one or more files
+ Supplier&lt;List&lt;String&gt;&gt; myPathnamesSupplier = () -&gt; </code> {
+ <code>
+    // implementation of List&lt;String&gt; get() - return a list of pathnames
+      //  return Arrays.asList("/some/pathname"); // a fixed list
+      //  return Arrays.asList(new File("/some/dir").list()); // query a directory
+      //  or query some other object(s) for a list ...
+ </code>
+    };
+ <code>
+ Topology t = ...
+ TStream&lt;String&gt; pathnames = t.poll(myPathnamesSupplier, 30, TimeUnit.SECONDS)
+                              .flatMap(tuple -&gt; tuple);
+ TStream&lt;String&gt; contents = FileStreams.textFileReader(pathnames);
+ contents.print();
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pathnames</code> - Stream containing pathnames of files to read.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing lines from the files.</dd>
+</dl>
+</li>
+</ul>
+<a name="textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>textFileReader</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;textFileReader(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+                                             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+                                             <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</pre>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.
+ <p>
+ All files are assumed to be encoded in UTF-8.  The lines are
+ output in the order they appear in each file, with the first line of
+ a file appearing first.  A file is not subsequently monitored for
+ additional lines.
+ <p>
+ If a file can not be read, e.g., a file doesn't exist at that pathname
+ or the pathname is for a directory,
+ an error will be logged.
+ <p>
+ Optional <code>preFn</code> and <code>postFn</code> functions may be supplied.
+ These are called prior to processing a tuple (pathname) and after
+ respectively.  They provide a way to encode markers in the generated
+ stream.
+ <p>
+ Sample use:
+ <pre><code>
+ // watch a directory for files, creating a stream with the contents of
+ // each file.  Use a preFn to include a file separator marker in the
+ // stream. Use a postFn to delete a file once it's been processed.
+ String dir = "/some/directory/path";
+ Topology t = ...
+ TStream&lt;String&gt; pathnames = FileStreams.directoryWatcher(t, () -&gt; dir);
+ TStream&lt;String&gt; contents = FileStreams.textFileReader(
+              pathnames,
+              path -&gt; { return "###&lt;PATH-MARKER&gt;### " + path },
+              (path,exception) -&gt; { new File(path).delete(), return null; }
+              );
+ contents.print();
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pathnames</code> - Stream containing pathnames of files to read.</dd>
+<dd><code>preFn</code> - Pre-visit <code>Function&lt;String,String&gt;</code>.
+            The input is the pathname.  
+            The result, when non-null, is added to the output stream.
+            The function may be null.</dd>
+<dd><code>postFn</code> - Post-visit <code>BiFunction&lt;String,Exception,String&gt;</code>.
+            The input is the pathname and an exception.  The exception
+            is null if there were no errors.
+            The result, when non-null, is added to the output stream.
+            The function may be null.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing lines from the files.</dd>
+</dl>
+</li>
+</ul>
+<a name="textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>textFileWriter</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;textFileWriter(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+                                           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname)</pre>
+<div class="block">Write the contents of a stream to files.
+ <p>
+ The default <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterPolicy</code></a> is used.
+ <p>
+ This is the same as <code>textFileWriter(contents, basePathname, null)</code>.
+ <p>
+ Sample use:
+ <pre><code>
+ // write a stream of LogEvent to files, using the default
+ // file writer policy
+ String basePathname = "/myLogDir/LOG"; // yield LOG_YYYYMMDD_HHMMSS
+ TStream&lt;MyLogEvent&gt; events = ...
+ TStream&lt;String&gt; stringEvents = events.map(event -&gt; event.toString()); 
+ FileStreams.textFileWriter(stringEvents, () -&gt; basePathname);
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>contents</code> - the lines to write</dd>
+<dd><code>basePathname</code> - the base pathname of the created files</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a TSink</dd>
+</dl>
+</li>
+</ul>
+<a name="textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>textFileWriter</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;textFileWriter(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+                                           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+                                           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</pre>
+<div class="block">Write the contents of a stream to files subject to the control
+ of a file writer policy.
+ <p>
+ A separate policy instance must be used for invocation.
+ A default <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterPolicy</code></a> is used if a policy is not specified.
+ <p>
+ Sample use:
+ <pre><code>
+ // write a stream of LogEvent to files using a policy of:
+ // no additional flush, 100 events per file, retain 5 files
+ IFileWriterPolicy&lt;String&gt; policy = new FileWriterPolicy&lt;String&gt;(
+           FileWriterFlushConfig.newImplicitConfig(),
+           FileWriterCycleConfig.newCountBasedConfig(100),
+           FileWriterRetentionConfig.newFileCountBasedConfig(5)
+           );
+ String basePathname = "/myLogDir/LOG"; // yield LOG_YYYYMMDD_HHMMSS
+ TStream&lt;MyLogEvent&gt; events = ...
+ TStream&lt;String&gt; stringEvents = events.map(event -&gt; event.toString()); 
+ FileStreams.textFileWriter(stringEvents, () -&gt; basePathname, () -&gt; policy);
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>contents</code> - the lines to write</dd>
+<dd><code>basePathname</code> - the base pathname of the created files</dd>
+<dd><code>policy</code> - the policy to use.  may be null.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a TSink</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterPolicy</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileStreams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/FileStreams.html" target="_top">Frames</a></li>
+<li><a href="FileStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterCycleConfig.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterCycleConfig.html
new file mode 100644
index 0000000..9328f6c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterCycleConfig.html
@@ -0,0 +1,503 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FileWriterCycleConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FileWriterCycleConfig (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileWriterCycleConfig.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/FileWriterCycleConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterCycleConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.file</div>
+<h2 title="Class FileWriterCycleConfig" class="title">Class FileWriterCycleConfig&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.file.FileWriterCycleConfig&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - stream tuple type</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FileWriterCycleConfig&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">FileWriter active file cycle configuration control.
+ <p>
+ Cycling the active file closes it, gets it to its final pathname,
+ and induces the application of a retention policy
+ <a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterRetentionConfig</code></a>.
+ <p>
+ Cycling the active file can be any combination of:
+ <ul>
+ <li>after <code>fileSize</code> bytes have been written</li>
+ <li>after every <code>cntTuple</code> tuples written</li>
+ <li>after <code>tuplePredicate</code> returns true</li>
+ <li>after <code>periodMsec</code> has elapsed since the last time based cycle</li>
+ </ul></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#evaluate-long-int-T-">evaluate</a></span>(long&nbsp;fileSize,
+        int&nbsp;nTuples,
+        <a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="type parameter in FileWriterCycleConfig">T</a>&nbsp;tuple)</code>
+<div class="block">Evaluate if the specified values indicate that a cycling of
+ the active file should be performed.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#getCntTuples--">getCntTuples</a></span>()</code>
+<div class="block">Get the tuple count configuration value.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#getFileSize--">getFileSize</a></span>()</code>
+<div class="block">Get the file size configuration value.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#getPeriodMsec--">getPeriodMsec</a></span>()</code>
+<div class="block">Get the time period configuration value.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="type parameter in FileWriterCycleConfig">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#getTuplePredicate--">getTuplePredicate</a></span>()</code>
+<div class="block">Get the tuple predicate configuration value.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newConfig-long-int-long-org.apache.edgent.function.Predicate-">newConfig</a></span>(long&nbsp;fileSize,
+         int&nbsp;cntTuples,
+         long&nbsp;periodMsec,
+         <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newCountBasedConfig-int-">newCountBasedConfig</a></span>(int&nbsp;cntTuples)</code>
+<div class="block">same as <code>newConfig(0, cntTuples, 0, null)</code></div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newFileSizeBasedConfig-long-">newFileSizeBasedConfig</a></span>(long&nbsp;fileSize)</code>
+<div class="block">same as <code>newConfig(fileSize, 0, 0, null)</code></div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">same as <code>newConfig(0, 0, 0, tuplePredicate)</code></div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newTimeBasedConfig-long-">newTimeBasedConfig</a></span>(long&nbsp;periodMsec)</code>
+<div class="block">same as <code>newConfig(0, 0, periodMsec, null)</code></div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#toString--">toString</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="newFileSizeBasedConfig-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newFileSizeBasedConfig</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;&nbsp;newFileSizeBasedConfig(long&nbsp;fileSize)</pre>
+<div class="block">same as <code>newConfig(fileSize, 0, 0, null)</code></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileSize</code> - cycle after <code>fileSize</code> bytes have been written. 0 to disable.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the cycle configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="newCountBasedConfig-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newCountBasedConfig</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;&nbsp;newCountBasedConfig(int&nbsp;cntTuples)</pre>
+<div class="block">same as <code>newConfig(0, cntTuples, 0, null)</code></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cntTuples</code> - cycle after every <code>cntTuple</code> tuples have been written. 0 to disable.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the cycle configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="newTimeBasedConfig-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newTimeBasedConfig</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;&nbsp;newTimeBasedConfig(long&nbsp;periodMsec)</pre>
+<div class="block">same as <code>newConfig(0, 0, periodMsec, null)</code></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>periodMsec</code> - cycle after <code>periodMsec</code> has elapsed since the last time based cycle. 0 to disable.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the cycle configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="newPredicateBasedConfig-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newPredicateBasedConfig</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;&nbsp;newPredicateBasedConfig(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</pre>
+<div class="block">same as <code>newConfig(0, 0, 0, tuplePredicate)</code></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuplePredicate</code> - cycle if <code>tuplePredicate</code> returns true. null to disable.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the cycle configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="newConfig-long-int-long-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newConfig</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;&nbsp;newConfig(long&nbsp;fileSize,
+                                                     int&nbsp;cntTuples,
+                                                     long&nbsp;periodMsec,
+                                                     <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</pre>
+<div class="block">Create a new configuration.
+ <p>
+ At least one configuration mode must be enabled.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileSize</code> - cycle after <code>fileSize</code> bytes have been written. 0 to disable.</dd>
+<dd><code>cntTuples</code> - cycle after every <code>cntTuple</code> tuples have been written. 0 to disable.</dd>
+<dd><code>periodMsec</code> - cycle after <code>periodMsec</code> has elapsed since the last time based cycle. 0 to disable.</dd>
+<dd><code>tuplePredicate</code> - cycle if <code>tuplePredicate</code> returns true. null to disable.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the cycle configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="getFileSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFileSize</h4>
+<pre>public&nbsp;long&nbsp;getFileSize()</pre>
+<div class="block">Get the file size configuration value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getCntTuples--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCntTuples</h4>
+<pre>public&nbsp;int&nbsp;getCntTuples()</pre>
+<div class="block">Get the tuple count configuration value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getPeriodMsec--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeriodMsec</h4>
+<pre>public&nbsp;long&nbsp;getPeriodMsec()</pre>
+<div class="block">Get the time period configuration value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getTuplePredicate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTuplePredicate</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="type parameter in FileWriterCycleConfig">T</a>&gt;&nbsp;getTuplePredicate()</pre>
+<div class="block">Get the tuple predicate configuration value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="evaluate-long-int-java.lang.Object-">
+<!--   -->
+</a><a name="evaluate-long-int-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>evaluate</h4>
+<pre>public&nbsp;boolean&nbsp;evaluate(long&nbsp;fileSize,
+                        int&nbsp;nTuples,
+                        <a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="type parameter in FileWriterCycleConfig">T</a>&nbsp;tuple)</pre>
+<div class="block">Evaluate if the specified values indicate that a cycling of
+ the active file should be performed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileSize</code> - the number of bytes written to the active file</dd>
+<dd><code>nTuples</code> - number of tuples written to the active file</dd>
+<dd><code>tuple</code> - the tuple written to the file</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if a cycle action should be performed.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileWriterCycleConfig.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/FileWriterCycleConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterCycleConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterFlushConfig.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterFlushConfig.html
new file mode 100644
index 0000000..b79b6b5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterFlushConfig.html
@@ -0,0 +1,477 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FileWriterFlushConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FileWriterFlushConfig (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileWriterFlushConfig.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/FileWriterFlushConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterFlushConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.file</div>
+<h2 title="Class FileWriterFlushConfig" class="title">Class FileWriterFlushConfig&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.file.FileWriterFlushConfig&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - stream tuple type</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FileWriterFlushConfig&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">FileWriter active file flush configuration control.
+ <p>
+ Flushing of the active file can be any combination of:
+ <ul>
+ <li>after every <code>cntTuple</code> tuples written</li>
+ <li>after <code>tuplePredicate</code> returns true</li>
+ <li>after <code>periodMsec</code> has elapsed since the last time based flush</li>
+ </ul>
+ If nothing specific is specified, the underlying buffered
+ writer's automatic flushing is utilized.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#evaluate-int-T-">evaluate</a></span>(int&nbsp;nTuples,
+        <a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="type parameter in FileWriterFlushConfig">T</a>&nbsp;tuple)</code>
+<div class="block">Evaluate if the specified values indicate that a flush should be
+ performed.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#getCntTuples--">getCntTuples</a></span>()</code>
+<div class="block">Get the tuple count configuration value.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#getPeriodMsec--">getPeriodMsec</a></span>()</code>
+<div class="block">Get the time period configuration value.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="type parameter in FileWriterFlushConfig">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#getTuplePredicate--">getTuplePredicate</a></span>()</code>
+<div class="block">Get the tuple predicate configuration value.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newConfig-int-long-org.apache.edgent.function.Predicate-">newConfig</a></span>(int&nbsp;cntTuples,
+         long&nbsp;periodMsec,
+         <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newCountBasedConfig-int-">newCountBasedConfig</a></span>(int&nbsp;cntTuples)</code>
+<div class="block">same as <code>newConfig(cntTuples, 0, null)</code></div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newImplicitConfig--">newImplicitConfig</a></span>()</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">same as <code>newConfig(0, 0, tuplePredicate)</code></div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newTimeBasedConfig-long-">newTimeBasedConfig</a></span>(long&nbsp;periodMsec)</code>
+<div class="block">same as <code>newConfig(0, periodMsec, null)</code></div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#toString--">toString</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="newImplicitConfig--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newImplicitConfig</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;&nbsp;newImplicitConfig()</pre>
+<div class="block">Create a new configuration.
+ <p>
+ The underlying buffered writer's automatic flushing is used.
+ <p>
+ Same as <code>newConfig(0, 0, null)</code></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the flush configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="newCountBasedConfig-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newCountBasedConfig</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;&nbsp;newCountBasedConfig(int&nbsp;cntTuples)</pre>
+<div class="block">same as <code>newConfig(cntTuples, 0, null)</code></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cntTuples</code> - flush every <code>cntTuple</code> tuples written. 0 to disable.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the flush configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="newTimeBasedConfig-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newTimeBasedConfig</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;&nbsp;newTimeBasedConfig(long&nbsp;periodMsec)</pre>
+<div class="block">same as <code>newConfig(0, periodMsec, null)</code></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>periodMsec</code> - flush every <code>periodMsec</code> milliseconds.  0 to disable.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the flush configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="newPredicateBasedConfig-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newPredicateBasedConfig</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;&nbsp;newPredicateBasedConfig(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</pre>
+<div class="block">same as <code>newConfig(0, 0, tuplePredicate)</code></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuplePredicate</code> - flush if <code>tuplePredicate</code> is true. null to disable.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the flush configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="newConfig-int-long-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newConfig</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;&nbsp;newConfig(int&nbsp;cntTuples,
+                                                     long&nbsp;periodMsec,
+                                                     <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</pre>
+<div class="block">Create a new configuration.
+ <p>
+ If nothing specific is specified, the underlying buffered
+ writer's automatic flushing is utilized.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cntTuples</code> - flush every <code>cntTuple</code> tuples written. 0 to disable.</dd>
+<dd><code>periodMsec</code> - flush every <code>periodMsec</code> milliseconds.  0 to disable.</dd>
+<dd><code>tuplePredicate</code> - flush if <code>tuplePredicate</code> is true. null to disable.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the flush configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="getCntTuples--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCntTuples</h4>
+<pre>public&nbsp;int&nbsp;getCntTuples()</pre>
+<div class="block">Get the tuple count configuration value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getPeriodMsec--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeriodMsec</h4>
+<pre>public&nbsp;long&nbsp;getPeriodMsec()</pre>
+<div class="block">Get the time period configuration value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getTuplePredicate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTuplePredicate</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="type parameter in FileWriterFlushConfig">T</a>&gt;&nbsp;getTuplePredicate()</pre>
+<div class="block">Get the tuple predicate configuration value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="evaluate-int-java.lang.Object-">
+<!--   -->
+</a><a name="evaluate-int-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>evaluate</h4>
+<pre>public&nbsp;boolean&nbsp;evaluate(int&nbsp;nTuples,
+                        <a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="type parameter in FileWriterFlushConfig">T</a>&nbsp;tuple)</pre>
+<div class="block">Evaluate if the specified values indicate that a flush should be
+ performed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>nTuples</code> - number of tuples written to the active file</dd>
+<dd><code>tuple</code> - the tuple written to the file</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if a flush should be performed.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileWriterFlushConfig.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/FileWriterFlushConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterFlushConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterPolicy.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterPolicy.html
new file mode 100644
index 0000000..46d8ac7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterPolicy.html
@@ -0,0 +1,756 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileWriterPolicy.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/FileWriterPolicy.html" target="_top">Frames</a></li>
+<li><a href="FileWriterPolicy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.file</div>
+<h2 title="Class FileWriterPolicy" class="title">Class FileWriterPolicy&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.file.FileWriterPolicy&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - stream tuple type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;T&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">CompressedFileWriterPolicy</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FileWriterPolicy&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;T&gt;</pre>
+<div class="block">A full featured <code>IFileWriterPolicy</code> implementation.
+ <p>
+ The policy implements strategies for:
+ <ul>
+ <li>Active and final file pathname control.</li>
+ <li>Active file flush control (via @{link FileWriterFlushControl})</li>
+ <li>Active file cycle control (when to close/finalize the current active file;
+     via @{link FileWriterCycleControl})</li>
+ <li>file retention control (via @{link FileWriterRetentionControl})</li>
+ </ul>
+ The policy is very configurable.  If additional flexibility is required
+ the class can be extended and documented "hook" methods overridden,
+ or an alternative full implementation of <code>FileWriterPolicy</code> can be
+ created.
+ <p>
+ Sample use:
+ <pre>
+ FileWriterPolicy&lt;String&gt; policy = new FileWriterPolicy(
+     FileWriterFlushConfig.newImplicitConfig(),
+     FileWriterCycleConfig.newCountBasedConfig(1000),
+     FileWriterRetentionConfig.newCountBasedConfig(10));
+ String basePathname = "/some/directory/and_base_name";
+ 
+ TStream&lt;String&gt; streamToWrite = ...
+ FileStreams.textFileWriter(streamToWrite, () -&gt; basePathname, () -&gt; policy)
+ </pre></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterFlushConfig</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterCycleConfig</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterRetentionConfig</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#FileWriterPolicy--">FileWriterPolicy</a></span>()</code>
+<div class="block">Create a new file writer policy instance.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#FileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">FileWriterPolicy</a></span>(<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;flushConfig,
+                <a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;cycleConfig,
+                <a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;retentionConfig)</code>
+<div class="block">Create a new file writer policy instance.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#close--">close</a></span>()</code>
+<div class="block">Release any resources utilized by this policy.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#closeActiveFile-java.nio.file.Path-">closeActiveFile</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)</code>
+<div class="block">Close the active file <code>path</code>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getCycleConfig--">getCycleConfig</a></span>()</code>
+<div class="block">Get the policy's active file cycle configuration</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getFlushConfig--">getFlushConfig</a></span>()</code>
+<div class="block">Get the policy's active file flush configuration</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getNextActiveFilePath--">getNextActiveFilePath</a></span>()</code>
+<div class="block">Return the path for the next active file to write to.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getRetentionConfig--">getRetentionConfig</a></span>()</code>
+<div class="block">Get the policy's retention configuration</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-">hookGenerateFinalFilePath</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)</code>
+<div class="block">Generate the final file path for the active file.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateNextActiveFilePath--">hookGenerateNextActiveFilePath</a></span>()</code>
+<div class="block">Generate the path for the next active file.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookRenameFile-java.nio.file.Path-java.nio.file.Path-">hookRenameFile</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;activePath,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;finalPath)</code>
+<div class="block">"Rename" the active file to the final path.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#initialize-java.lang.String-java.io.Flushable-java.io.Closeable-">initialize</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;basePathname,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</a>&nbsp;flushable,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>&nbsp;closeable)</code>
+<div class="block">Initialize the policy with the base pathname of files to generate
+ and objects that can be
+ called to perform timer based flush or close (cycle) of the active file.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#shouldCycle--">shouldCycle</a></span>()</code>
+<div class="block">Answers the question "should the active file be cycled?".</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#shouldFlush--">shouldFlush</a></span>()</code>
+<div class="block">Answers the question "should the active file be flushed?".</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#wrote-T-long-">wrote</a></span>(<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&nbsp;tuple,
+     long&nbsp;nbytes)</code>
+<div class="block">Inform the policy of every tuple written to the active file.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FileWriterPolicy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FileWriterPolicy</h4>
+<pre>public&nbsp;FileWriterPolicy()</pre>
+<div class="block">Create a new file writer policy instance.
+ <p>
+ The configuration is:
+ <ul>
+ <li>10 second time based active file flushing</li>
+ <li>1MB file size based active file cycling</li>
+ <li>10 file retention count</li>
+ </ul>
+ The active and final file pathname behavior is specified in
+ <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#FileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-"><code>FileWriterPolicy(FileWriterFlushConfig, FileWriterCycleConfig, FileWriterRetentionConfig)</code></a></div>
+</li>
+</ul>
+<a name="FileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FileWriterPolicy</h4>
+<pre>public&nbsp;FileWriterPolicy(<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;flushConfig,
+                        <a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;cycleConfig,
+                        <a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;retentionConfig)</pre>
+<div class="block">Create a new file writer policy instance.
+ <p>
+ <code>flushConfig</code>, <code>cycleConfig</code> and <code>retentionConfig</code>
+ specify the configuration of the various controls.
+ <p>
+ The active file and final file pathnames are based
+ on the <code>basePathname</code> received in 
+ <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#initialize-java.lang.String-java.io.Flushable-java.io.Closeable-"><code>initialize(String, Flushable, Closeable)</code></a>.
+ <p>
+ Where <code>parent</code> and <code>baseLeafname</code> are the 
+ parent path and file name respectively of <code>basePathname</code>:
+ <ul>
+ <li>the active file is <code>parent/.baseLeafname</code>"</li>
+ <li>final file names are <code>parent/baseLeafname_YYYYMMDD_HHMMSS[_&lt;n&gt;]</code>
+     where the optional <code>_&lt;n&gt;</code> suffix is only present if needed
+     to distinguish a file from the previously finalized file.
+     <code>&lt;n&gt;</code> starts at 1 and is monotonically incremented.
+     </li>
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>flushConfig</code> - active file flush control configuration</dd>
+<dd><code>cycleConfig</code> - active file cycle control configuration</dd>
+<dd><code>retentionConfig</code> - final file retention control configuration</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Release any resources utilized by this policy.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>close</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getFlushConfig--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFlushConfig</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;getFlushConfig()</pre>
+<div class="block">Get the policy's active file flush configuration</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the flush configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="getCycleConfig--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCycleConfig</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;getCycleConfig()</pre>
+<div class="block">Get the policy's active file cycle configuration</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the cycle configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="getRetentionConfig--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRetentionConfig</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;getRetentionConfig()</pre>
+<div class="block">Get the policy's retention configuration</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the retention configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="initialize-java.lang.String-java.io.Flushable-java.io.Closeable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;basePathname,
+                       <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Flushable.html?is-external=true" title="class or interface in java.io">Flushable</a>&nbsp;flushable,
+                       <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>&nbsp;closeable)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Initialize the policy with the base pathname of files to generate
+ and objects that can be
+ called to perform timer based flush or close (cycle) of the active file.
+ <p>
+ Cycling involves finalizing the active file (getting it to its
+ final destination / pathname) and applying any retention policy.
+ <p>
+ The supplied <code>closeable</code> must close the active file's output stream
+ and then call <code>IFileWriterPolicy.closeActiveFile(Path)</code>.
+ <p>
+ For non-timer based strategies, the file writer generally triggers
+ flush and cycle processing
+ following a tuple write as informed by <code>IFileWriterPolicy.shouldCycle()</code> and
+ <code>IFileWriterPolicy.shouldFlush()</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>initialize</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>basePathname</code> - the directory and base leafname for final files</dd>
+<dd><code>flushable</code> - function to perform the flush</dd>
+<dd><code>closeable</code> - function to perform the close</dd>
+</dl>
+</li>
+</ul>
+<a name="wrote-java.lang.Object-long-">
+<!--   -->
+</a><a name="wrote-T-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wrote</h4>
+<pre>public&nbsp;void&nbsp;wrote(<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&nbsp;tuple,
+                  long&nbsp;nbytes)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Inform the policy of every tuple written to the active file.
+ <p>
+ The policy can use this to update its state so that it
+ can answer the questions <code>IFileWriterPolicy.shouldFlush()</code>
+ and <code>IFileWriterPolicy.shouldCycle()</code> for count, size, or
+ tuple attribute based policies.
+ <p>
+ The policy can also use this to update its state
+ for implementing time based flush and cycle policies.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>wrote</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - the tuple written</dd>
+<dd><code>nbytes</code> - the number of bytes written</dd>
+</dl>
+</li>
+</ul>
+<a name="shouldFlush--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shouldFlush</h4>
+<pre>public&nbsp;boolean&nbsp;shouldFlush()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Answers the question "should the active file be flushed?".
+ <p>
+ The state is reset to false after this returns.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>shouldFlush</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the active file should be flushed</dd>
+</dl>
+</li>
+</ul>
+<a name="shouldCycle--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shouldCycle</h4>
+<pre>public&nbsp;boolean&nbsp;shouldCycle()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Answers the question "should the active file be cycled?".
+ <p>
+ The state is reset to false after this returns.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>shouldCycle</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if the active file should be cycled</dd>
+</dl>
+</li>
+</ul>
+<a name="getNextActiveFilePath--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNextActiveFilePath</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;getNextActiveFilePath()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Return the path for the next active file to write to.
+ <p>
+ If there was a current active file, <code>IFileWriterPolicy.closeActiveFile(Path)</code>
+ must be called prior to this.
+ <p>
+ The leafname must be a hidden file (<code>java.io.File.isHidden()==true</code>
+ to be compatible with a directory watcher
+ <a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-"><code>FileStreams.directoryWatcher(org.apache.edgent.topology.TopologyElement, org.apache.edgent.function.Supplier)</code></a></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getNextActiveFilePath</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>path for the active file</dd>
+</dl>
+</li>
+</ul>
+<a name="closeActiveFile-java.nio.file.Path-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>closeActiveFile</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;closeActiveFile(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)
+                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy</code></span></div>
+<div class="block">Close the active file <code>path</code>.
+ <p>
+ Generate the final path for the active file and  
+ rename/move/copy it as necessary to be at that final path.
+ <p>
+ Apply the retention policy.
+ <p>
+ The active file's writer iostream must be closed prior to calling this.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>closeActiveFile</code>&nbsp;in interface&nbsp;<code>org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>path</code> - the active file (from <code>IFileWriterPolicy.getNextActiveFilePath()</code>).</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the final path</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - on failure</dd>
+</dl>
+</li>
+</ul>
+<a name="hookGenerateFinalFilePath-java.nio.file.Path-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hookGenerateFinalFilePath</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;hookGenerateFinalFilePath(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;path)</pre>
+<div class="block">Generate the final file path for the active file.
+ <p>
+ The default implementation yields:
+ <br>
+ final file names are <code>basePathname_YYYYMMDD_HHMMSS[_&lt;n&gt;]</code>
+ where the optional <code>_&lt;n&gt;</code> suffix is only present if needed
+ to distinguish a file from the previously finalized file.
+ <code>&lt;n&gt;</code> starts at 1 and is monitonically incremented.
+ <p>
+ This hook method can be overridden.
+ <p>
+ Note, the implementation must handle the unlikely, but happens
+ in tests, case where files are cycling very fast (multiple per sec)
+ and the retention config tosses some within that same second.
+ I.e., avoid generating final path sequences like:
+ <pre>
+ leaf_YYYYMMDD_103099
+ leaf_YYYYMMDD_103099_1
+ leaf_YYYYMMDD_103099_2
+   delete leaf_YYYYMMDD_103099  -- retention cnt was 2
+ leaf_YYYYMMDD_103099   // should be _3
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>path</code> - the active file path to finalize</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>final path for the file</dd>
+</dl>
+</li>
+</ul>
+<a name="hookGenerateNextActiveFilePath--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hookGenerateNextActiveFilePath</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;hookGenerateNextActiveFilePath()</pre>
+<div class="block">Generate the path for the next active file.
+ <p>
+ The default implementation yields <code>parent/.baseLeafname</code>
+ from <code>basePathname</code>.
+ <p>
+ This hook method can be overridden.
+ <p>
+ See <code>IFileWriterPolicy.getNextActiveFilePath()</code> regarding
+ constraints.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>path to use for the next active file.</dd>
+</dl>
+</li>
+</ul>
+<a name="hookRenameFile-java.nio.file.Path-java.nio.file.Path-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hookRenameFile</h4>
+<pre>protected&nbsp;void&nbsp;hookRenameFile(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;activePath,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/file/Path.html?is-external=true" title="class or interface in java.nio.file">Path</a>&nbsp;finalPath)
+                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">"Rename" the active file to the final path.
+ <p>
+ The default implementation uses <code>java.io.File.renameTo()</code>
+ and works for the default <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateNextActiveFilePath--"><code>hookGenerateNextActiveFilePath()</code></a>
+ and <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#hookGenerateFinalFilePath-java.nio.file.Path-"><code>hookGenerateFinalFilePath(Path path)</code></a> implementations.
+ <p>
+ This hook method can be overridden.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>activePath</code> - path of the active file</dd>
+<dd><code>finalPath</code> - path to the final destination</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - on failure</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileWriterPolicy.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/FileWriterPolicy.html" target="_top">Frames</a></li>
+<li><a href="FileWriterPolicy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterRetentionConfig.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterRetentionConfig.html
new file mode 100644
index 0000000..cde718b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/FileWriterRetentionConfig.html
@@ -0,0 +1,458 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FileWriterRetentionConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FileWriterRetentionConfig (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9,"i6":9,"i7":9,"i8":9,"i9":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileWriterRetentionConfig.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterRetentionConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.file</div>
+<h2 title="Class FileWriterRetentionConfig" class="title">Class FileWriterRetentionConfig</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.file.FileWriterRetentionConfig</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FileWriterRetentionConfig</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">FileWriter finalized (non-active) file retention configuration control.
+ <p>
+ File removal can be any combination of:
+ <ul>
+ <li>remove a file when <code>fileCount</code> would be exceeded</li>
+ <li>remove a file when <code>aggregateFileSize</code> would be exceeded</li>
+ <li>remove a file that's older than <code>ageSec</code> seconds</li>
+ </ul></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#evaluate-int-long-">evaluate</a></span>(int&nbsp;fileCount,
+        long&nbsp;aggregateFileSize)</code>
+<div class="block">Evaluate if the specified values indicate that a final file should
+ be removed.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#getAgeSec--">getAgeSec</a></span>()</code>
+<div class="block">Get the file age configuration value.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#getAggregateFileSize--">getAggregateFileSize</a></span>()</code>
+<div class="block">Get the aggregate file size configuration value.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#getFileCount--">getFileCount</a></span>()</code>
+<div class="block">Get the file count configuration value.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#getPeriodMsec--">getPeriodMsec</a></span>()</code>
+<div class="block">Get the time period configuration value.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newAgeBasedConfig-long-long-">newAgeBasedConfig</a></span>(long&nbsp;ageSec,
+                 long&nbsp;periodMsec)</code>
+<div class="block">same as <code>newConfig(0, 0, ageSe, periodMsecc)</code></div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newAggregateFileSizeBasedConfig-long-">newAggregateFileSizeBasedConfig</a></span>(long&nbsp;aggregateFileSize)</code>
+<div class="block">same as <code>newConfig(0, aggregateFileSize, 0, 0)</code></div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newConfig-int-long-long-long-">newConfig</a></span>(int&nbsp;fileCount,
+         long&nbsp;aggregateFileSize,
+         long&nbsp;ageSec,
+         long&nbsp;periodMsec)</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newFileCountBasedConfig-int-">newFileCountBasedConfig</a></span>(int&nbsp;fileCount)</code>
+<div class="block">same as <code>newConfig(fileCount, 0, 0, 0)</code></div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#toString--">toString</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="newFileCountBasedConfig-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newFileCountBasedConfig</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;newFileCountBasedConfig(int&nbsp;fileCount)</pre>
+<div class="block">same as <code>newConfig(fileCount, 0, 0, 0)</code></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileCount</code> - remove a file when <code>fileCount</code> would be exceeded. 0 to disable.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the retention config</dd>
+</dl>
+</li>
+</ul>
+<a name="newAggregateFileSizeBasedConfig-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newAggregateFileSizeBasedConfig</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;newAggregateFileSizeBasedConfig(long&nbsp;aggregateFileSize)</pre>
+<div class="block">same as <code>newConfig(0, aggregateFileSize, 0, 0)</code></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>aggregateFileSize</code> - remove a file when <code>aggregateFileSize</code> would be exceeded. 0 to disable.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the retention config</dd>
+</dl>
+</li>
+</ul>
+<a name="newAgeBasedConfig-long-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newAgeBasedConfig</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;newAgeBasedConfig(long&nbsp;ageSec,
+                                                          long&nbsp;periodMsec)</pre>
+<div class="block">same as <code>newConfig(0, 0, ageSe, periodMsecc)</code></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ageSec</code> - remove a file that's older than <code>ageSec</code> seconds.  0 to disable.</dd>
+<dd><code>periodMsec</code> - frequency for checking for ageSec based removal. 0 to disable.]</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the retention config</dd>
+</dl>
+</li>
+</ul>
+<a name="newConfig-int-long-long-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newConfig</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;newConfig(int&nbsp;fileCount,
+                                                  long&nbsp;aggregateFileSize,
+                                                  long&nbsp;ageSec,
+                                                  long&nbsp;periodMsec)</pre>
+<div class="block">Create a new configuration.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileCount</code> - remove a file when <code>fileCount</code> would be exceeded. 0 to disable.</dd>
+<dd><code>aggregateFileSize</code> - remove a file when <code>aggregateFileSize</code> would be exceeded. 0 to disable.</dd>
+<dd><code>ageSec</code> - remove a file that's older than <code>ageSec</code> seconds.  0 to disable.</dd>
+<dd><code>periodMsec</code> - frequency for checking for ageSec based removal. 0 to disable.]</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the retention config</dd>
+</dl>
+</li>
+</ul>
+<a name="getFileCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFileCount</h4>
+<pre>public&nbsp;int&nbsp;getFileCount()</pre>
+<div class="block">Get the file count configuration value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getAggregateFileSize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAggregateFileSize</h4>
+<pre>public&nbsp;long&nbsp;getAggregateFileSize()</pre>
+<div class="block">Get the aggregate file size configuration value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getAgeSec--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAgeSec</h4>
+<pre>public&nbsp;long&nbsp;getAgeSec()</pre>
+<div class="block">Get the file age configuration value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getPeriodMsec--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeriodMsec</h4>
+<pre>public&nbsp;long&nbsp;getPeriodMsec()</pre>
+<div class="block">Get the time period configuration value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="evaluate-int-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>evaluate</h4>
+<pre>public&nbsp;boolean&nbsp;evaluate(int&nbsp;fileCount,
+                        long&nbsp;aggregateFileSize)</pre>
+<div class="block">Evaluate if the specified values indicate that a final file should
+ be removed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fileCount</code> - the current number of retained files</dd>
+<dd><code>aggregateFileSize</code> - the aggregate size of all of the retained files</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if a retained file should be removed.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FileWriterRetentionConfig.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterRetentionConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/CompressedFileWriterPolicy.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/CompressedFileWriterPolicy.html
new file mode 100644
index 0000000..224e45d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/CompressedFileWriterPolicy.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.CompressedFileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.CompressedFileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/CompressedFileWriterPolicy.html" target="_top">Frames</a></li>
+<li><a href="CompressedFileWriterPolicy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.file.CompressedFileWriterPolicy" class="title">Uses of Class<br>org.apache.edgent.connectors.file.CompressedFileWriterPolicy</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.file.CompressedFileWriterPolicy</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/CompressedFileWriterPolicy.html" target="_top">Frames</a></li>
+<li><a href="CompressedFileWriterPolicy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileStreams.html
new file mode 100644
index 0000000..434755d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileStreams.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.FileStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/FileStreams.html" target="_top">Frames</a></li>
+<li><a href="FileStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.file.FileStreams" class="title">Uses of Class<br>org.apache.edgent.connectors.file.FileStreams</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.file.FileStreams</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/FileStreams.html" target="_top">Frames</a></li>
+<li><a href="FileStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterCycleConfig.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterCycleConfig.html
new file mode 100644
index 0000000..a049b19
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterCycleConfig.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.FileWriterCycleConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterCycleConfig (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/FileWriterCycleConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterCycleConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.file.FileWriterCycleConfig" class="title">Uses of Class<br>org.apache.edgent.connectors.file.FileWriterCycleConfig</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a> in <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> that return <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterPolicy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getCycleConfig--">getCycleConfig</a></span>()</code>
+<div class="block">Get the policy's active file cycle configuration</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newConfig-long-int-long-org.apache.edgent.function.Predicate-">newConfig</a></span>(long&nbsp;fileSize,
+         int&nbsp;cntTuples,
+         long&nbsp;periodMsec,
+         <a href="../../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newCountBasedConfig-int-">newCountBasedConfig</a></span>(int&nbsp;cntTuples)</code>
+<div class="block">same as <code>newConfig(0, cntTuples, 0, null)</code></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newFileSizeBasedConfig-long-">newFileSizeBasedConfig</a></span>(long&nbsp;fileSize)</code>
+<div class="block">same as <code>newConfig(fileSize, 0, 0, null)</code></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig</a></span>(<a href="../../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">same as <code>newConfig(0, 0, 0, tuplePredicate)</code></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newTimeBasedConfig-long-">newTimeBasedConfig</a></span>(long&nbsp;periodMsec)</code>
+<div class="block">same as <code>newConfig(0, 0, periodMsec, null)</code></div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#CompressedFileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">CompressedFileWriterPolicy</a></span>(<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;&nbsp;flushConfig,
+                          <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;&nbsp;cycleConfig,
+                          <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;retentionConfig)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#FileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">FileWriterPolicy</a></span>(<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;flushConfig,
+                <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;cycleConfig,
+                <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;retentionConfig)</code>
+<div class="block">Create a new file writer policy instance.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/FileWriterCycleConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterCycleConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterFlushConfig.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterFlushConfig.html
new file mode 100644
index 0000000..b59f068
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterFlushConfig.html
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.FileWriterFlushConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterFlushConfig (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/FileWriterFlushConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterFlushConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.file.FileWriterFlushConfig" class="title">Uses of Class<br>org.apache.edgent.connectors.file.FileWriterFlushConfig</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a> in <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> that return <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterPolicy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getFlushConfig--">getFlushConfig</a></span>()</code>
+<div class="block">Get the policy's active file flush configuration</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterFlushConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newConfig-int-long-org.apache.edgent.function.Predicate-">newConfig</a></span>(int&nbsp;cntTuples,
+         long&nbsp;periodMsec,
+         <a href="../../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterFlushConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newCountBasedConfig-int-">newCountBasedConfig</a></span>(int&nbsp;cntTuples)</code>
+<div class="block">same as <code>newConfig(cntTuples, 0, null)</code></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterFlushConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newImplicitConfig--">newImplicitConfig</a></span>()</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterFlushConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig</a></span>(<a href="../../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">same as <code>newConfig(0, 0, tuplePredicate)</code></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterFlushConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newTimeBasedConfig-long-">newTimeBasedConfig</a></span>(long&nbsp;periodMsec)</code>
+<div class="block">same as <code>newConfig(0, periodMsec, null)</code></div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#CompressedFileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">CompressedFileWriterPolicy</a></span>(<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;&nbsp;flushConfig,
+                          <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;&nbsp;cycleConfig,
+                          <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;retentionConfig)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#FileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">FileWriterPolicy</a></span>(<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;flushConfig,
+                <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;cycleConfig,
+                <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;retentionConfig)</code>
+<div class="block">Create a new file writer policy instance.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/FileWriterFlushConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterFlushConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterPolicy.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterPolicy.html
new file mode 100644
index 0000000..af787be
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterPolicy.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.FileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterPolicy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/FileWriterPolicy.html" target="_top">Frames</a></li>
+<li><a href="FileWriterPolicy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.file.FileWriterPolicy" class="title">Uses of Class<br>org.apache.edgent.connectors.file.FileWriterPolicy</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a> in <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a> in <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">CompressedFileWriterPolicy</a>&lt;T&gt;</span></code>
+<div class="block">A <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterPolicy</code></a> that generates zip compressed files.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/FileWriterPolicy.html" target="_top">Frames</a></li>
+<li><a href="FileWriterPolicy.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterRetentionConfig.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterRetentionConfig.html
new file mode 100644
index 0000000..d9d02bb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/class-use/FileWriterRetentionConfig.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.file.FileWriterRetentionConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.file.FileWriterRetentionConfig (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/FileWriterRetentionConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterRetentionConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.file.FileWriterRetentionConfig" class="title">Uses of Class<br>org.apache.edgent.connectors.file.FileWriterRetentionConfig</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a> in <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> that return <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterPolicy.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#getRetentionConfig--">getRetentionConfig</a></span>()</code>
+<div class="block">Get the policy's retention configuration</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterRetentionConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newAgeBasedConfig-long-long-">newAgeBasedConfig</a></span>(long&nbsp;ageSec,
+                 long&nbsp;periodMsec)</code>
+<div class="block">same as <code>newConfig(0, 0, ageSe, periodMsecc)</code></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterRetentionConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newAggregateFileSizeBasedConfig-long-">newAggregateFileSizeBasedConfig</a></span>(long&nbsp;aggregateFileSize)</code>
+<div class="block">same as <code>newConfig(0, aggregateFileSize, 0, 0)</code></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterRetentionConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newConfig-int-long-long-long-">newConfig</a></span>(int&nbsp;fileCount,
+         long&nbsp;aggregateFileSize,
+         long&nbsp;ageSec,
+         long&nbsp;periodMsec)</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterRetentionConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html#newFileCountBasedConfig-int-">newFileCountBasedConfig</a></span>(int&nbsp;fileCount)</code>
+<div class="block">same as <code>newConfig(fileCount, 0, 0, 0)</code></div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html#CompressedFileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">CompressedFileWriterPolicy</a></span>(<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;&nbsp;flushConfig,
+                          <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="type parameter in CompressedFileWriterPolicy">T</a>&gt;&nbsp;cycleConfig,
+                          <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;retentionConfig)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html#FileWriterPolicy-org.apache.edgent.connectors.file.FileWriterFlushConfig-org.apache.edgent.connectors.file.FileWriterCycleConfig-org.apache.edgent.connectors.file.FileWriterRetentionConfig-">FileWriterPolicy</a></span>(<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;flushConfig,
+                <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="type parameter in FileWriterPolicy">T</a>&gt;&nbsp;cycleConfig,
+                <a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>&nbsp;retentionConfig)</code>
+<div class="block">Create a new file writer policy instance.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/file/class-use/FileWriterRetentionConfig.html" target="_top">Frames</a></li>
+<li><a href="FileWriterRetentionConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-frame.html
new file mode 100644
index 0000000..eea67d6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-frame.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.file (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/file/package-summary.html" target="classFrame">org.apache.edgent.connectors.file</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file" target="classFrame">CompressedFileWriterPolicy</a></li>
+<li><a href="FileStreams.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileStreams</a></li>
+<li><a href="FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileWriterCycleConfig</a></li>
+<li><a href="FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileWriterFlushConfig</a></li>
+<li><a href="FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileWriterPolicy</a></li>
+<li><a href="FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file" target="classFrame">FileWriterRetentionConfig</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-summary.html
new file mode 100644
index 0000000..c5b791f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-summary.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.file (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.file (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/csv/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.file</h1>
+<div class="docSummary">
+<div class="block">File stream connector.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">CompressedFileWriterPolicy</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A <a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><code>FileWriterPolicy</code></a> that generates zip compressed files.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file">FileStreams</a></td>
+<td class="colLast">
+<div class="block"><code>FileStreams</code> is a connector for integrating with file system objects.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">FileWriter active file cycle configuration control.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">FileWriter active file flush configuration control.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file">FileWriterPolicy</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A full featured <code>IFileWriterPolicy</code> implementation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterRetentionConfig</a></td>
+<td class="colLast">
+<div class="block">FileWriter finalized (non-active) file retention configuration control.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.file Description">Package org.apache.edgent.connectors.file Description</h2>
+<div class="block">File stream connector.
+ <p>
+ Stream tuples may be written to files
+ and created by reading from files.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/csv/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-tree.html
new file mode 100644
index 0000000..0eb0f0b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-tree.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.file Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.file Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/csv/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/http/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.file</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.file.<a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileStreams</span></a></li>
+<li type="circle">org.apache.edgent.connectors.file.<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterCycleConfig</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.connectors.file.<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterFlushConfig</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.connectors.file.<a href="../../../../../org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterPolicy</span></a>&lt;T&gt; (implements org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;T&gt;)
+<ul>
+<li type="circle">org.apache.edgent.connectors.file.<a href="../../../../../org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">CompressedFileWriterPolicy</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.connectors.file.<a href="../../../../../org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterRetentionConfig</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/csv/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/http/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-use.html
new file mode 100644
index 0000000..0ff4984
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/file/package-use.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.file (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.file (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.file" class="title">Uses of Package<br>org.apache.edgent.connectors.file</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> used by <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/file/class-use/FileWriterCycleConfig.html#org.apache.edgent.connectors.file">FileWriterCycleConfig</a>
+<div class="block">FileWriter active file cycle configuration control.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/file/class-use/FileWriterFlushConfig.html#org.apache.edgent.connectors.file">FileWriterFlushConfig</a>
+<div class="block">FileWriter active file flush configuration control.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/file/class-use/FileWriterPolicy.html#org.apache.edgent.connectors.file">FileWriterPolicy</a>
+<div class="block">A full featured <code>IFileWriterPolicy</code> implementation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/file/class-use/FileWriterRetentionConfig.html#org.apache.edgent.connectors.file">FileWriterRetentionConfig</a>
+<div class="block">FileWriter finalized (non-active) file retention configuration control.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/file/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/HttpClients.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/HttpClients.html
new file mode 100644
index 0000000..8d17f45
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/HttpClients.html
@@ -0,0 +1,354 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HttpClients (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="HttpClients (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/HttpClients.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/HttpClients.html" target="_top">Frames</a></li>
+<li><a href="HttpClients.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.http</div>
+<h2 title="Class HttpClients" class="title">Class HttpClients</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.http.HttpClients</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">HttpClients</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Creation of HTTP Clients.
+ 
+ This methods are called at runtime to create
+ HTTP clients for <a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><code>HttpStreams</code></a>. They are
+ passed into methods such as
+ <a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-"><code>HttpStreams.requests(org.apache.edgent.topology.TStream, Supplier, org.apache.edgent.function.Function, org.apache.edgent.function.Function, org.apache.edgent.function.BiFunction)</code></a>
+ as functions, for example:
+ <UL style="list-style-type:none">
+ <LI><code>() -&gt; HttpClients::noAuthentication </code> // using a method reference</LI>
+  <LI><code>() -&gt; HttpClients.basic("user", "password") </code> // using a lambda expression</LI>
+ </UL></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><code>HttpStreams</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#HttpClients--">HttpClients</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static org.apache.http.impl.client.CloseableHttpClient</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-java.lang.String-java.lang.String-">basic</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;password)</code>
+<div class="block">Create a basic authentication HTTP client with a fixed user and password.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static org.apache.http.impl.client.CloseableHttpClient</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">basic</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;user,
+     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;password)</code>
+<div class="block">Method to create a basic authentication HTTP client.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static org.apache.http.impl.client.CloseableHttpClient</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#noAuthentication--">noAuthentication</a></span>()</code>
+<div class="block">Create HTTP client with no authentication.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="HttpClients--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>HttpClients</h4>
+<pre>public&nbsp;HttpClients()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="noAuthentication--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>noAuthentication</h4>
+<pre>public static&nbsp;org.apache.http.impl.client.CloseableHttpClient&nbsp;noAuthentication()</pre>
+<div class="block">Create HTTP client with no authentication.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>HTTP client with basic authentication.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><code>HttpStreams</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="basic-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>basic</h4>
+<pre>public static&nbsp;org.apache.http.impl.client.CloseableHttpClient&nbsp;basic(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;user,
+                                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;password)</pre>
+<div class="block">Create a basic authentication HTTP client with a fixed user and password.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>user</code> - User for authentication</dd>
+<dd><code>password</code> - Password for authentication</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>HTTP client with basic authentication.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><code>HttpStreams</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="basic-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>basic</h4>
+<pre>public static&nbsp;org.apache.http.impl.client.CloseableHttpClient&nbsp;basic(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;user,
+                                                                    <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;password)</pre>
+<div class="block">Method to create a basic authentication HTTP client.
+ The functions <code>user</code> and <code>password</code> are called
+ when this method is invoked to obtain the user and password
+ and runtime.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>user</code> - Function that provides user for authentication</dd>
+<dd><code>password</code> - Function that provides password for authentication</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>HTTP client with basic authentication.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><code>HttpStreams</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/HttpClients.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/HttpClients.html" target="_top">Frames</a></li>
+<li><a href="HttpClients.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/HttpResponders.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/HttpResponders.html
new file mode 100644
index 0000000..53a6b30
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/HttpResponders.html
@@ -0,0 +1,348 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HttpResponders (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="HttpResponders (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/HttpResponders.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/HttpResponders.html" target="_top">Frames</a></li>
+<li><a href="HttpResponders.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.http</div>
+<h2 title="Class HttpResponders" class="title">Class HttpResponders</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.http.HttpResponders</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">HttpResponders</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Functions to process HTTP requests.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><code>HttpStreams</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html#HttpResponders--">HttpResponders</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html#inputOn-java.lang.Integer...-">inputOn</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>...&nbsp;codes)</code>
+<div class="block">Return the input tuple on specified codes.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html#inputOn200--">inputOn200</a></span>()</code>
+<div class="block">Return the input tuple on OK.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;com.google.gson.JsonObject,org.apache.http.client.methods.CloseableHttpResponse,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html#json--">json</a></span>()</code>
+<div class="block">A HTTP response handler for <code>application/json</code>.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="HttpResponders--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>HttpResponders</h4>
+<pre>public&nbsp;HttpResponders()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="inputOn200--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>inputOn200</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,T&gt;&nbsp;inputOn200()</pre>
+<div class="block">Return the input tuple on OK.
+ Function that returns null (no output) if the HTTP response
+ is not OK (200), otherwise it returns the input tuple.
+ The HTTP entity in the response is consumed and discarded.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of input tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Function that returns the input tuple on OK.</dd>
+</dl>
+</li>
+</ul>
+<a name="inputOn-java.lang.Integer...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>inputOn</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,T&gt;&nbsp;inputOn(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>...&nbsp;codes)</pre>
+<div class="block">Return the input tuple on specified codes.
+ Function that returns null (no output) if the HTTP response
+ is not one of <code>codes</code>, otherwise it returns the input tuple.
+ The HTTP entity in the response is consumed and discarded.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of input tuple.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>codes</code> - HTTP status codes to result in output</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Function that returns the input tuple on matching codes.</dd>
+</dl>
+</li>
+</ul>
+<a name="json--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>json</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;com.google.gson.JsonObject,org.apache.http.client.methods.CloseableHttpResponse,com.google.gson.JsonObject&gt;&nbsp;json()</pre>
+<div class="block">A HTTP response handler for <code>application/json</code>.
+ 
+ For each HTTP response a JSON object is produced that contains:
+ <UL>
+ <LI> <code>request</code> - the original input tuple that lead to the request  </LI>
+ <LI> <code>response</code> - JSON object containing information about the response
+ <UL>
+    <LI> <code>status</code> - Status code for the response as an integer</LI>
+    <LI> <code>entity</code> - JSON response entity if one exists </LI>
+ </UL>
+ </LI>
+ </UL></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Function that will process the <code>application/json</code> responses.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/HttpResponders.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/HttpResponders.html" target="_top">Frames</a></li>
+<li><a href="HttpResponders.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/HttpStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/HttpStreams.html
new file mode 100644
index 0000000..2a3f879
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/HttpStreams.html
@@ -0,0 +1,603 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HttpStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="HttpStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/HttpStreams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/HttpStreams.html" target="_top">Frames</a></li>
+<li><a href="HttpStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.http</div>
+<h2 title="Class HttpStreams" class="title">Class HttpStreams</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.http.HttpStreams</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">HttpStreams</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">HTTP streams.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#HttpStreams--">HttpStreams</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">deleteJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
+<div class="block">Make an HTTP DELETE request with JsonObject.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">getJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
+<div class="block">Make an HTTP GET request with JsonObject.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP POST request with JsonObject.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP PUT request with JsonObject.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request for each tuple on a stream.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request with body for each tuple.<br></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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="HttpStreams--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>HttpStreams</h4>
+<pre>public&nbsp;HttpStreams()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJson</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;getJson(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                          <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                                                          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</pre>
+<div class="block">Make an HTTP GET request with JsonObject. <br>
+ 
+ Method specifically works with JsonObjects. For each JsonObject in the stream, 
+ HTTP GET request is executed on provided uri. As a result, Response is added to
+ the response TStream.
+ <br>
+ 
+ Sample usage:<br>
+ 
+ <pre>
+ <code>
+     DirectProvider ep = new DirectProvider();
+     Topology topology = ep.newTopology();
+     final String url = "http://httpbin.org/get?";
+ 
+     JsonObject request1 = new JsonObject();
+     request1.addProperty("a", "abc");
+     request1.addProperty("b", "42");
+ 
+     TStream&lt;JsonObject&gt; stream = topology.collection(Arrays.asList(request1));
+     TStream&lt;JsonObject&gt; rc = HttpStreams.getJson(stream,
+             HttpClients::noAuthentication,
+             t -&gt; url + "a=" + t.get("a").getAsString() + "&amp;b="
+                     + t.get("b").getAsString());
+ </code>
+ </pre>
+ 
+ <br>
+ See <i>HttpTest</i> for example. <br></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - - JsonObject TStream.</dd>
+<dd><code>clientCreator</code> - - CloseableHttpClient supplier preferably created using <a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><code>HttpClients</code></a></dd>
+<dd><code>uri</code> - - URI function which returns URI string</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TStream of JsonObject which contains responses of GET requests</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-"><code>requests(TStream, Supplier, Function, Function, BiFunction)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>deleteJson</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;deleteJson(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                                                             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</pre>
+<div class="block">Make an HTTP DELETE request with JsonObject. <br>
+ 
+ Method specifically works with JsonObjects. For each JsonObject in the
+ stream, HTTP DELETE request is executed on provided uri. As a result,
+ Response is added to the response TStream. <br>
+ 
+ Sample usage:<br>
+ 
+ <pre>
+ <code>
+     DirectProvider ep = new DirectProvider();
+     Topology topology = ep.newTopology();
+     final String url = "http://httpbin.org/delete?";
+ 
+     JsonObject request = new JsonObject();
+     request.addProperty("a", "abc");
+     request.addProperty("b", "42");
+ 
+     TStream&lt;JsonObject&gt; stream = topology.collection(Arrays.asList(request));
+     TStream&lt;JsonObject&gt; rc = HttpStreams.deleteJson(stream,
+             HttpClients::noAuthentication,
+             t -&gt; url + "a=" + t.get("a").getAsString() + "&amp;b="
+                     + t.get("b").getAsString());
+ </code>
+ </pre>
+ 
+ <br>
+ See <i>HttpTest</i> for example. <br></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - - JsonObject TStream.</dd>
+<dd><code>clientCreator</code> - - CloseableHttpClient supplier preferably created using <a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><code>HttpClients</code></a></dd>
+<dd><code>uri</code> - - URI function which returns URI string</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TStream of JsonObject which contains responses of DELETE requests</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-"><code>requests(TStream, Supplier, Function, Function, BiFunction)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>postJson</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;postJson(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                                                           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                                                           <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</pre>
+<div class="block">Make an HTTP POST request with JsonObject. <br>
+ 
+ Method specifically works with JsonObjects. For each JsonObject in the stream, 
+ HTTP POST request is executed on provided uri. Request body is filled using
+ HttpEntity provided by body function. As a result, Response is added to
+ the response TStream.<br>
+ 
+ Sample usage:<br>
+ 
+ <pre>
+ <code>
+     DirectProvider ep = new DirectProvider();
+     Topology topology = ep.newTopology();
+     final String url = "http://httpbin.org/post";
+ 
+     JsonObject body = new JsonObject();
+     body.addProperty("foo", "abc");
+     body.addProperty("bar", 42);
+ 
+     TStream&lt;JsonObject&gt; stream = topology.collection(Arrays.asList(body));
+     TStream&lt;JsonObject&gt; rc = HttpStreams.postJson(stream,
+             HttpClients::noAuthentication, t -&gt; url, t -&gt; t);
+ </code>
+ </pre>
+ 
+ <br>
+ See HttpTest for example. <br></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - - JsonObject TStream.</dd>
+<dd><code>clientCreator</code> - - CloseableHttpClient supplier preferably created using <a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><code>HttpClients</code></a></dd>
+<dd><code>uri</code> - - URI function which returns URI string</dd>
+<dd><code>body</code> - - Function that returns JsonObject which will be set as a body for the request.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TStream of JsonObject which contains responses of POST requests</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-"><code>requestsWithBody(TStream, Supplier, Function, Function, Function, BiFunction)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>putJson</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;putJson(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                          <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                                                          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                                                          <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</pre>
+<div class="block">Make an HTTP PUT request with JsonObject. <br>
+ 
+ Method specifically works with JsonObjects. For each JsonObject in the
+ stream, HTTP PUT request is executed on provided uri. Request body is
+ filled using HttpEntity provided by body function. As a result, Response
+ is added to the response TStream.<br>
+ 
+ Sample usage:<br>
+ 
+ <pre>
+ <code>
+     DirectProvider ep = new DirectProvider();
+     Topology topology = ep.newTopology();
+     final String url = "http://httpbin.org/put";
+ 
+     JsonObject body = new JsonObject();
+     body.addProperty("foo", "abc");
+     body.addProperty("bar", 42);
+ 
+     TStream&lt;JsonObject&gt; stream = topology.collection(Arrays.asList(body));
+     TStream&lt;JsonObject&gt; rc = HttpStreams.putJson(stream,
+             HttpClients::noAuthentication, t -&gt; url, t -&gt; t);
+ </code>
+ </pre>
+ 
+ <br>
+ See HttpTest for example. <br></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - - JsonObject TStream.</dd>
+<dd><code>clientCreator</code> - - CloseableHttpClient supplier preferably created using <a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><code>HttpClients</code></a></dd>
+<dd><code>uri</code> - - URI function which returns URI string</dd>
+<dd><code>body</code> - - Function that returns JsonObject which will be set as a body for the request.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TStream of JsonObject which contains responses of PUT requests</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-"><code>requestsWithBody(TStream, Supplier, Function, Function, Function, BiFunction)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>requests</h4>
+<pre>public static&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;requests(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                                        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                                        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                                        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</pre>
+<div class="block">Make an HTTP request for each tuple on a stream.
+ <UL>
+ <LI><code>clientCreator</code> is invoked once to create a new HTTP client
+ to make the requests.
+ </LI>
+  <LI>
+ <code>method</code> is invoked for each tuple to define the method
+ to be used for the HTTP request driven by the tuple. A fixed method
+ can be declared using a function such as:
+ <UL style="list-style-type:none"><LI><code>t -&gt; HttpGet.METHOD_NAME</code></LI></UL>
+  </LI>
+  <LI>
+ <code>uri</code> is invoked for each tuple to define the URI
+ to be used for the HTTP request driven by the tuple. A fixed method
+ can be declared using a function such as:
+ <UL style="list-style-type:none"><LI><code>t -&gt; "http://www.example.com"</code></LI></UL>
+  </LI>
+  <LI>
+  <code>response</code> is invoked after each request that did not throw an exception.
+  It is passed the input tuple and the HTTP response. The function must completely
+  consume the entity stream for the response. The return value is present on
+  the stream returned by this method if it is non-null. A null return results
+  in no tuple on the returned stream.
+  
+  </LI>
+  </UL></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type for input stream</dd>
+<dd><code>R</code> - Tuple type for output stream</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to invoke HTTP requests.</dd>
+<dd><code>clientCreator</code> - Function to create a HTTP client.</dd>
+<dd><code>method</code> - Function to define the HTTP method.</dd>
+<dd><code>uri</code> - Function to define the URI.</dd>
+<dd><code>response</code> - Function to process the response.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing HTTP responses processed by the <code>response</code> function.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><code>HttpClients</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http"><code>HttpResponders</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>requestsWithBody</h4>
+<pre>public static&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;requestsWithBody(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
+                                                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</pre>
+<div class="block">Make an HTTP request with body for each tuple.<br></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type for input stream</dd>
+<dd><code>R</code> - Tuple type for output stream</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to invoke HTTP requests.</dd>
+<dd><code>clientCreator</code> - Function to create a HTTP client.</dd>
+<dd><code>method</code> - Function to define the HTTP method.</dd>
+<dd><code>uri</code> - Function to define the URI.</dd>
+<dd><code>body</code> - Function to define the HTTP request body</dd>
+<dd><code>response</code> - Function to process the response.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing HTTP responses processed by the <code>response</code> function.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-"><code>requests(TStream, Supplier, Function, Function, BiFunction)</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><code>HttpClients</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http"><code>HttpResponders</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/HttpStreams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/HttpStreams.html" target="_top">Frames</a></li>
+<li><a href="HttpStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/class-use/HttpClients.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/class-use/HttpClients.html
new file mode 100644
index 0000000..fbfa15d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/class-use/HttpClients.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.http.HttpClients (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.http.HttpClients (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/http/class-use/HttpClients.html" target="_top">Frames</a></li>
+<li><a href="HttpClients.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.http.HttpClients" class="title">Uses of Class<br>org.apache.edgent.connectors.http.HttpClients</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.http.HttpClients</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/http/class-use/HttpClients.html" target="_top">Frames</a></li>
+<li><a href="HttpClients.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/class-use/HttpResponders.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/class-use/HttpResponders.html
new file mode 100644
index 0000000..ea1d51e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/class-use/HttpResponders.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.http.HttpResponders (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.http.HttpResponders (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/http/class-use/HttpResponders.html" target="_top">Frames</a></li>
+<li><a href="HttpResponders.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.http.HttpResponders" class="title">Uses of Class<br>org.apache.edgent.connectors.http.HttpResponders</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.http.HttpResponders</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/http/class-use/HttpResponders.html" target="_top">Frames</a></li>
+<li><a href="HttpResponders.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/class-use/HttpStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/class-use/HttpStreams.html
new file mode 100644
index 0000000..4611895
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/class-use/HttpStreams.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.http.HttpStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.http.HttpStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/http/class-use/HttpStreams.html" target="_top">Frames</a></li>
+<li><a href="HttpStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.http.HttpStreams" class="title">Uses of Class<br>org.apache.edgent.connectors.http.HttpStreams</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.http.HttpStreams</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/http/class-use/HttpStreams.html" target="_top">Frames</a></li>
+<li><a href="HttpStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-frame.html
new file mode 100644
index 0000000..e7f5094
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-frame.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.http (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/http/package-summary.html" target="classFrame">org.apache.edgent.connectors.http</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="HttpClients.html" title="class in org.apache.edgent.connectors.http" target="classFrame">HttpClients</a></li>
+<li><a href="HttpResponders.html" title="class in org.apache.edgent.connectors.http" target="classFrame">HttpResponders</a></li>
+<li><a href="HttpStreams.html" title="class in org.apache.edgent.connectors.http" target="classFrame">HttpStreams</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-summary.html
new file mode 100644
index 0000000..e51a4af
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-summary.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.http (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.http (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.http</h1>
+<div class="docSummary">
+<div class="block">HTTP stream connector.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http">HttpClients</a></td>
+<td class="colLast">
+<div class="block">Creation of HTTP Clients.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http">HttpResponders</a></td>
+<td class="colLast">
+<div class="block">Functions to process HTTP requests.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http">HttpStreams</a></td>
+<td class="colLast">
+<div class="block">HTTP streams.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.http Description">Package org.apache.edgent.connectors.http Description</h2>
+<div class="block">HTTP stream connector.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-tree.html
new file mode 100644
index 0000000..7e3cd7e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-tree.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.http Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.http Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.http</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.http.<a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpClients</span></a></li>
+<li type="circle">org.apache.edgent.connectors.http.<a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpResponders</span></a></li>
+<li type="circle">org.apache.edgent.connectors.http.<a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpStreams</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/file/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-use.html
new file mode 100644
index 0000000..b7dbd14
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/http/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.http (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.http (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.http" class="title">Uses of Package<br>org.apache.edgent.connectors.http</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.connectors.http</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/http/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/Commands.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/Commands.html
new file mode 100644
index 0000000..17b8d05
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/Commands.html
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Commands (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Commands (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Commands.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/Commands.html" target="_top">Frames</a></li>
+<li><a href="Commands.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&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">org.apache.edgent.connectors.iot</div>
+<h2 title="Interface Commands" class="title">Interface Commands</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Commands</span></pre>
+<div class="block">Device command identifiers used by Edgent.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX"><code>IotDevice.RESERVED_ID_PREFIX</code></a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/Commands.html#CONTROL_SERVICE">CONTROL_SERVICE</a></span></code>
+<div class="block">Command identifier used for the control service.</div>
+</td>
+</tr>
+</table>
+</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="CONTROL_SERVICE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CONTROL_SERVICE</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONTROL_SERVICE</pre>
+<div class="block">Command identifier used for the control service.
+ <BR>
+ The command payload is used to invoke operations
+ against control MBeans using an instance of
+ <code>org.apache.edgent.runtime.jsoncontrol.JsonControlService</code>.
+ <BR>
+ Value is "edgentControl".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>See {@code org.apache.edgent.providers.iot.IotProvider}</code></a>, 
+<a href="../../../../../constant-values.html#org.apache.edgent.connectors.iot.Commands.CONTROL_SERVICE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Commands.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/Commands.html" target="_top">Frames</a></li>
+<li><a href="Commands.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/Events.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/Events.html
new file mode 100644
index 0000000..14382dc
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/Events.html
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Events (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Events (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Events.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/Events.html" target="_top">Frames</a></li>
+<li><a href="Events.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&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">org.apache.edgent.connectors.iot</div>
+<h2 title="Interface Events" class="title">Interface Events</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Events</span></pre>
+<div class="block">Device event identifiers used by Edgent.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX"><code>IotDevice.RESERVED_ID_PREFIX</code></a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/Events.html#IOT_START">IOT_START</a></span></code>
+<div class="block">An IotProvider has started.</div>
+</td>
+</tr>
+</table>
+</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="IOT_START">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>IOT_START</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> IOT_START</pre>
+<div class="block">An IotProvider has started.
+ Event data is an empty JSON object</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.connectors.iot.Events.IOT_START">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Events.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/Events.html" target="_top">Frames</a></li>
+<li><a href="Events.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/HeartBeat.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/HeartBeat.html
new file mode 100644
index 0000000..60f7cf6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/HeartBeat.html
@@ -0,0 +1,280 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HeartBeat (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="HeartBeat (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/HeartBeat.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/HeartBeat.html" target="_top">Frames</a></li>
+<li><a href="HeartBeat.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.iot</div>
+<h2 title="Class HeartBeat" class="title">Class HeartBeat</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.iot.HeartBeat</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">HeartBeat</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">An IoT device heartbeat event generator.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html#addHeartBeat-org.apache.edgent.connectors.iot.IotDevice-long-java.util.concurrent.TimeUnit-java.lang.String-">addHeartBeat</a></span>(<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;iotDevice,
+            long&nbsp;period,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
+<div class="block">Add IoT device heart beat processing to a topology.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="addHeartBeat-org.apache.edgent.connectors.iot.IotDevice-long-java.util.concurrent.TimeUnit-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>addHeartBeat</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;addHeartBeat(<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;iotDevice,
+                                                               long&nbsp;period,
+                                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+                                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</pre>
+<div class="block">Add IoT device heart beat processing to a topology.
+ <P>
+ An IoTDevice event containing heart beat information 
+ is periodically published to the specified <code>eventId</code>.
+ </P>
+ <P>
+ The heart beat provides clients of the IoT hub with liveness information
+ about the device and its connection to the hub.
+ </P>
+ <P>
+ The heart beat also ensures there is some immediate output so
+ the connection to the IoT hub happens as soon as possible.
+ In the case where there may not otherwise be
+ IoT events to publish, a heart beat ensures a connection
+ to the IoT hub is maintained.
+ </P>
+ <P>
+ The heart beat's event payload is the JSON for a JsonObject with the
+ heart beat's properties:
+ <ul>
+ <li>"when" : (string) ISO8601 UTC date/time. e.g. "2016-07-12T17:57:08Z"</li>
+ <li>"time" : (number) <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#currentTimeMillis--" title="class or interface in java.lang"><code>System.currentTimeMillis()</code></a></li>
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>iotDevice</code> - IoT hub device</dd>
+<dd><code>period</code> - the heart beat period</dd>
+<dd><code>unit</code> - TimeUnit for the period</dd>
+<dd><code>eventId</code> - the IotDevice eventId to use for the event</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the <code>TStream&lt;JsonObject&gt;</code> heartbeat stream</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/HeartBeat.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/HeartBeat.html" target="_top">Frames</a></li>
+<li><a href="HeartBeat.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/IotDevice.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/IotDevice.html
new file mode 100644
index 0000000..8ba6d2c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/IotDevice.html
@@ -0,0 +1,549 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="IotDevice (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotDevice.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/IotDevice.html" target="_top">Frames</a></li>
+<li><a href="IotDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.iot</div>
+<h2 title="Interface IotDevice" class="title">Interface IotDevice</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<dl>
+<dt>All Known Subinterfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a>, <a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a>, <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">IotDevice</span>
+extends <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></pre>
+<div class="block">A generic IoT device IoT hub connector.
+ <p>
+ IotDevice characteristics:
+ <ul>
+ <li><code>IotDevice.getDeviceTypeId()</code> returns an opaque value whose form
+      is the domain of an IoT connector implementation.</li>
+ <li><code>IotDevice.getDeviceId()</code> returns an opaque value whose form
+      is the domain of an IoT connector implementation.
+      The value is unique for a particular a logical device.
+ <li><code>IotDevice.equals()</code> returns true if two IotDevice instances are
+     for the same logical device, false otherwise.</li>
+ <li><code>IotDevice.hashCode()</code> returns the same value for all IotDevice instances
+     for the same logical device.</li>
+ </ul></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">Edgent generic IoT device model</a>, 
+<a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot"><code>IotGateway</code></a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE">CMD_DEVICE</a></span></code>
+<div class="block">Device identifier key.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT">CMD_FORMAT</a></span></code>
+<div class="block">Command format key.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID">CMD_ID</a></span></code>
+<div class="block">Command identifier key.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD">CMD_PAYLOAD</a></span></code>
+<div class="block">Command payload key.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS">CMD_TS</a></span></code>
+<div class="block">Command timestamp (in milliseconds) key.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX">RESERVED_ID_PREFIX</a></span></code>
+<div class="block">Device event and command identifiers starting with "edgent" are reserved for use by Edgent.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">getDeviceId</a></span>()</code>
+<div class="block">Get the device's unique opaque device identifier.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--">getDeviceType</a></span>()</code>
+<div class="block">Get the device's opaque device type identifier.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TopologyElement">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</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="RESERVED_ID_PREFIX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RESERVED_ID_PREFIX</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> RESERVED_ID_PREFIX</pre>
+<div class="block">Device event and command identifiers starting with "edgent" are reserved for use by Edgent.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.connectors.iot.IotDevice.RESERVED_ID_PREFIX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CMD_ID">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CMD_ID</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CMD_ID</pre>
+<div class="block">Command identifier key.
+ Key is "command".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-"><code>commands(String...)</code></a>, 
+<a href="../../../../../constant-values.html#org.apache.edgent.connectors.iot.IotDevice.CMD_ID">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CMD_TS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CMD_TS</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CMD_TS</pre>
+<div class="block">Command timestamp (in milliseconds) key.
+ Key is "tsms".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-"><code>commands(String...)</code></a>, 
+<a href="../../../../../constant-values.html#org.apache.edgent.connectors.iot.IotDevice.CMD_TS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CMD_FORMAT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CMD_FORMAT</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CMD_FORMAT</pre>
+<div class="block">Command format key.
+ Key is "format".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-"><code>commands(String...)</code></a>, 
+<a href="../../../../../constant-values.html#org.apache.edgent.connectors.iot.IotDevice.CMD_FORMAT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CMD_PAYLOAD">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CMD_PAYLOAD</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CMD_PAYLOAD</pre>
+<div class="block">Command payload key.
+ If the command format is <code>json</code> then
+ the key's value will be a <code>JsonObject</code>,
+ otherwise a <code>String</code>.
+ Key is "payload".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-"><code>commands(String...)</code></a>, 
+<a href="../../../../../constant-values.html#org.apache.edgent.connectors.iot.IotDevice.CMD_PAYLOAD">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="CMD_DEVICE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CMD_DEVICE</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CMD_DEVICE</pre>
+<div class="block">Device identifier key.
+ Key is "device".
+ The value is the result of <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--"><code>getDeviceId()</code></a>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-"><code>commands(String...)</code></a>, 
+<a href="../../../../../constant-values.html#org.apache.edgent.connectors.iot.IotDevice.CMD_DEVICE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getDeviceType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDeviceType</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceType()</pre>
+<div class="block">Get the device's opaque device type identifier.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the device's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getDeviceId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDeviceId</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceId()</pre>
+<div class="block">Get the device's unique opaque device identifier.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the device's id</dd>
+</dl>
+</li>
+</ul>
+<a name="events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>events</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+                                         <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
+<div class="block">Publish a stream's tuples as device events.
+ <p>
+ Each tuple is published as a device event with the supplied functions
+ providing the event identifier, payload and QoS. The event identifier and
+ QoS can be generated based upon the tuple.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - function to supply the event identifier.</dd>
+<dd><code>payload</code> - function to supply the event's payload.</dd>
+<dd><code>qos</code> - function to supply the event's delivery Quality of Service.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="events-org.apache.edgent.topology.TStream-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>events</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+                                         int&nbsp;qos)</pre>
+<div class="block">Publish a stream's tuples as device events.
+ <p>
+ Each tuple is published as a device event with fixed event identifier and
+ QoS.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - Event identifier.</dd>
+<dd><code>qos</code> - Event's delivery Quality of Service.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="commands-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>commands</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
+<div class="block">Create a stream of device commands as JSON objects.
+ Each command sent to the device matching <code>commands</code> will result in a tuple
+ on the stream. The JSON object has these keys:
+ <UL>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE"><code>device</code></a> - Command's opaque target device's id String.
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID"><code>command</code></a> - Command identifier as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS"><code>tsms</code></a> - Timestamp of the command in milliseconds since the 1970/1/1 epoch.</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT"><code>format</code></a> - Format of the command as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD"><code>payload</code></a> - Payload of the command
+ <UL>
+ <LI>If <code>format</code> is <code>json</code> then <code>payload</code> is JSON</LI>
+ <LI>Otherwise <code>payload</code> is String</LI>
+ </UL>
+ </LI>
+ </UL></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>commands</code> - Command identifiers to include. If no command identifiers are provided then the
+ stream will contain all of this IotDevice's device commands.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing device commands.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotDevice.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/IotDevice.html" target="_top">Frames</a></li>
+<li><a href="IotDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/IotGateway.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/IotGateway.html
new file mode 100644
index 0000000..b2c0556
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/IotGateway.html
@@ -0,0 +1,552 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotGateway (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="IotGateway (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotGateway.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/IotGateway.html" target="_top">Frames</a></li>
+<li><a href="IotGateway.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.iot</div>
+<h2 title="Interface IotGateway" class="title">Interface IotGateway</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>, <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">IotGateway</span>
+extends <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></pre>
+<div class="block">A generic IoT gateway device IoT hub connector.
+ <p>
+ <b>This interface is incubating and is subject to change.</b>
+ <p>
+ An IoT gateway device is a conduit for a collection of IoT devices 
+ that lack direct connection to the enterprise IoT hub.
+ <p>
+ An IoT gateway device is an IoT device.  Events can be published
+ that are from the gateway's deviceId and commands can be received that are targeted for it
+ using the gateway's <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-"><code>events()</code></a>
+ and <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-"><code>commands()</code></a>.
+ <p>
+ Use <a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.util.Map-"><code>getIotDevice(Map)</code></a> to get an <code>IotDevice</code> for a gateway connected device
+ or <a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDeviceId-java.util.Map-"><code>getIotDeviceId(Map)</code></a> to get a deviceId for it.
+ The name/value pairs in the map are IotGateway implementation defined values.
+ Refer to the IotGateway implementation for details.
+ <p>
+ Events can be published that are from a connected device's deviceId and commands can be 
+ received for that are targeted for it using
+ <a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-"><code>eventsForDevice()</code></a>
+ and <a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.util.Set-java.lang.String...-"><code>commandsForDevice()</code></a>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">Edgent generic IoT device model</a>, 
+<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a></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>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.connectors.iot.IotDevice">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></h3>
+<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE">CMD_DEVICE</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT">CMD_FORMAT</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID">CMD_ID</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD">CMD_PAYLOAD</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS">CMD_TS</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX">RESERVED_ID_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIds,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+               int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
+<div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</code>
+<div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDeviceId-java.util.Map-">getIotDeviceId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
+<div class="block">Get a <code>deviceId</code> for a device.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.connectors.iot.IotDevice">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></h3>
+<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">getDeviceId</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--">getDeviceType</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TopologyElement">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getIotDevice-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIotDevice</h4>
+<pre><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</pre>
+<div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.
+ No external validation of the attribute values is performed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deviceIdAttrs</code> - IotGateway implementation specific attributes
+                    that identify a device.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>IotDevice</dd>
+</dl>
+</li>
+</ul>
+<a name="getIotDeviceId-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIotDeviceId</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getIotDeviceId(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</pre>
+<div class="block">Get a <code>deviceId</code> for a device.
+ Logically equivalent to <code>getIotDevice(deviceIdAttrs).getDeviceId()</code>.
+ No external validation of the attribute values is performed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deviceIdAttrs</code> - IotGateway implementation specific attributes
+                    that identify a device.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>deviceId</dd>
+</dl>
+</li>
+</ul>
+<a name="getIotDevice-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIotDevice</h4>
+<pre><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</pre>
+<div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deviceId</code> - a value from <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--"><code>IotDevice.getDeviceId()</code></a>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>IotDevice</dd>
+</dl>
+</li>
+</ul>
+<a name="eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>eventsForDevice</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
+                                                  <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                  <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+                                                  <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+                                                  <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
+<div class="block">Publish a stream's tuples as device events.
+ Each tuple is published as a device event with the supplied functions
+ providing the device identifier, event identifier, payload and QoS. 
+ The values can be generated based upon the tuple.
+ <p>
+ Events for a particular device can also be published via its 
+ <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-"><code>IotDevice.events()</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deviceId</code> - function to supply the device-id that the event is associated with.</dd>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - function to supply the event identifier.</dd>
+<dd><code>payload</code> - function to supply the event's payload.</dd>
+<dd><code>qos</code> - function to supply the event's delivery Quality of Service.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>eventsForDevice</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
+                                                  <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+                                                  int&nbsp;qos)</pre>
+<div class="block">Publish a stream's tuples as device events.
+ Each tuple is published as a device event with the supplied
+ device identifier, event identifier and QoS.
+ <p>
+ Events for a particular device can also be published via its 
+ <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-"><code>IotDevice.event()</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deviceId</code> - Device-id that the event is associated with.</dd>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - Event identifier.</dd>
+<dd><code>qos</code> - Event's delivery Quality of Service.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="commandsForDevice-java.util.Set-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commandsForDevice</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIds,
+                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
+<div class="block">Create a stream of device commands as JSON objects.
+ Each command sent to one of the specified <code>deviceIds</code> matching <code>commands</code> will
+ result in a tuple on the stream. The JSON object has these keys:
+ <UL>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE"><code>device</code></a> - Command's opaque target device's id String.
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID"><code>command</code></a> - Command identifier as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS"><code>tsms</code></a> - Timestamp of the command in milliseconds since the 1970/1/1 epoch.</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT"><code>format</code></a> - Format of the command as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD"><code>payload</code></a> - Payload of the command
+   <UL>
+   <LI>If <code>format</code> is <code>json</code> then <code>payload</code> is JSON</LI>
+   <LI>Otherwise <code>payload</code> is String</LI>
+   </UL>
+ </LI>
+ </UL>
+ 
+ Logically equivalent to a union of a collection of individual IotDevice specific
+ command streams but enables an IotGateway implementation to implement it more efficiently.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deviceIds</code> - Filter to include commands for the specified deviceIds
+            If the set is empty no filtering occurs. The commands for any device are included.</dd>
+<dd><code>commands</code> - Command identifiers to include. If no command identifiers are provided then the
+ stream will contain all device commands for the specified devices.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing device commands.</dd>
+</dl>
+</li>
+</ul>
+<a name="commandsForDevice-java.lang.String-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commandsForDevice</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
+                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
+<div class="block">Create a stream of device commands as JSON objects.
+ Each command sent to the specified <code>deviceId</code> matching <code>commands</code> will
+ result in a tuple on the stream. The JSON object has these keys:
+ <UL>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE"><code>device</code></a> - Command's target device's opaque id String.
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID"><code>command</code></a> - Command identifier as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS"><code>tsms</code></a> - Timestamp of the command in milliseconds since the 1970/1/1 epoch.</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT"><code>format</code></a> - Format of the command as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD"><code>payload</code></a> - Payload of the command
+ <UL>
+ <LI>If <code>format</code> is <code>json</code> then <code>payload</code> is JSON</LI>
+ <LI>Otherwise <code>payload</code> is String</LI>
+ </UL>
+ </LI>
+ </UL>
+ <P>
+ Equivalent to <code>commandsForDevice(Collections.singleton(deviceId)), ...</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deviceId</code> - Filter to include commands for the specified deviceId</dd>
+<dd><code>commands</code> - Command identifiers to include. If no command identifiers are provided then the
+ stream will contain all device commands for the specified device.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing device commands.</dd>
+</dl>
+</li>
+</ul>
+<a name="commandsForType-java.lang.String-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>commandsForType</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForType(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
+<div class="block">Create a stream of device commands as JSON objects.
+ Each command sent to connected devices of type <code>deviceTypeId</code> matching <code>commands</code>
+ will result in a tuple on the stream. The JSON object has these keys:
+ <UL>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE"><code>device</code></a> - Command's target device's opaque id String.
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID"><code>command</code></a> - Command identifier as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS"><code>tsms</code></a> - Timestamp of the command in milliseconds since the 1970/1/1 epoch.</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT"><code>format</code></a> - Format of the command as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD"><code>payload</code></a> - Payload of the command
+ <UL>
+ <LI>If <code>format</code> is <code>json</code> then <code>payload</code> is JSON</LI>
+ <LI>Otherwise <code>payload</code> is String</LI>
+ </UL>
+ </LI>
+ </UL>
+ <P>
+ An IoT connector implementation may throw
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang"><code>UnsupportedOperationException</code></a>
+ if it does not support this capability.  See the implementation's documentation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deviceTypeId</code> - Only return commands for connected devices with the specified
+            device type id value (a value from <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--"><code>IotDevice.getDeviceType()</code></a>).</dd>
+<dd><code>commands</code> - Command identifiers to include. If no command identifiers are provided then the
+ stream will contain all device commands for devices with the specified device type id.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing device commands.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotGateway.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/IotGateway.html" target="_top">Frames</a></li>
+<li><a href="IotGateway.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/QoS.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/QoS.html
new file mode 100644
index 0000000..1683359
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/QoS.html
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>QoS (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="QoS (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QoS.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/QoS.html" target="_top">Frames</a></li>
+<li><a href="QoS.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&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">org.apache.edgent.connectors.iot</div>
+<h2 title="Interface QoS" class="title">Interface QoS</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">QoS</span></pre>
+<div class="block">Device event quality of service levels.
+ The QoS levels match the MQTT specification.
+ <BR>
+ An implementation of <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> may not
+ support all QoS levels.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://mqtt.org/">mqtt.org</a>, 
+<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-"><code>IotDevice.events(org.apache.edgent.topology.TStream, String, int)</code></a>, 
+<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-"><code>IotDevice.events(org.apache.edgent.topology.TStream, org.apache.edgent.function.Function, org.apache.edgent.function.UnaryOperator, org.apache.edgent.function.Function)</code></a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#AT_LEAST_ONCE">AT_LEAST_ONCE</a></span></code>
+<div class="block">The message containing the event arrives at the message hub at least once.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#AT_MOST_ONCE">AT_MOST_ONCE</a></span></code>
+<div class="block">The message containing the event arrives at the message hub either once or not at all.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#EXACTLY_ONCE">EXACTLY_ONCE</a></span></code>
+<div class="block">The message containing the event arrives at the message hub exactly once.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#FIRE_AND_FORGET">FIRE_AND_FORGET</a></span></code>
+<div class="block">Fire and forget the event.</div>
+</td>
+</tr>
+</table>
+</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="AT_MOST_ONCE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AT_MOST_ONCE</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a> AT_MOST_ONCE</pre>
+<div class="block">The message containing the event arrives at the message hub either once or not at all.
+ <BR>
+ Value is <code>0</code>.</div>
+</li>
+</ul>
+<a name="FIRE_AND_FORGET">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FIRE_AND_FORGET</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a> FIRE_AND_FORGET</pre>
+<div class="block">Fire and forget the event. Synonym for <a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#AT_MOST_ONCE"><code>AT_MOST_ONCE</code></a>.
+ <BR>
+ Value is <code>0</code>.</div>
+</li>
+</ul>
+<a name="AT_LEAST_ONCE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>AT_LEAST_ONCE</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a> AT_LEAST_ONCE</pre>
+<div class="block">The message containing the event arrives at the message hub at least once.
+ The message may be seen at the hub multiple times.
+ <BR>
+ Value is <code>1</code>.</div>
+</li>
+</ul>
+<a name="EXACTLY_ONCE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EXACTLY_ONCE</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a> EXACTLY_ONCE</pre>
+<div class="block">The message containing the event arrives at the message hub exactly once.
+ <BR>
+ Value is <code>2</code>.</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/QoS.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/QoS.html" target="_top">Frames</a></li>
+<li><a href="QoS.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/Commands.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/Commands.html
new file mode 100644
index 0000000..709a6f2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/Commands.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.iot.Commands (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.Commands (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/Commands.html" target="_top">Frames</a></li>
+<li><a href="Commands.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.iot.Commands" class="title">Uses of Interface<br>org.apache.edgent.connectors.iot.Commands</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.iot.Commands</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/Commands.html" target="_top">Frames</a></li>
+<li><a href="Commands.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/Events.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/Events.html
new file mode 100644
index 0000000..c63bab3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/Events.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.iot.Events (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.Events (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/Events.html" target="_top">Frames</a></li>
+<li><a href="Events.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.iot.Events" class="title">Uses of Interface<br>org.apache.edgent.connectors.iot.Events</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.iot.Events</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/Events.html" target="_top">Frames</a></li>
+<li><a href="Events.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/HeartBeat.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/HeartBeat.html
new file mode 100644
index 0000000..d1e391b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/HeartBeat.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.iot.HeartBeat (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.iot.HeartBeat (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/HeartBeat.html" target="_top">Frames</a></li>
+<li><a href="HeartBeat.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.iot.HeartBeat" class="title">Uses of Class<br>org.apache.edgent.connectors.iot.HeartBeat</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.iot.HeartBeat</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/HeartBeat.html" target="_top">Frames</a></li>
+<li><a href="HeartBeat.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/IotDevice.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/IotDevice.html
new file mode 100644
index 0000000..4316a50
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/IotDevice.html
@@ -0,0 +1,414 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.iot.IotDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.IotDevice (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/IotDevice.html" target="_top">Frames</a></li>
+<li><a href="IotDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.iot.IotDevice" class="title">Uses of Interface<br>org.apache.edgent.connectors.iot.IotDevice</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.iot">org.apache.edgent.apps.iot</a></td>
+<td class="colLast">
+<div class="block">Applications for use in an Internet of Things environment.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iot">org.apache.edgent.connectors.iot</a></td>
+<td class="colLast">
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.apps.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a> in <a href="../../../../../../org/apache/edgent/apps/iot/package-summary.html">org.apache.edgent.apps.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/apps/iot/package-summary.html">org.apache.edgent.apps.iot</a> that return <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</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="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotDevicePubSub.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-">addIotDevice</a></span>(<a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te)</code>
+<div class="block">Add a proxy <code>IotDevice</code> for the topology containing <code>te</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/apps/iot/package-summary.html">org.apache.edgent.apps.iot</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</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 void</code></td>
+<td class="colLast"><span class="typeNameLabel">IotDevicePubSub.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#createApplication-org.apache.edgent.connectors.iot.IotDevice-">createApplication</a></span>(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;device)</code>
+<div class="block">Create an instance of this application using <code>device</code> as the device
+ connection to a message hub.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a> in <a href="../../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a> in <a href="../../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></span></code>
+<div class="block">A generic IoT gateway device IoT hub connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> that return <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
+<div class="block">Get an <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</code>
+<div class="block">Get an <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</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="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HeartBeat.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iot/HeartBeat.html#addHeartBeat-org.apache.edgent.connectors.iot.IotDevice-long-java.util.concurrent.TimeUnit-java.lang.String-">addHeartBeat</a></span>(<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;iotDevice,
+            long&nbsp;period,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
+<div class="block">Add IoT device heart beat processing to a topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a> in <a href="../../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> that implement <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></span></code>
+<div class="block">A Device Connector to IBM Watson IoT Platform (WIoTP).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></span></code>
+<div class="block">An IoT Gateway Device Connector to IBM Watson IoT Platform (WIoTP).</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> that return <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
+<div class="block">Get an <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a> in <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> that implement <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></span></code>
+<div class="block">An MQTT based Edgent <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a> in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> that return <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</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>protected <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#createMessageHubDevice-org.apache.edgent.topology.Topology-">createMessageHubDevice</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
+<div class="block">Create the connection to the message hub.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> with type arguments of type <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
+<div class="block">Register an application that uses an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder,
+                boolean&nbsp;autoSubmit,
+                com.google.gson.JsonObject&nbsp;config)</code>
+<div class="block">Register an application that uses an <code>IotDevice</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> with type arguments of type <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
+           <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+           <a href="../../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+           <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/IotDevice.html" target="_top">Frames</a></li>
+<li><a href="IotDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/IotGateway.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/IotGateway.html
new file mode 100644
index 0000000..8b0d7e3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/IotGateway.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.iot.IotGateway (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.IotGateway (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/IotGateway.html" target="_top">Frames</a></li>
+<li><a href="IotGateway.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.iot.IotGateway" class="title">Uses of Interface<br>org.apache.edgent.connectors.iot.IotGateway</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a> in <a href="../../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> that implement <a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></span></code>
+<div class="block">An IoT Gateway Device Connector to IBM Watson IoT Platform (WIoTP).</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/IotGateway.html" target="_top">Frames</a></li>
+<li><a href="IotGateway.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/QoS.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/QoS.html
new file mode 100644
index 0000000..7cf1f19
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/class-use/QoS.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.iot.QoS (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.iot.QoS (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/QoS.html" target="_top">Frames</a></li>
+<li><a href="QoS.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.iot.QoS" class="title">Uses of Interface<br>org.apache.edgent.connectors.iot.QoS</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.iot.QoS</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iot/class-use/QoS.html" target="_top">Frames</a></li>
+<li><a href="QoS.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-frame.html
new file mode 100644
index 0000000..1de10ec
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-frame.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html" target="classFrame">org.apache.edgent.connectors.iot</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="Commands.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">Commands</span></a></li>
+<li><a href="Events.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">Events</span></a></li>
+<li><a href="IotDevice.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">IotDevice</span></a></li>
+<li><a href="IotGateway.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">IotGateway</span></a></li>
+<li><a href="QoS.html" title="interface in org.apache.edgent.connectors.iot" target="classFrame"><span class="interfaceName">QoS</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="HeartBeat.html" title="class in org.apache.edgent.connectors.iot" target="classFrame">HeartBeat</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-summary.html
new file mode 100644
index 0000000..4302676
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-summary.html
@@ -0,0 +1,250 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.iot</h1>
+<div class="docSummary">
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot">Commands</a></td>
+<td class="colLast">
+<div class="block">Device command identifiers used by Edgent.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot">Events</a></td>
+<td class="colLast">
+<div class="block">Device event identifiers used by Edgent.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></td>
+<td class="colLast">
+<div class="block">A generic IoT device IoT hub connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></td>
+<td class="colLast">
+<div class="block">A generic IoT gateway device IoT hub connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot">QoS</a></td>
+<td class="colLast">
+<div class="block">Device event quality of service levels.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot">HeartBeat</a></td>
+<td class="colLast">
+<div class="block">An IoT device heartbeat event generator.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.iot Description">Package org.apache.edgent.connectors.iot Description</h2>
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.
+ <P>
+ An IoT environment consists of an enterprise IoT message hub and devices and other clients
+ connected to it.
+ Each IoT device has an identity in the hub. The form of a device's identity is the domain
+ of an IoT hub implementation.
+ How a device becomes registered to an IoT hub and generally what device management capabilities
+ exist and how a device is managed is beyond the scope of the 
+ "analytic pipelines" focused Edgent APIs.
+ </P>
+ <P>
+ An IoT device can publish device events to and receive device commands from an IoT hub.
+ An IoT gateway device is an IoT device that is also conduit for a collection of IoT devices 
+ that lack direct connection to the enterprise IoT hub.
+ A gateway can publish events on behalf of its connected devices and 
+ receive commands from the hub targeted to them.
+ An Edgent IoT hub connector bridges the gap between this generic model and and
+ particular IoT hub implementation's underlying protocols.
+ </P>
+ <P>
+ More specifically, the generic IoT device model consists of:
+ <UL>
+ <LI>
+ <B>Device events</B> - A device <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-"><code>publishes</code></a> <em>events</em> as messages to a message hub to allow
+ analysis or processing by back-end systems, etc.. A device event consists of:
+ <UL>
+ <LI>  <B>event identifier</B> - Application specified event type. E.g. <code>engineAlert</code></LI>
+ <LI>  <B>event payload</B> - Application specified event payload. E.g. the engine alert code and sensor reading.</LI>
+ <LI>  <B>QoS</B> - <a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><code>Quality of service</code></a> for message delivery. Using MQTT QoS definitions.</LI>
+ </UL>
+ Device events can be used to send any data including abnormal events
+ (e.g. a fault condition on an engine), periodic or aggregate sensor readings,
+ device user input etc.
+ <BR>
+ The format for the payload is JSON, support for other payload formats may be added
+ in the future.
+ </LI>
+ <LI>
+ <B>Device Commands</B> - A device <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-"><code>subscribes</code></a> to <em>commands</em> from back-end systems
+ through the message hub. A device command consists of:
+ <UL>
+ <LI>  <B>command identifier</B> - Application specified command type. E.g. <code>statusMessage</code></LI>
+ <LI>  <B>command payload</B> - Application specified command payload. E.g. the severity and
+ text of the message to display.</LI>
+ </UL>
+ Device commands can be used to perform any action on the device including displaying information,
+ controlling the device (e.g. reduce maximum engine revolutions), controlling the Edgent application, etc.
+ <BR>
+ The format for the payload is typically JSON, though other formats may be used.
+ </LI>
+ </UL>
+ <P>
+ Device event and command identifiers starting with "<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX"><code>edgent</code></a>"
+ are reserved for use by Edgent.
+ </P></div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-tree.html
new file mode 100644
index 0000000..af27e6d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-tree.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/http/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.iot</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot"><span class="typeNameLink">HeartBeat</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Commands</span></a></li>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Events</span></a></li>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">QoS</span></a></li>
+<li type="circle">org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TopologyElement</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">IotDevice</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">IotGateway</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/http/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-use.html
new file mode 100644
index 0000000..501c59e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iot/package-use.html
@@ -0,0 +1,261 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.iot (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.iot" class="title">Uses of Package<br>org.apache.edgent.connectors.iot</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.iot">org.apache.edgent.apps.iot</a></td>
+<td class="colLast">
+<div class="block">Applications for use in an Internet of Things environment.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iot">org.apache.edgent.connectors.iot</a></td>
+<td class="colLast">
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.apps.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> used by <a href="../../../../../org/apache/edgent/apps/iot/package-summary.html">org.apache.edgent.apps.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/iot/class-use/IotDevice.html#org.apache.edgent.apps.iot">IotDevice</a>
+<div class="block">A generic IoT device IoT hub connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> used by <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/iot/class-use/IotDevice.html#org.apache.edgent.connectors.iot">IotDevice</a>
+<div class="block">A generic IoT device IoT hub connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> used by <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/iot/class-use/IotDevice.html#org.apache.edgent.connectors.iotp">IotDevice</a>
+<div class="block">A generic IoT device IoT hub connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/iot/class-use/IotGateway.html#org.apache.edgent.connectors.iotp">IotGateway</a>
+<div class="block">A generic IoT gateway device IoT hub connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> used by <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/iot/class-use/IotDevice.html#org.apache.edgent.connectors.mqtt.iot">IotDevice</a>
+<div class="block">A generic IoT device IoT hub connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> used by <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/iot/class-use/IotDevice.html#org.apache.edgent.providers.iot">IotDevice</a>
+<div class="block">A generic IoT device IoT hub connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iot/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/IotpDevice.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/IotpDevice.html
new file mode 100644
index 0000000..9e68eda
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/IotpDevice.html
@@ -0,0 +1,761 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotpDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="IotpDevice (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotpDevice.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iotp/IotpDevice.html" target="_top">Frames</a></li>
+<li><a href="IotpDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.connectors.iotp</div>
+<h2 title="Class IotpDevice" class="title">Class IotpDevice</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.iotp.IotpDevice</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>, <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">IotpDevice</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></pre>
+<div class="block">A Device Connector to IBM Watson IoT Platform (WIoTP).
+ <BR>
+ IBM Watson IoT Platform is a cloud based internet of things
+ scale message hub that provides a device model on top of MQTT.
+ <code>IotpDevice</code> implements the generic device model <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a>
+ and thus can be used as a connector for
+ <code>org.apache.edgent.providers.iot.IotProvider</code>.
+ <BR>
+ <em>Note IBM Watson IoT Platform was previously known as
+ IBM Internet of Things Foundation.</em>
+ <p>
+ This connector is a thin wrapper over the WIoTP <code>DeviceClient</code> Java API.
+ The constructor <code>Properties</code> and <code>optionsFile</code> contents are those
+ demanded by <code>DeviceClient</code>.
+ <p>
+ For more complex use cases this connector can be constructed to use
+ a supplied <code>DeviceClient</code>.  This gives an application complete
+ control over the construction and configuration of the underlying
+ connection to WIoTP.
+ <p>
+ An application that wants to be a WIoTP <i>managed device</i>
+ and an Edgent application must construct a WIoTP <code>ManagedDevice</code> instance
+ and construct this device connector using it.
+ <P>
+ If the following link's page doesn't render in javadoc, paste it into a browser window.
+ <BR>
+ See the IBM Watson IoT Platform documentation for Developing devices at
+ <a href="https://internetofthings.ibmcloud.com/">https://internetofthings.ibmcloud.com/</a>
+ <p>
+ See <a href="https://github.com/ibm-watson-iot/iot-java/releases">WIoTP Java Client Library Releases</a>
+ for general information.
+ <p>
+ See <a href="https://github.com/ibm-watson-iot/iot-java/tree/master#migration-from-release-015-to-021">WIoTP Migration from release 0.1.5 to 0.2.1</a>
+ for details of changes that occurred to device event payloads
+ and how to revert the behavior if needed.
+ <p>
+ See <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">Edgent generic device model</a>
+ <p>
+ See <code>org.apache.edgent.samples.connectors.iotp.IotpSensors</code> Sample application</div>
+</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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#QUICKSTART_DEVICE_TYPE">QUICKSTART_DEVICE_TYPE</a></span></code>
+<div class="block">Device type identifier ("iotsamples-edgent") used when using the Quickstart service.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.connectors.iot.IotDevice">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></h3>
+<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE">CMD_DEVICE</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT">CMD_FORMAT</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID">CMD_ID</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD">CMD_PAYLOAD</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS">CMD_TS</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX">RESERVED_ID_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-com.ibm.iotf.client.device.DeviceClient-">IotpDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          com.ibm.iotf.client.device.DeviceClient&nbsp;deviceClient)</code>
+<div class="block">Create a connector using the supplied WIoTP <code>DeviceClient</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.io.File-">IotpDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</code>
+<div class="block">Create a connector for the IoT device specified by <code>optionsFile</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.util.Properties-">IotpDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</code>
+<div class="block">Create a connector for the IoT device specified by <code>options</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#getDeviceId--">getDeviceId</a></span>()</code>
+<div class="block">Get the device's unique opaque device identifier.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#getDeviceType--">getDeviceType</a></span>()</code>
+<div class="block">Get the device's opaque device type identifier.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+          <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</code>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-java.lang.String-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#quickstart-org.apache.edgent.topology.Topology-java.lang.String-">quickstart</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</code>
+<div class="block">Create an <code>IotpDevice</code> connector to the Quickstart service.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#topology--">topology</a></span>()</code>
+<div class="block">Topology this element is contained in.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#toString--">toString</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="QUICKSTART_DEVICE_TYPE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>QUICKSTART_DEVICE_TYPE</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> QUICKSTART_DEVICE_TYPE</pre>
+<div class="block">Device type identifier ("iotsamples-edgent") used when using the Quickstart service.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#quickstart-org.apache.edgent.topology.Topology-java.lang.String-"><code>quickstart(Topology, String)</code></a>, 
+<a href="../../../../../constant-values.html#org.apache.edgent.connectors.iotp.IotpDevice.QUICKSTART_DEVICE_TYPE">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="IotpDevice-org.apache.edgent.topology.Topology-java.util.Properties-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IotpDevice</h4>
+<pre>public&nbsp;IotpDevice(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</pre>
+<div class="block">Create a connector for the IoT device specified by <code>options</code>.
+ <BR>
+ These properties must be set in <code>options</code>.
+ 
+ <UL>
+ <LI><code>org=</code><em>organization identifier</em></LI>
+ <LI><code>type=</code><em>device type</em></LI>
+ <LI><code>id=</code><em>device identifier</em></LI>
+ <LI><code>auth-method=token</code></LI>
+ <LI><code>auth-token=</code><em>authorization token</em></LI>
+ </UL>
+ For example:
+ <pre>
+ <code>
+ Properties options = new Properties();
+ options.setProperty("org", "uguhsp");
+ options.setProperty("type", "iotsample-arduino");
+ options.setProperty("id", "00aabbccde03");
+ options.setProperty("auth-method", "token");
+ options.setProperty("auth-token", "AJfKQV@&amp;bBo@VX6Dcg");
+ 
+ IotDevice iotDevice = new IotpDevice(options);
+ </code>
+ </pre>
+ <p>
+ Connecting to the server occurs when the topology is submitted for
+ execution.
+ </p>
+ <p>
+ See the IBM Watson IoT Platform documentation for additional properties.
+ </p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>options</code> - control options</dd>
+<dd><code>topology</code> - the connector's associated <code>Topology</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="IotpDevice-org.apache.edgent.topology.Topology-java.io.File-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IotpDevice</h4>
+<pre>public&nbsp;IotpDevice(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</pre>
+<div class="block">Create a connector for the IoT device specified by <code>optionsFile</code>.
+ <BR>
+ The format of the file is:
+ <pre>
+ <code>
+ [device]
+ org = <em>organization identifier</em>
+ type = <em>device type</em>
+ id = <em>device identifier</em>
+ auth-method = token
+ auth-token = <em>authorization token</em>
+ </code>
+ </pre>
+ For example:
+ <pre>
+ <code>
+ [device]
+ org = uguhsp
+ type = iotsample-arduino
+ id = 00aabbccde03
+ auth-method = token
+ auth-token = AJfKQV@&amp;bBo@VX6Dcg
+ </code>
+ </pre>
+ <p>
+ Connecting to the server occurs when the topology is submitted for
+ execution.
+ </p>
+ <p>
+ See the IBM Watson IoT Platform documentation for additional properties.
+ </p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - the connector's associated <code>Topology</code>.</dd>
+<dd><code>optionsFile</code> - File containing connection information.</dd>
+</dl>
+</li>
+</ul>
+<a name="IotpDevice-org.apache.edgent.topology.Topology-com.ibm.iotf.client.device.DeviceClient-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>IotpDevice</h4>
+<pre>public&nbsp;IotpDevice(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                  com.ibm.iotf.client.device.DeviceClient&nbsp;deviceClient)</pre>
+<div class="block">Create a connector using the supplied WIoTP <code>DeviceClient</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - the connector's associated <code>Topology</code>.</dd>
+<dd><code>deviceClient</code> - a WIoTP device client API object.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="quickstart-org.apache.edgent.topology.Topology-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>quickstart</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a>&nbsp;quickstart(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</pre>
+<div class="block">Create an <code>IotpDevice</code> connector to the Quickstart service.
+ Quickstart service requires no-sign up to use to allow evaluation
+ but has limitations on functionality, such as only supporting
+ device events and only one message per second.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - the connector's associated <code>Topology</code>.</dd>
+<dd><code>deviceId</code> - Device identifier to use for the connection.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Connector to the Quickstart service.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="https://quickstart.internetofthings.ibmcloud.com">Quickstart</a>
+ See {@code org.apache.edgent.samples.connectors.iotp.IotpQuickstart Quickstart} sample application</dd>
+</dl>
+</li>
+</ul>
+<a name="events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>events</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+                                                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
+<div class="block">Publish a stream's tuples as device events.
+ <p>
+ Each tuple is published as a device event with the supplied functions
+ providing the event identifier, payload and QoS from the tuple.
+ The event identifier and <a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><code>Quality of Service</code></a>
+ can be generated based upon the tuple.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - function to supply the event identifier.</dd>
+<dd><code>payload</code> - function to supply the event's payload.</dd>
+<dd><code>qos</code> - function to supply the event's delivery <a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><code>Quality of Service</code></a>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><code>QoS</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="events-org.apache.edgent.topology.TStream-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>events</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+                                                int&nbsp;qos)</pre>
+<div class="block">Publish a stream's tuples as device events.
+ <p>
+ Each tuple is published as a device event with fixed event identifier and
+ QoS.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - Event identifier.</dd>
+<dd><code>qos</code> - Event's delivery <a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><code>Quality of Service</code></a>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><code>QoS</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>httpEvents</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;httpEvents(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+                                                    <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</pre>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.
+ <p>
+ Each tuple is published as a device event with the supplied functions
+ providing the event identifier and payload from the tuple.
+ The event identifier and payload can be generated based upon the tuple.
+ The event is published with the equivalent of <a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#AT_MOST_ONCE"><code>QoS.AT_MOST_ONCE</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - function to supply the event identifier.</dd>
+<dd><code>payload</code> - function to supply the event's payload.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="httpEvents-org.apache.edgent.topology.TStream-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>httpEvents</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;httpEvents(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</pre>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.
+ <p>
+ Each tuple is published as a device event with the fixed event identifier.
+ The event is published with the equivalent of <a href="../../../../../org/apache/edgent/connectors/iot/QoS.html#AT_MOST_ONCE"><code>QoS.AT_MOST_ONCE</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - Event identifier.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="commands-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commands</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
+<div class="block">Create a stream of device commands as JSON objects.
+ Each command sent to the device matching <code>commands</code> will result in a tuple
+ on the stream. The JSON object has these keys:
+ <UL>
+ <LI><code>command</code> - Command identifier as a String</LI>
+ <LI><code>tsms</code> - Timestamp of the command in milliseconds since the 1970/1/1 epoch.</LI>
+ <LI><code>format</code> - Format of the command as a String</LI>
+ <LI><code>payload</code> - Payload of the command
+ <UL>
+ <LI>If <code>format</code> is <code>json</code> then <code>payload</code> is JSON corresponding to the
+ command specific data.</LI>
+ <LI>Otherwise <code>payload</code> is String
+ </UL>
+ </LI>
+ </UL></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>commands</code> - Commands to include. If no commands are provided then the
+ stream will contain all device commands.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing device commands.</dd>
+</dl>
+</li>
+</ul>
+<a name="topology--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topology</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">TopologyElement</a></code></span></div>
+<div class="block">Topology this element is contained in.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Topology this element is contained in.</dd>
+</dl>
+</li>
+</ul>
+<a name="getDeviceType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDeviceType</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--">IotDevice</a></code></span></div>
+<div class="block">Get the device's opaque device type identifier.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--">getDeviceType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the device's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getDeviceId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDeviceId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceId()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">IotDevice</a></code></span></div>
+<div class="block">Get the device's unique opaque device identifier.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">getDeviceId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the device's id</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotpDevice.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iotp/IotpDevice.html" target="_top">Frames</a></li>
+<li><a href="IotpDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/IotpGateway.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/IotpGateway.html
new file mode 100644
index 0000000..52ce4a7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/IotpGateway.html
@@ -0,0 +1,1003 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotpGateway (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="IotpGateway (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotpGateway.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iotp/IotpGateway.html" target="_top">Frames</a></li>
+<li><a href="IotpGateway.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.connectors.iotp</div>
+<h2 title="Class IotpGateway" class="title">Class IotpGateway</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.iotp.IotpGateway</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a>, <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">IotpGateway</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></pre>
+<div class="block">An IoT Gateway Device Connector to IBM Watson IoT Platform (WIoTP).
+ <p>
+ <b>This class is incubating and is subject to change.</b>
+ <p>
+ This connector is a thin wrapper over the WIoTP <code>GatewayClient</code> Java API.
+ The constructor <code>Properties</code> and <code>optionsFile</code> contents are those
+ demanded by <code>GatewayClient</code>.
+ <p>
+ See <a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp"><code>IotpDevice</code></a> for common WIoTP documentation references.
+ <p>
+ <code>IotpGateway</code> establishes its own WIoTP <code>GatewayCallback</code>
+ handler in its embedded or the passed in WIoTP <code>GatewayClient</code>.
+ An application can use 
+ <a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#setExternalCallbackHandler-com.ibm.iotf.client.gateway.GatewayCallback-"><code>setExternalCallbackHandler</code></a>
+ to also receive and process callbacks.
+ <p>
+ Limitations:
+ <ul>
+ <li><code>IotProvider</code> and <code>PublishSubscribeService</code> do not yet support
+ the gateway model.  An IotProvider may be initialized with an IotpGateway
+ but the PublishSubscribeService mechanism will only publish events and receive
+ commands for the gateway device, not any of its connected devices.
+ </li>
+ </ul></div>
+</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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_ID">ATTR_DEVICE_ID</a></span></code>
+<div class="block">WIoTP Device Id identifier key.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_TYPE">ATTR_DEVICE_TYPE</a></span></code>
+<div class="block">WIoTP Device Type identifier key.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.connectors.iot.IotDevice">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></h3>
+<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE">CMD_DEVICE</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT">CMD_FORMAT</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID">CMD_ID</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD">CMD_PAYLOAD</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS">CMD_TS</a>, <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX">RESERVED_ID_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-java.io.File-">IotpGateway</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</code>
+<div class="block">Create a connector for the IoT gateway device specified by <code>optionsFile</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-com.ibm.iotf.client.gateway.GatewayClient-">IotpGateway</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           com.ibm.iotf.client.gateway.GatewayClient&nbsp;gatewayClient)</code>
+<div class="block">Create a connector using the supplied WIoTP <code>DeviceClient</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-java.util.Properties-">IotpGateway</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</code>
+<div class="block">Create a connector for the IoT gateway device specified by <code>options</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceIds,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+               int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getDeviceId--">getDeviceId</a></span>()</code>
+<div class="block">Get the device's unique opaque device identifier.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getDeviceType--">getDeviceType</a></span>()</code>
+<div class="block">Get the device's opaque device type identifier.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
+<div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId)</code>
+<div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDeviceId-java.util.Map-">getIotDeviceId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</code>
+<div class="block">Get a <code>deviceId</code> for a device.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>com.ibm.iotf.client.gateway.GatewayCallback</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#setExternalCallbackHandler-com.ibm.iotf.client.gateway.GatewayCallback-">setExternalCallbackHandler</a></span>(com.ibm.iotf.client.gateway.GatewayCallback&nbsp;handler)</code>
+<div class="block">Set an external WIoTP <code>GatewayCallback</code> handler.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#topology--">topology</a></span>()</code>
+<div class="block">Topology this element is contained in.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#toString--">toString</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="ATTR_DEVICE_TYPE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ATTR_DEVICE_TYPE</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_DEVICE_TYPE</pre>
+<div class="block">WIoTP Device Type identifier key.
+ Key is "deviceType".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.util.Map-"><code>getIotDevice(Map)</code></a>, 
+<a href="../../../../../constant-values.html#org.apache.edgent.connectors.iotp.IotpGateway.ATTR_DEVICE_TYPE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ATTR_DEVICE_ID">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ATTR_DEVICE_ID</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_DEVICE_ID</pre>
+<div class="block">WIoTP Device Id identifier key.
+ Key is "deviceId".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDevice-java.util.Map-"><code>getIotDevice(Map)</code></a>, 
+<a href="../../../../../constant-values.html#org.apache.edgent.connectors.iotp.IotpGateway.ATTR_DEVICE_ID">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="IotpGateway-org.apache.edgent.topology.Topology-java.util.Properties-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IotpGateway</h4>
+<pre>public&nbsp;IotpGateway(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</pre>
+<div class="block">Create a connector for the IoT gateway device specified by <code>options</code>.
+ <BR>
+ These properties must be set in <code>options</code>.
+ 
+ <UL>
+ <LI><code>org=</code><em>organization identifier</em></LI>
+ <LI><code>type=</code><em>gateway device type</em></LI>
+ <LI><code>id=</code><em>gateway device identifier</em></LI>
+ <LI><code>auth-method=token</code></LI>
+ <LI><code>auth-token=</code><em>authorization token</em></LI>
+ </UL>
+ For example:
+ <pre>
+ <code>
+ Properties options = new Properties();
+ options.setProperty("org", "uguhsp");
+ options.setProperty("type", "iotsample-gateway");
+ options.setProperty("id", "00aabbccde03");
+ options.setProperty("auth-method", "token");
+ options.setProperty("auth-token", "AJfKQV@&amp;bBo@VX6Dcg");
+ 
+ IotDevice iotDevice = new IotpDevice(options);
+ </code>
+ </pre>
+ <p>
+ Connecting to the server occurs when the topology is submitted for
+ execution.
+ </p>
+ <p>
+ See the IBM Watson IoT Platform documentation for additional properties.
+ </p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>options</code> - control options</dd>
+<dd><code>topology</code> - the connector's associated <code>Topology</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="IotpGateway-org.apache.edgent.topology.Topology-java.io.File-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IotpGateway</h4>
+<pre>public&nbsp;IotpGateway(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</pre>
+<div class="block">Create a connector for the IoT gateway device specified by <code>optionsFile</code>.
+ <BR>
+ The format of the file is:
+ <pre>
+ <code>
+ [device]
+ org = <em>organization identifier</em>
+ type = <em>gateway device type</em>
+ id = <em>gateway device identifier</em>
+ auth-method = token
+ auth-token = <em>authorization token</em>
+ </code>
+ </pre>
+ For example:
+ <pre>
+ <code>
+ [device]
+ org = uguhsp
+ type = iotsample-gateway
+ id = 00aabbccde03
+ auth-method = token
+ auth-token = AJfKQV@&amp;bBo@VX6Dcg
+ </code>
+ </pre>
+ <p>
+ Connecting to the server occurs when the topology is submitted for
+ execution.
+ </p>
+ <p>
+ See the IBM Watson IoT Platform documentation for additional properties.
+ </p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - the connector's associated <code>Topology</code>.</dd>
+<dd><code>optionsFile</code> - File containing connection information.</dd>
+</dl>
+</li>
+</ul>
+<a name="IotpGateway-org.apache.edgent.topology.Topology-com.ibm.iotf.client.gateway.GatewayClient-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>IotpGateway</h4>
+<pre>public&nbsp;IotpGateway(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                   com.ibm.iotf.client.gateway.GatewayClient&nbsp;gatewayClient)</pre>
+<div class="block">Create a connector using the supplied WIoTP <code>DeviceClient</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - the connector's associated <code>Topology</code>.</dd>
+<dd><code>gatewayClient</code> - a WIoTP device client API object.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getDeviceType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDeviceType</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceType()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--">IotDevice</a></code></span></div>
+<div class="block">Get the device's opaque device type identifier.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--">getDeviceType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the device's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getDeviceId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDeviceId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceId()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">IotDevice</a></code></span></div>
+<div class="block">Get the device's unique opaque device identifier.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">getDeviceId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the device's id</dd>
+</dl>
+</li>
+</ul>
+<a name="events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>events</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+                                                <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">IotDevice</a></code></span></div>
+<div class="block">Publish a stream's tuples as device events.
+ <p>
+ Each tuple is published as a device event with the supplied functions
+ providing the event identifier, payload and QoS. The event identifier and
+ QoS can be generated based upon the tuple.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - function to supply the event identifier.</dd>
+<dd><code>payload</code> - function to supply the event's payload.</dd>
+<dd><code>qos</code> - function to supply the event's delivery Quality of Service.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="events-org.apache.edgent.topology.TStream-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>events</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+                                                int&nbsp;qos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">IotDevice</a></code></span></div>
+<div class="block">Publish a stream's tuples as device events.
+ <p>
+ Each tuple is published as a device event with fixed event identifier and
+ QoS.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - Event identifier.</dd>
+<dd><code>qos</code> - Event's delivery Quality of Service.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="commands-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commands</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">IotDevice</a></code></span></div>
+<div class="block">Create a stream of device commands as JSON objects.
+ Each command sent to the device matching <code>commands</code> will result in a tuple
+ on the stream. The JSON object has these keys:
+ <UL>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE"><code>device</code></a> - Command's opaque target device's id String.
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID"><code>command</code></a> - Command identifier as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS"><code>tsms</code></a> - Timestamp of the command in milliseconds since the 1970/1/1 epoch.</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT"><code>format</code></a> - Format of the command as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD"><code>payload</code></a> - Payload of the command
+ <UL>
+ <LI>If <code>format</code> is <code>json</code> then <code>payload</code> is JSON</LI>
+ <LI>Otherwise <code>payload</code> is String</LI>
+ </UL>
+ </LI>
+ </UL></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>commands</code> - Command identifiers to include. If no command identifiers are provided then the
+ stream will contain all of this IotDevice's device commands.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing device commands.</dd>
+</dl>
+</li>
+</ul>
+<a name="topology--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topology</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">TopologyElement</a></code></span></div>
+<div class="block">Topology this element is contained in.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Topology this element is contained in.</dd>
+</dl>
+</li>
+</ul>
+<a name="getIotDeviceId-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIotDeviceId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getIotDeviceId(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</pre>
+<div class="block">Get a <code>deviceId</code> for a device.
+ Logically equivalent to <code>getIotDevice(deviceIdAttrs).getDeviceId()</code>.
+ No external validation of the attribute values is performed.
+ <p>
+ The device's WIoTP deviceType and deviceId must be supplied
+ using the <a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_TYPE"><code>ATTR_DEVICE_TYPE</code></a> and <a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#ATTR_DEVICE_ID"><code>ATTR_DEVICE_ID</code></a>
+ keys respectively.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDeviceId-java.util.Map-">getIotDeviceId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deviceIdAttrs</code> - IotGateway implementation specific attributes
+                    that identify a device.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>deviceId</dd>
+</dl>
+</li>
+</ul>
+<a name="getIotDevice-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIotDevice</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIdAttrs)</pre>
+<div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.
+ No external validation of the attribute values is performed.
+ <p>
+ See <a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#getIotDeviceId-java.util.Map-"><code>getIotDeviceId(Map)</code></a> for the required attribute keys.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.util.Map-">getIotDevice</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deviceIdAttrs</code> - IotGateway implementation specific attributes
+                    that identify a device.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>IotDevice</dd>
+</dl>
+</li>
+</ul>
+<a name="getIotDevice-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIotDevice</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;getIotDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.lang.String-">IotGateway</a></code></span></div>
+<div class="block">Get an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> for a connected device.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#getIotDevice-java.lang.String-">getIotDevice</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fqDeviceId</code> - a value from <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--"><code>IotDevice.getDeviceId()</code></a>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>IotDevice</dd>
+</dl>
+</li>
+</ul>
+<a name="eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>eventsForDevice</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
+                                                         <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+                                                         <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+                                                         <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">IotGateway</a></code></span></div>
+<div class="block">Publish a stream's tuples as device events.
+ Each tuple is published as a device event with the supplied functions
+ providing the device identifier, event identifier, payload and QoS. 
+ The values can be generated based upon the tuple.
+ <p>
+ Events for a particular device can also be published via its 
+ <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-"><code>IotDevice.events()</code></a>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fqDeviceId</code> - function to supply the device-id that the event is associated with.</dd>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - function to supply the event identifier.</dd>
+<dd><code>payload</code> - function to supply the event's payload.</dd>
+<dd><code>qos</code> - function to supply the event's delivery Quality of Service.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>eventsForDevice</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;eventsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
+                                                         <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+                                                         int&nbsp;qos)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">IotGateway</a></code></span></div>
+<div class="block">Publish a stream's tuples as device events.
+ Each tuple is published as a device event with the supplied
+ device identifier, event identifier and QoS.
+ <p>
+ Events for a particular device can also be published via its 
+ <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-"><code>IotDevice.event()</code></a>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fqDeviceId</code> - Device-id that the event is associated with.</dd>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - Event identifier.</dd>
+<dd><code>qos</code> - Event's delivery Quality of Service.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="commandsForDevice-java.util.Set-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commandsForDevice</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceIds,
+                                                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">IotGateway</a></code></span></div>
+<div class="block">Create a stream of device commands as JSON objects.
+ Each command sent to one of the specified <code>deviceIds</code> matching <code>commands</code> will
+ result in a tuple on the stream. The JSON object has these keys:
+ <UL>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE"><code>device</code></a> - Command's opaque target device's id String.
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID"><code>command</code></a> - Command identifier as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS"><code>tsms</code></a> - Timestamp of the command in milliseconds since the 1970/1/1 epoch.</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT"><code>format</code></a> - Format of the command as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD"><code>payload</code></a> - Payload of the command
+   <UL>
+   <LI>If <code>format</code> is <code>json</code> then <code>payload</code> is JSON</LI>
+   <LI>Otherwise <code>payload</code> is String</LI>
+   </UL>
+ </LI>
+ </UL>
+ 
+ Logically equivalent to a union of a collection of individual IotDevice specific
+ command streams but enables an IotGateway implementation to implement it more efficiently.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fqDeviceIds</code> - Filter to include commands for the specified deviceIds
+            If the set is empty no filtering occurs. The commands for any device are included.</dd>
+<dd><code>commands</code> - Command identifiers to include. If no command identifiers are provided then the
+ stream will contain all device commands for the specified devices.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing device commands.</dd>
+</dl>
+</li>
+</ul>
+<a name="commandsForDevice-java.lang.String-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commandsForDevice</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForDevice(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
+                                                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">IotGateway</a></code></span></div>
+<div class="block">Create a stream of device commands as JSON objects.
+ Each command sent to the specified <code>deviceId</code> matching <code>commands</code> will
+ result in a tuple on the stream. The JSON object has these keys:
+ <UL>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE"><code>device</code></a> - Command's target device's opaque id String.
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID"><code>command</code></a> - Command identifier as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS"><code>tsms</code></a> - Timestamp of the command in milliseconds since the 1970/1/1 epoch.</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT"><code>format</code></a> - Format of the command as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD"><code>payload</code></a> - Payload of the command
+ <UL>
+ <LI>If <code>format</code> is <code>json</code> then <code>payload</code> is JSON</LI>
+ <LI>Otherwise <code>payload</code> is String</LI>
+ </UL>
+ </LI>
+ </UL>
+ <P>
+ Equivalent to <code>commandsForDevice(Collections.singleton(deviceId)), ...</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fqDeviceId</code> - Filter to include commands for the specified deviceId</dd>
+<dd><code>commands</code> - Command identifiers to include. If no command identifiers are provided then the
+ stream will contain all device commands for the specified device.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing device commands.</dd>
+</dl>
+</li>
+</ul>
+<a name="commandsForType-java.lang.String-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commandsForType</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commandsForType(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+                                                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForType-java.lang.String-java.lang.String...-">IotGateway</a></code></span></div>
+<div class="block">Create a stream of device commands as JSON objects.
+ Each command sent to connected devices of type <code>deviceTypeId</code> matching <code>commands</code>
+ will result in a tuple on the stream. The JSON object has these keys:
+ <UL>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE"><code>device</code></a> - Command's target device's opaque id String.
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID"><code>command</code></a> - Command identifier as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS"><code>tsms</code></a> - Timestamp of the command in milliseconds since the 1970/1/1 epoch.</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT"><code>format</code></a> - Format of the command as a String</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD"><code>payload</code></a> - Payload of the command
+ <UL>
+ <LI>If <code>format</code> is <code>json</code> then <code>payload</code> is JSON</LI>
+ <LI>Otherwise <code>payload</code> is String</LI>
+ </UL>
+ </LI>
+ </UL>
+ <P>
+ An IoT connector implementation may throw
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang"><code>UnsupportedOperationException</code></a>
+ if it does not support this capability.  See the implementation's documentation.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>deviceTypeId</code> - Only return commands for connected devices with the specified
+            device type id value (a value from <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--"><code>IotDevice.getDeviceType()</code></a>).</dd>
+<dd><code>commands</code> - Command identifiers to include. If no command identifiers are provided then the
+ stream will contain all device commands for devices with the specified device type id.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing device commands.</dd>
+</dl>
+</li>
+</ul>
+<a name="setExternalCallbackHandler-com.ibm.iotf.client.gateway.GatewayCallback-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setExternalCallbackHandler</h4>
+<pre>public&nbsp;com.ibm.iotf.client.gateway.GatewayCallback&nbsp;setExternalCallbackHandler(com.ibm.iotf.client.gateway.GatewayCallback&nbsp;handler)</pre>
+<div class="block">Set an external WIoTP <code>GatewayCallback</code> handler.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>handler</code> - the handler to call. May be null.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the previously set handler. May be null.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotpGateway.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iotp/IotpGateway.html" target="_top">Frames</a></li>
+<li><a href="IotpGateway.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/class-use/IotpDevice.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/class-use/IotpDevice.html
new file mode 100644
index 0000000..a059e3d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/class-use/IotpDevice.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.iotp.IotpDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.iotp.IotpDevice (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iotp/class-use/IotpDevice.html" target="_top">Frames</a></li>
+<li><a href="IotpDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.iotp.IotpDevice" class="title">Uses of Class<br>org.apache.edgent.connectors.iotp.IotpDevice</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a> in <a href="../../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> that return <a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</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="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#quickstart-org.apache.edgent.topology.Topology-java.lang.String-">quickstart</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</code>
+<div class="block">Create an <code>IotpDevice</code> connector to the Quickstart service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iotp/class-use/IotpDevice.html" target="_top">Frames</a></li>
+<li><a href="IotpDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/class-use/IotpGateway.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/class-use/IotpGateway.html
new file mode 100644
index 0000000..9a1d495
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/class-use/IotpGateway.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.iotp.IotpGateway (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.iotp.IotpGateway (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iotp/class-use/IotpGateway.html" target="_top">Frames</a></li>
+<li><a href="IotpGateway.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.iotp.IotpGateway" class="title">Uses of Class<br>org.apache.edgent.connectors.iotp.IotpGateway</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.iotp.IotpGateway</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/iotp/class-use/IotpGateway.html" target="_top">Frames</a></li>
+<li><a href="IotpGateway.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-frame.html
new file mode 100644
index 0000000..8e58d1c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iotp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html" target="classFrame">org.apache.edgent.connectors.iotp</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="IotpDevice.html" title="class in org.apache.edgent.connectors.iotp" target="classFrame">IotpDevice</a></li>
+<li><a href="IotpGateway.html" title="class in org.apache.edgent.connectors.iotp" target="classFrame">IotpGateway</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-summary.html
new file mode 100644
index 0000000..78e94a6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-summary.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iotp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.iotp (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iotp/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.iotp</h1>
+<div class="docSummary">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></td>
+<td class="colLast">
+<div class="block">A Device Connector to IBM Watson IoT Platform (WIoTP).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></td>
+<td class="colLast">
+<div class="block">An IoT Gateway Device Connector to IBM Watson IoT Platform (WIoTP).</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.iotp Description">Package org.apache.edgent.connectors.iotp Description</h2>
+<div class="block">IBM Watson IoT Platform stream connector.
+ <BR>
+ <em>Note IBM Watson IoT Platform was previously known as Internet of Things Foundation.</em></div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iotp/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-tree.html
new file mode 100644
index 0000000..b64ebd5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-tree.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.iotp Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.iotp Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iotp/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.iotp</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.iotp.<a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpDevice</span></a> (implements org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>)</li>
+<li type="circle">org.apache.edgent.connectors.iotp.<a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpGateway</span></a> (implements org.apache.edgent.connectors.iot.<a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iot/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iotp/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-use.html
new file mode 100644
index 0000000..2b2e2dc
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/iotp/package-use.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.iotp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.iotp (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iotp/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.iotp" class="title">Uses of Package<br>org.apache.edgent.connectors.iotp</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> used by <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/iotp/class-use/IotpDevice.html#org.apache.edgent.connectors.iotp">IotpDevice</a>
+<div class="block">A Device Connector to IBM Watson IoT Platform (WIoTP).</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/iotp/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/CheckedFunction.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/CheckedFunction.html
new file mode 100644
index 0000000..8abcc9f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/CheckedFunction.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CheckedFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CheckedFunction (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CheckedFunction.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/CheckedFunction.html" target="_top">Frames</a></li>
+<li><a href="CheckedFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.jdbc</div>
+<h2 title="Interface CheckedFunction" class="title">Interface CheckedFunction&lt;T,R&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - input stream tuple type</dd>
+<dd><code>R</code> - result stream tuple type</dd>
+</dl>
+<dl>
+<dt>Functional Interface:</dt>
+<dd>This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.</dd>
+</dl>
+<hr>
+<br>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
+public interface <span class="typeNameLabel">CheckedFunction&lt;T,R&gt;</span></pre>
+<div class="block">Function to apply a funtion to an input value and return a result.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="type parameter in CheckedFunction">R</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html#apply-T-">apply</a></span>(<a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="type parameter in CheckedFunction">T</a>&nbsp;t)</code>
+<div class="block">Apply a function to <code>t</code> and return the result.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="apply-java.lang.Object-">
+<!--   -->
+</a><a name="apply-T-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>apply</h4>
+<pre><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="type parameter in CheckedFunction">R</a>&nbsp;apply(<a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="type parameter in CheckedFunction">T</a>&nbsp;t)
+ throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Apply a function to <code>t</code> and return the result.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>t</code> - input value</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the function result.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if there are processing errors.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CheckedFunction.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/CheckedFunction.html" target="_top">Frames</a></li>
+<li><a href="CheckedFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/CheckedSupplier.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/CheckedSupplier.html
new file mode 100644
index 0000000..ad8a6f3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/CheckedSupplier.html
@@ -0,0 +1,243 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CheckedSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CheckedSupplier (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CheckedSupplier.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/CheckedSupplier.html" target="_top">Frames</a></li>
+<li><a href="CheckedSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.jdbc</div>
+<h2 title="Interface CheckedSupplier" class="title">Interface CheckedSupplier&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - stream tuple type</dd>
+</dl>
+<dl>
+<dt>Functional Interface:</dt>
+<dd>This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.</dd>
+</dl>
+<hr>
+<br>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
+public interface <span class="typeNameLabel">CheckedSupplier&lt;T&gt;</span></pre>
+<div class="block">Function that supplies a result and may throw an Exception.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="type parameter in CheckedSupplier">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html#get--">get</a></span>()</code>
+<div class="block">Get a result.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="get--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>get</h4>
+<pre><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="type parameter in CheckedSupplier">T</a>&nbsp;get()
+throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Get a result.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the result</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if there are errors</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CheckedSupplier.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/CheckedSupplier.html" target="_top">Frames</a></li>
+<li><a href="CheckedSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/JdbcStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/JdbcStreams.html
new file mode 100644
index 0000000..31d0e86
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/JdbcStreams.html
@@ -0,0 +1,574 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JdbcStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JdbcStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JdbcStreams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/JdbcStreams.html" target="_top">Frames</a></li>
+<li><a href="JdbcStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.jdbc</div>
+<h2 title="Class JdbcStreams" class="title">Class JdbcStreams</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.jdbc.JdbcStreams</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">JdbcStreams</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block"><code>JdbcStreams</code> is a streams connector to a database via the
+ JDBC API <code>java.sql</code> package.
+ <p>
+ The connector provides general SQL access to a database, enabling
+ writing of a stream's tuples to a database, creating a stream from
+ database query results, and other operations.  
+ Knowledge of the JDBC API is required.
+ <p>
+ Use of the connector involves:
+ <ul>
+ <li>constructing a streams connector to a database by providing it with:
+     <ul>
+     <li>a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a></li>
+     <li>a function that creates a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql"><code>Connection</code></a> 
+         from the <code>DataSource</code></li>
+     </ul>
+     </li>
+ <li>defining SQL statement executions and results handling by calling one
+     of the <code>executeStatement()</code> methods:
+     <ul>
+     <li>specify an SQL statement String or define a <a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><code>StatementSupplier</code></a>.
+         A <code>StatementSupplier</code> 
+         creates a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a> for an SQL statement
+         (e.g., a query, insert, update, etc operation).</li>
+     <li>define a <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><code>ParameterSetter</code></a>.  A <code>ParameterSetter</code>
+         sets the parameter values in a generic <code>PreparedStatement</code>.</li>
+     <li>define a <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><code>ResultsHandler</code></a> as required.
+         A <code>ResultsHandler</code> processes a JDBC
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql"><code>ResultSet</code></a> created by executing a SQL statement,
+         optionally creating one or more tuples from the results
+         and adding them to a stream.</li>
+     </ul>
+     </li>
+ </ul>
+ <p>
+ Sample use:
+ <pre><code>
+  // construct a connector to the database
+  JdbcStreams mydb = new JdbcStreams(
+                // fn to create the javax.sql.DataSource to the db
+                () -&gt; {
+                       Context ctx = new javax.naming.InitialContext();
+                       return (DataSource) ctx.lookup("jdbc/myDb");
+                      },
+                // fn to connect to the db (via the DataSource)
+                (dataSource,cn) -&gt;  dataSource.getConnection(username,pw)
+              );
+
+  // ----------------------------------------------------
+  //
+  // Write a Person stream to a table
+  //                       
+  TStream&lt;Person&gt; persons = ...
+  TSink sink = mydb.executeStatement(persons,
+           () -&gt; "INSERT INTO persons VALUES(?,?,?)",
+           (person,stmt) -&gt; {
+               stmt.setInt(1, person.getId());
+               stmt.setString(2, person.getFirstName());
+               stmt.setString(3, person.getLastName());
+               }, 
+           );
+           
+  // ----------------------------------------------------
+  //
+  // Create a stream of Person from a PersonId tuple
+  //
+  TStream&lt;PersonId&gt; personIds = ...
+  TStream&lt;Person&gt; persons = mydb.executeStatement(personIds,
+            () -&gt; "SELECT id, firstname, lastname FROM persons WHERE id = ?",
+            (personId,stmt) -&gt; stmt.setInt(1,personId.getId()),
+            (personId,rs,exc,consumer) -&gt; {
+                    if (exc != null) {
+                        // statement failed, do something
+                        int ecode = exc.getErrorCode();
+                        String state = exc.getSQLState();
+                        ...  // consumer.accept(...) if desired.
+                    }
+                    else {
+                        rs.next();
+                        int id = resultSet.getInt("id");
+                        String firstName = resultSet.getString("firstname");
+                        String lastName = resultSet.getString("lastname");
+                        consumer.accept(new Person(id, firstName, lastName));
+                    }
+                }
+            ); 
+  persons.print();
+    
+  // ----------------------------------------------------
+  //
+  // Delete all the rows from a table
+  //
+  TStream&lt;String&gt; beacon = topology.strings("once");
+  mydb.executeStatement(beacon,
+               () -&gt; "DELETE FROM persons",
+               (tuple,stmt) -&gt; { }  // no params to set
+              ); 
+ </code></pre></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#JdbcStreams-org.apache.edgent.topology.Topology-org.apache.edgent.connectors.jdbc.CheckedSupplier-org.apache.edgent.connectors.jdbc.CheckedFunction-">JdbcStreams</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>&gt;&nbsp;dataSourceFn,
+           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&gt;&nbsp;connFn)</code>
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
+ a database connection.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="JdbcStreams-org.apache.edgent.topology.Topology-org.apache.edgent.connectors.jdbc.CheckedSupplier-org.apache.edgent.connectors.jdbc.CheckedFunction-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JdbcStreams</h4>
+<pre>public&nbsp;JdbcStreams(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                   <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>&gt;&nbsp;dataSourceFn,
+                   <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&gt;&nbsp;connFn)</pre>
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
+ a database connection.
+ <p>
+ In some environments it's common for JDBC DataSource objects to
+ have been registered in JNDI. In such cases the dataSourceFn can be:
+ <pre><code>
+ () -&gt; {  Context ctx = new javax.naming.InitialContext();
+          return (DataSource) ctx.lookup("jdbc/" + logicalDbName);
+       }
+ </code></pre>
+ <p>
+ Alternatively, a DataSource can be created using a dbms implementation's
+ DataSource class.
+ For example:
+ <pre><code>
+ () -&gt; { EmbeddedDataSource ds = new org.apache.derby.jdbc.EmbeddedDataSource();
+         ds.setDatabaseName(dbName);
+         ds.setCreateDatabase("create");
+         return ds;
+       }
+ </code></pre>
+ <p>
+ Once <code>dataSourceFn</code> returns a DataSource it will not be called again. 
+ <p>
+ <code>connFn</code> is called only if a new JDBC connection is needed.
+ It is not called per-processed-tuple.  JDBC failures in
+ <code>executeStatement()</code> can result in a JDBC connection getting
+ closed and <code>connFn</code> is subsequently called to reconnect.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - topology that this connector is for</dd>
+<dd><code>dataSourceFn</code> - function that yields the <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a>
+              for the database.</dd>
+<dd><code>connFn</code> - function that yields a <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql"><code>Connection</code></a> from a <code>DataSource</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>executeStatement</h4>
+<pre>public&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;executeStatement(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                         <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                                         <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                                         <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</pre>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.
+ <p>
+ Same as using <a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-"><code>executeStatement(TStream, StatementSupplier, ParameterSetter, ResultsHandler)</code></a>
+ specifying <code>dataSource -&gt; dataSource.prepareStatement(stmtSupplier.get()</code>}
+ for the <code>StatementSupplier</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type for input stream</dd>
+<dd><code>R</code> - Tuple type of result stream</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - tuples to execute a SQL statement on behalf of</dd>
+<dd><code>stmtSupplier</code> - an SQL statement</dd>
+<dd><code>paramSetter</code> - function to set SQL statement parameters</dd>
+<dd><code>resultsHandler</code> - SQL ResultSet handler</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>result Stream</dd>
+</dl>
+</li>
+</ul>
+<a name="executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>executeStatement</h4>
+<pre>public&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;executeStatement(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                         <a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                                         <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                                         <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</pre>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.
+ <p>
+ Use to transform T tuples to R tuples, or
+ enrich/update T tuples with additional information from a database.
+ It can also be used to load a table into stream, 
+ using a T to trigger that.
+ Or to execute non-ResultSet generating
+ SQL statements and receive failure info and/or generate tuple(s)
+ upon completion.
+ <p>
+ <code>stmtSupplier</code> is called only once per new JDBC connection/reconnect.
+ It is not called per-tuple.  Hence, with the exception of statement
+ parameters, the returned statement is expected to be unchanging.
+ Failures executing a statement can result in the connection getting
+ closed and subsequently reconnected, resulting in another
+ <code>stmtSupplier</code> call.
+ <p>
+ <code>resultsHandler</code> is called for every tuple.
+ If <code>resultsHandler</code> throws an Exception, it is called a
+ second time for the tuple with a non-null exception argument.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type for input stream</dd>
+<dd><code>R</code> - Tuple type of result stream</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - tuples to execute a SQL statement on behalf of</dd>
+<dd><code>stmtSupplier</code> - an SQL statement</dd>
+<dd><code>paramSetter</code> - function to set SQL statement parameters</dd>
+<dd><code>resultsHandler</code> - SQL ResultSet handler</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>result Stream</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-"><code>executeStatement(TStream, Supplier, ParameterSetter, ResultsHandler)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>executeStatement</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;&nbsp;executeStatement(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                                     <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</pre>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.
+ <p>
+ Same as using <a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-"><code>executeStatement(TStream, StatementSupplier, ParameterSetter)</code></a>
+ specifying <code>dataSource -&gt; dataSource.prepareStatement(stmtSupplier.get()</code>}
+ for the <code>StatementSupplier</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - tuples to execute a SQL statement on behalf of</dd>
+<dd><code>stmtSupplier</code> - an SQL statement</dd>
+<dd><code>paramSetter</code> - function to set SQL statement parameters</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>executeStatement</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;&nbsp;executeStatement(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                     <a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                                     <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</pre>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.
+ <p>
+ Use to write a stream of T to a table.
+ More generally, use a T as a trigger to execute some SQL statement
+ that doesn't yield a ResultSet.
+ <p>
+ Use a non-sink form of <code>executeStatement()</code> (forms
+ that take a <code>ResultsHandler</code>), if you want to:
+ <ul>
+ <li>be notified of statement execution failures</li>
+ <li>generate tuple(s) after the statement has run.</li>
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - tuples to execute a SQL statement on behalf of</dd>
+<dd><code>stmtSupplier</code> - an SQL statement</dd>
+<dd><code>paramSetter</code> - function to set SQL statement parameters</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-"><code>executeStatement(TStream, Supplier, ParameterSetter)</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JdbcStreams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/JdbcStreams.html" target="_top">Frames</a></li>
+<li><a href="JdbcStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/ParameterSetter.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/ParameterSetter.html
new file mode 100644
index 0000000..07d3512
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/ParameterSetter.html
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ParameterSetter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ParameterSetter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ParameterSetter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/ParameterSetter.html" target="_top">Frames</a></li>
+<li><a href="ParameterSetter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.jdbc</div>
+<h2 title="Interface ParameterSetter" class="title">Interface ParameterSetter&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - stream tuple type</dd>
+</dl>
+<dl>
+<dt>Functional Interface:</dt>
+<dd>This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.</dd>
+</dl>
+<hr>
+<br>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
+public interface <span class="typeNameLabel">ParameterSetter&lt;T&gt;</span></pre>
+<div class="block">Function that sets parameters in a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html#setParameters-T-java.sql.PreparedStatement-">setParameters</a></span>(<a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="type parameter in ParameterSetter">T</a>&nbsp;t,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</a>&nbsp;stmt)</code>
+<div class="block">Set 0 or more parameters in a JDBC PreparedStatement.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setParameters-java.lang.Object-java.sql.PreparedStatement-">
+<!--   -->
+</a><a name="setParameters-T-java.sql.PreparedStatement-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setParameters</h4>
+<pre>void&nbsp;setParameters(<a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="type parameter in ParameterSetter">T</a>&nbsp;t,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</a>&nbsp;stmt)
+            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></pre>
+<div class="block">Set 0 or more parameters in a JDBC PreparedStatement. 
+ <p>
+ Sample use for a PreparedStatement of:
+ <br>
+ <code>"SELECT id, firstname, lastname FROM persons WHERE id = ?"</code>
+ <pre><code>
+ ParameterSetter&lt;PersonId&gt; ps = (personId,stmt) -&gt; stmt.setInt(1, personId.getId());
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>t</code> - stream tuple of type T</dd>
+<dd><code>stmt</code> - PreparedStatement</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></code> - on failure</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ParameterSetter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/ParameterSetter.html" target="_top">Frames</a></li>
+<li><a href="ParameterSetter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/ResultsHandler.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/ResultsHandler.html
new file mode 100644
index 0000000..b890a8e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/ResultsHandler.html
@@ -0,0 +1,278 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ResultsHandler (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ResultsHandler (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ResultsHandler.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/ResultsHandler.html" target="_top">Frames</a></li>
+<li><a href="ResultsHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.jdbc</div>
+<h2 title="Interface ResultsHandler" class="title">Interface ResultsHandler&lt;T,R&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - type of the tuple inducing the SQL statement execution / results</dd>
+<dd><code>R</code> - type of tuple of a result stream consumer</dd>
+</dl>
+<dl>
+<dt>Functional Interface:</dt>
+<dd>This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.</dd>
+</dl>
+<hr>
+<br>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
+public interface <span class="typeNameLabel">ResultsHandler&lt;T,R&gt;</span></pre>
+<div class="block">Handle the results of executing an SQL statement.
+ <p>
+ Sample use:
+ <br>
+ For a ResultSet created by executing the SQL statement:
+ <br>
+ <code>"SELECT id, firstname, lastname FROM persons WHERE id = ?"</code>
+ <pre><code> 
+ // create a Person tuple from db person info and add it to a stream
+ ResultsHandler&lt;PersonId,Person&gt; rh = 
+     (tuple,rs,exc,consumer) -&gt; {
+         if (exc != null)
+             return;
+         rs.next();
+         int id = rs.getInt("id");
+         String firstName = rs.getString("firstname");
+         String lastName = rs.getString("lastname");
+         consumer.accept(new Person(id, firstName, lastName));
+         }
+      </code>
+    };
+ }</pre></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html#handleResults-T-java.sql.ResultSet-java.lang.Exception-org.apache.edgent.function.Consumer-">handleResults</a></span>(<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">T</a>&nbsp;tuple,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql">ResultSet</a>&nbsp;resultSet,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;exc,
+             <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">R</a>&gt;&nbsp;consumer)</code>
+<div class="block">Process the <code>ResultSet</code> and add 0 or more tuples to <code>consumer</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="handleResults-java.lang.Object-java.sql.ResultSet-java.lang.Exception-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a><a name="handleResults-T-java.sql.ResultSet-java.lang.Exception-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>handleResults</h4>
+<pre>void&nbsp;handleResults(<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">T</a>&nbsp;tuple,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql">ResultSet</a>&nbsp;resultSet,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;exc,
+                   <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">R</a>&gt;&nbsp;consumer)
+            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></pre>
+<div class="block">Process the <code>ResultSet</code> and add 0 or more tuples to <code>consumer</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - the tuple that induced the resultSet</dd>
+<dd><code>resultSet</code> - the SQL statement's result set. null if <code>exc</code>
+        is non-null or if the statement doesn't generate a <code>ResultSet</code>.</dd>
+<dd><code>exc</code> - non-null if there was an exception executing the statement.
+        Typically a SQLException.</dd>
+<dd><code>consumer</code> - a Consumer to a result stream.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></code> - if there are problems handling the result</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ResultsHandler.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/ResultsHandler.html" target="_top">Frames</a></li>
+<li><a href="ResultsHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/StatementSupplier.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/StatementSupplier.html
new file mode 100644
index 0000000..cfd607c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/StatementSupplier.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StatementSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StatementSupplier (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StatementSupplier.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/StatementSupplier.html" target="_top">Frames</a></li>
+<li><a href="StatementSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.jdbc</div>
+<h2 title="Interface StatementSupplier" class="title">Interface StatementSupplier</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Functional Interface:</dt>
+<dd>This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.</dd>
+</dl>
+<hr>
+<br>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/FunctionalInterface.html?is-external=true" title="class or interface in java.lang">@FunctionalInterface</a>
+public interface <span class="typeNameLabel">StatementSupplier</span></pre>
+<div class="block">Function that supplies a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html#get-java.sql.Connection-">get</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&nbsp;cn)</code>
+<div class="block">Create a JDBC SQL PreparedStatement containing 0 or more parameters.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="get-java.sql.Connection-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>get</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</a>&nbsp;get(<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&nbsp;cn)
+               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></pre>
+<div class="block">Create a JDBC SQL PreparedStatement containing 0 or more parameters.
+ <p>
+ Sample use:
+ <pre><code>
+ StatementSupplier ss = 
+     (cn) -&gt; cn.prepareStatement("SELECT id, firstname, lastname"
+                                  + " FROM persons WHERE id = ?");
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cn</code> - JDBC connection</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the PreparedStatement</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</a></code> - on failure</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StatementSupplier.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/StatementSupplier.html" target="_top">Frames</a></li>
+<li><a href="StatementSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/CheckedFunction.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/CheckedFunction.html
new file mode 100644
index 0000000..ce70379
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/CheckedFunction.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.jdbc.CheckedFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.CheckedFunction (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/CheckedFunction.html" target="_top">Frames</a></li>
+<li><a href="CheckedFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.jdbc.CheckedFunction" class="title">Uses of Interface<br>org.apache.edgent.connectors.jdbc.CheckedFunction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a> in <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#JdbcStreams-org.apache.edgent.topology.Topology-org.apache.edgent.connectors.jdbc.CheckedSupplier-org.apache.edgent.connectors.jdbc.CheckedFunction-">JdbcStreams</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>&gt;&nbsp;dataSourceFn,
+           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&gt;&nbsp;connFn)</code>
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
+ a database connection.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/CheckedFunction.html" target="_top">Frames</a></li>
+<li><a href="CheckedFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/CheckedSupplier.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/CheckedSupplier.html
new file mode 100644
index 0000000..e26b9da
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/CheckedSupplier.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.jdbc.CheckedSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.CheckedSupplier (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/CheckedSupplier.html" target="_top">Frames</a></li>
+<li><a href="CheckedSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.jdbc.CheckedSupplier" class="title">Uses of Interface<br>org.apache.edgent.connectors.jdbc.CheckedSupplier</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a> in <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#JdbcStreams-org.apache.edgent.topology.Topology-org.apache.edgent.connectors.jdbc.CheckedSupplier-org.apache.edgent.connectors.jdbc.CheckedFunction-">JdbcStreams</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>&gt;&nbsp;dataSourceFn,
+           <a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&gt;&nbsp;connFn)</code>
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
+ a database connection.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/CheckedSupplier.html" target="_top">Frames</a></li>
+<li><a href="CheckedSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/JdbcStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/JdbcStreams.html
new file mode 100644
index 0000000..9b5f10a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/JdbcStreams.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.jdbc.JdbcStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.jdbc.JdbcStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/JdbcStreams.html" target="_top">Frames</a></li>
+<li><a href="JdbcStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.jdbc.JdbcStreams" class="title">Uses of Class<br>org.apache.edgent.connectors.jdbc.JdbcStreams</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.jdbc.JdbcStreams</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/JdbcStreams.html" target="_top">Frames</a></li>
+<li><a href="JdbcStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/ParameterSetter.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/ParameterSetter.html
new file mode 100644
index 0000000..2860810
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/ParameterSetter.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.jdbc.ParameterSetter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.ParameterSetter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/ParameterSetter.html" target="_top">Frames</a></li>
+<li><a href="ParameterSetter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.jdbc.ParameterSetter" class="title">Uses of Interface<br>org.apache.edgent.connectors.jdbc.ParameterSetter</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a> in <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</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>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/ParameterSetter.html" target="_top">Frames</a></li>
+<li><a href="ParameterSetter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/ResultsHandler.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/ResultsHandler.html
new file mode 100644
index 0000000..3e2aee8
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/ResultsHandler.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.jdbc.ResultsHandler (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.ResultsHandler (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/ResultsHandler.html" target="_top">Frames</a></li>
+<li><a href="ResultsHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.jdbc.ResultsHandler" class="title">Uses of Interface<br>org.apache.edgent.connectors.jdbc.ResultsHandler</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a> in <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</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>&lt;T,R&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/ResultsHandler.html" target="_top">Frames</a></li>
+<li><a href="ResultsHandler.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/StatementSupplier.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/StatementSupplier.html
new file mode 100644
index 0000000..c5e1c16
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/class-use/StatementSupplier.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.jdbc.StatementSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.jdbc.StatementSupplier (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/StatementSupplier.html" target="_top">Frames</a></li>
+<li><a href="StatementSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.jdbc.StatementSupplier" class="title">Uses of Interface<br>org.apache.edgent.connectors.jdbc.StatementSupplier</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a> in <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</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>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/jdbc/class-use/StatementSupplier.html" target="_top">Frames</a></li>
+<li><a href="StatementSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-frame.html
new file mode 100644
index 0000000..5f1ef8f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-frame.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.jdbc (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html" target="classFrame">org.apache.edgent.connectors.jdbc</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">CheckedFunction</span></a></li>
+<li><a href="CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">CheckedSupplier</span></a></li>
+<li><a href="ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">ParameterSetter</span></a></li>
+<li><a href="ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">ResultsHandler</span></a></li>
+<li><a href="StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc" target="classFrame"><span class="interfaceName">StatementSupplier</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc" target="classFrame">JdbcStreams</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-summary.html
new file mode 100644
index 0000000..6627534
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-summary.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.jdbc (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.jdbc (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.jdbc</h1>
+<div class="docSummary">
+<div class="block">JDBC based database stream connector.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;T,R&gt;</td>
+<td class="colLast">
+<div class="block">Function to apply a funtion to an input value and return a result.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Function that supplies a result and may throw an Exception.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Function that sets parameters in a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;</td>
+<td class="colLast">
+<div class="block">Handle the results of executing an SQL statement.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a></td>
+<td class="colLast">
+<div class="block">Function that supplies a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc">JdbcStreams</a></td>
+<td class="colLast">
+<div class="block"><code>JdbcStreams</code> is a streams connector to a database via the
+ JDBC API <code>java.sql</code> package.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.jdbc Description">Package org.apache.edgent.connectors.jdbc Description</h2>
+<div class="block">JDBC based database stream connector.
+ <p>
+ Stream tuples may be written to databases
+ and created or enriched by reading from databases.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-tree.html
new file mode 100644
index 0000000..f110443
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-tree.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.jdbc Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.jdbc Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.jdbc</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">JdbcStreams</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">CheckedFunction</span></a>&lt;T,R&gt;</li>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">CheckedSupplier</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">ParameterSetter</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">ResultsHandler</span></a>&lt;T,R&gt;</li>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">StatementSupplier</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/iotp/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-use.html
new file mode 100644
index 0000000..ba420ef
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/jdbc/package-use.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.jdbc (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.jdbc (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.jdbc" class="title">Uses of Package<br>org.apache.edgent.connectors.jdbc</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> used by <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/jdbc/class-use/CheckedFunction.html#org.apache.edgent.connectors.jdbc">CheckedFunction</a>
+<div class="block">Function to apply a funtion to an input value and return a result.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/jdbc/class-use/CheckedSupplier.html#org.apache.edgent.connectors.jdbc">CheckedSupplier</a>
+<div class="block">Function that supplies a result and may throw an Exception.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/jdbc/class-use/ParameterSetter.html#org.apache.edgent.connectors.jdbc">ParameterSetter</a>
+<div class="block">Function that sets parameters in a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/jdbc/class-use/ResultsHandler.html#org.apache.edgent.connectors.jdbc">ResultsHandler</a>
+<div class="block">Handle the results of executing an SQL statement.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/jdbc/class-use/StatementSupplier.html#org.apache.edgent.connectors.jdbc">StatementSupplier</a>
+<div class="block">Function that supplies a JDBC SQL <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><code>PreparedStatement</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/jdbc/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html
new file mode 100644
index 0000000..47c4750
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>KafkaConsumer.ByteConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KafkaConsumer.ByteConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KafkaConsumer.ByteConsumerRecord.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.ByteConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&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">org.apache.edgent.connectors.kafka</div>
+<h2 title="Interface KafkaConsumer.ByteConsumerRecord" class="title">Interface KafkaConsumer.ByteConsumerRecord</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a>&lt;byte[],byte[]&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">KafkaConsumer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static interface <span class="typeNameLabel">KafkaConsumer.ByteConsumerRecord</span>
+extends <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a>&lt;byte[],byte[]&gt;</pre>
+<div class="block">A Kafka record with byte[] typed key and value members</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== 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.org.apache.edgent.connectors.kafka.KafkaConsumer.ConsumerRecord">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.connectors.kafka.<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></h3>
+<code><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#key--">key</a>, <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#offset--">offset</a>, <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#partition--">partition</a>, <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#topic--">topic</a>, <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#value--">value</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KafkaConsumer.ByteConsumerRecord.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.ByteConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html
new file mode 100644
index 0000000..17bddaa
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>KafkaConsumer.ConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KafkaConsumer.ConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KafkaConsumer.ConsumerRecord.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.ConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.kafka</div>
+<h2 title="Interface KafkaConsumer.ConsumerRecord" class="title">Interface KafkaConsumer.ConsumerRecord&lt;K,V&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - key's type</dd>
+<dd><code>V</code> - the value's type</dd>
+</dl>
+<dl>
+<dt>All Known Subinterfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>, <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">KafkaConsumer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static interface <span class="typeNameLabel">KafkaConsumer.ConsumerRecord&lt;K,V&gt;</span></pre>
+<div class="block">A received Kafka record</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="type parameter in KafkaConsumer.ConsumerRecord">K</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#key--">key</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#offset--">offset</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#partition--">partition</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#topic--">topic</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="type parameter in KafkaConsumer.ConsumerRecord">V</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#value--">value</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="topic--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topic</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic()</pre>
+</li>
+</ul>
+<a name="partition--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>partition</h4>
+<pre>int&nbsp;partition()</pre>
+</li>
+</ul>
+<a name="offset--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>offset</h4>
+<pre>long&nbsp;offset()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>message id in the partition.</dd>
+</dl>
+</li>
+</ul>
+<a name="key--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>key</h4>
+<pre><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="type parameter in KafkaConsumer.ConsumerRecord">K</a>&nbsp;key()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>null if no key was published.</dd>
+</dl>
+</li>
+</ul>
+<a name="value--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>value</h4>
+<pre><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="type parameter in KafkaConsumer.ConsumerRecord">V</a>&nbsp;value()</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KafkaConsumer.ConsumerRecord.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.ConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html
new file mode 100644
index 0000000..096254b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>KafkaConsumer.StringConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KafkaConsumer.StringConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KafkaConsumer.StringConsumerRecord.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.StringConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&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">org.apache.edgent.connectors.kafka</div>
+<h2 title="Interface KafkaConsumer.StringConsumerRecord" class="title">Interface KafkaConsumer.StringConsumerRecord</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">KafkaConsumer</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static interface <span class="typeNameLabel">KafkaConsumer.StringConsumerRecord</span>
+extends <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</pre>
+<div class="block">A Kafka record with String typed key and value members</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== 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.org.apache.edgent.connectors.kafka.KafkaConsumer.ConsumerRecord">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.connectors.kafka.<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></h3>
+<code><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#key--">key</a>, <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#offset--">offset</a>, <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#partition--">partition</a>, <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#topic--">topic</a>, <a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html#value--">value</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KafkaConsumer.StringConsumerRecord.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.StringConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.html
new file mode 100644
index 0000000..7efae55
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaConsumer.html
@@ -0,0 +1,425 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>KafkaConsumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KafkaConsumer (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KafkaConsumer.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/KafkaConsumer.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.kafka</div>
+<h2 title="Class KafkaConsumer" class="title">Class KafkaConsumer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.kafka.KafkaConsumer</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">KafkaConsumer</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block"><code>KafkaConsumer</code> is a connector for creating a stream of tuples
+ by subscribing to Apache Kafka messaging system topics.
+ <p>
+ The connector uses and includes components from the Kafka 0.8.2.2 release.
+ It has been successfully tested against kafka_2.11-0.10.1.0 and kafka_2.11-0.9.0.0 server as well.
+ For more information about Kafka see
+ <a href="http://kafka.apache.org">http://kafka.apache.org</a>
+ <p>
+ Sample use:
+ <pre><code>
+ String zookeeperConnect = "localhost:2181";
+ String groupId = "myGroupId";
+ String topic = "mySensorReadingsTopic";
+ 
+ Map&lt;String,Object&gt; config = new HashMap&lt;&gt;();
+ config.put("zookeeper.connect", zookeeperConnect);
+ config.put("groupId", groupId);
+ 
+ Topology t = ...
+ KafkaConsumer kafka = new KafkaConsumer(t, () -&gt; config);
+              
+ // subscribe to a topic where sensor readings are published as JSON,
+ // creating a stream of JSON tuples  
+ TStream&lt;String&gt; sensorReadingsJson =
+              kafka.subscribe(rec -&gt; rec.value(), topic);
+ 
+ // print the received messages
+ sensorReadingsJson.print();
+ </code></pre></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a></span></code>
+<div class="block">A Kafka record with byte[] typed key and value members</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="type parameter in KafkaConsumer.ConsumerRecord">K</a>,<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="type parameter in KafkaConsumer.ConsumerRecord">V</a>&gt;</span></code>
+<div class="block">A received Kafka record</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a></span></code>
+<div class="block">A Kafka record with String typed key and value members</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#KafkaConsumer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaConsumer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
+<div class="block">Create a consumer connector for subscribing to Kafka topics
+ and creating tuples from the received messages.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribe-org.apache.edgent.function.Function-java.lang.String...-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribeBytes-org.apache.edgent.function.Function-java.lang.String...-">subscribeBytes</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="KafkaConsumer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>KafkaConsumer</h4>
+<pre>public&nbsp;KafkaConsumer(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</pre>
+<div class="block">Create a consumer connector for subscribing to Kafka topics
+ and creating tuples from the received messages.
+ <p>
+ See the Apache Kafka documentation for "Old Consumer Configs"
+ configuration properties at <a href="http://kafka.apache.org">http://kafka.apache.org</a>.
+ Configuration property values are strings.
+ <p>
+ The Kafka "Old Consumer" configs are used.  Minimal configuration
+ typically includes:
+ <ul>
+ <li><code>zookeeper.connect</code></li>
+ <li><code>group.id</code></li>
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>t</code> - Topology to add to</dd>
+<dd><code>config</code> - KafkaConsumer configuration information.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="subscribeBytes-org.apache.edgent.function.Function-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subscribeBytes</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;subscribeBytes(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
+                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</pre>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.
+ <p>
+ Kafka's consumer group management functionality is used to automatically
+ allocate, and dynamically reallocate, the topic's partitions to this connector. 
+ <p>
+ In line with Kafka's evolving new KafkaConsumer interface, subscribing
+ to a topic advertises a single thread to the server for partition allocation.
+ <p>
+ Currently, subscribe*() can only be called once for a KafkaConsumer
+ instance.  This restriction will be removed once we migrate to Kafka 0.9.0.0.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>toTupleFn</code> - A function that yields a tuple from a <code>ByteConsumerRecord</code></dd>
+<dd><code>topics</code> - the topics to subscribe to.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>stream of tuples</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - for a duplicate or conflicting subscription</dd>
+</dl>
+</li>
+</ul>
+<a name="subscribe-org.apache.edgent.function.Function-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>subscribe</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;subscribe(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</pre>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.
+ <p>
+ Kafka's consumer group management functionality is used to automatically
+ allocate, and dynamically reallocate, the topic's partitions to this connector. 
+ <p>
+ In line with Kafka's evolving new KafkaConsumer interface, subscribing
+ to a topic advertises a single thread to the server for partition allocation.
+ <p>
+ Currently, subscribe*() can only be called once for a KafkaConsumer
+ instance.  This restriction will be removed once we migrate to Kafka 0.9.0.0.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>toTupleFn</code> - A function that yields a tuple from a <code>StringConsumerRecord</code></dd>
+<dd><code>topics</code> - the topics to subscribe to.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>stream of tuples</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - for a duplicate or conflicting subscription</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KafkaConsumer.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/KafkaConsumer.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaProducer.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaProducer.html
new file mode 100644
index 0000000..b772022
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/KafkaProducer.html
@@ -0,0 +1,440 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>KafkaProducer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="KafkaProducer (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KafkaProducer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/KafkaProducer.html" target="_top">Frames</a></li>
+<li><a href="KafkaProducer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.kafka</div>
+<h2 title="Class KafkaProducer" class="title">Class KafkaProducer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.kafka.KafkaProducer</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">KafkaProducer</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block"><code>KafkaProducer</code> is a connector for publishing a stream of tuples
+ to Apache Kafka messaging system topics.
+ <p>
+ The connector uses and includes components from the Kafka 0.8.2.2 release.
+ It has been successfully tested against kafka_2.11-0.10.1.0 and kafka_2.11-0.9.0.0 server as well.
+ For more information about Kafka see
+ <a href="http://kafka.apache.org">http://kafka.apache.org</a>
+ <p>
+ Sample use:
+ <pre><code>
+ String bootstrapServers = "localhost:9092";
+ String topic = "mySensorReadingsTopic";
+ 
+ Map&lt;String,Object&gt; config = new HashMap&lt;&gt;();
+ config.put("bootstrap.servers", bootstrapServers);
+ 
+ Topology t = ...
+ KafkaProducer kafka = new KafkaProducer(t, () -&gt; config);
+ 
+ TStream&lt;JsonObject&gt; sensorReadings = t.poll(
+              () -&gt; getSensorReading(), 5, TimeUnit.SECONDS);
+              
+ // publish as sensor readings as JSON
+ kafka.publish(sensonReadings, tuple -&gt; tuple.toString(), topic);
+ </code></pre></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#KafkaProducer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaProducer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
+<div class="block">Create a producer connector for publishing tuples to Kafka topics.s</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-java.lang.String-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified topic partitions.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="KafkaProducer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>KafkaProducer</h4>
+<pre>public&nbsp;KafkaProducer(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</pre>
+<div class="block">Create a producer connector for publishing tuples to Kafka topics.s
+ <p>
+ See the Apache Kafka documentation for <code>KafkaProducer</code>
+ configuration properties at <a href="http://kafka.apache.org">http://kafka.apache.org</a>.
+ Configuration property values are strings.
+ <p>
+ The Kafka "New Producer configs" are used.  Minimal configuration
+ typically includes:
+ <ul>
+ <li><code>bootstrap.servers</code></li>
+ </ul>
+ <p>
+ The full set of producer configuration items are specified in
+ <code>org.apache.kafka.clients.producer.ProducerConfig</code></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>t</code> - Topology to add to</dd>
+<dd><code>config</code> - KafkaProducer configuration information.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>publishBytes</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;&nbsp;publishBytes(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
+                                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
+                                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+                                 <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</pre>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified topic partitions.
+ <p>
+ If a valid partition number is specified that partition will be used
+ when sending the message.  If no partition is specified but a key is
+ present a partition will be chosen using a hash of the key.
+ If neither key nor partition is present a partition will be assigned
+ in a round-robin fashion.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the stream to publish</dd>
+<dd><code>keyFn</code> - A function that yields an optional byte[] 
+        Kafka record's key from the tuple.
+        Specify null or return a null value for no key.</dd>
+<dd><code>valueFn</code> - A function that yields the byte[]
+        Kafka record's value from the tuple.</dd>
+<dd><code>topicFn</code> - A function that yields the topic from the tuple.</dd>
+<dd><code>partitionFn</code> - A function that yields the optional topic
+        partition specification from the tuple.
+        Specify null or return a null value for no partition specification.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><code>TSink</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>publish</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</pre>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.
+ <p>
+ This is a convenience method for <code>String</code> typed key/value
+ conversion functions.
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the stream to publish</dd>
+<dd><code>keyFn</code> - A function that yields an optional String 
+        Kafka record's key from the tuple.
+        Specify null or return a null value for no key.</dd>
+<dd><code>valueFn</code> - A function that yields the String for the
+        Kafka record's value from the tuple.</dd>
+<dd><code>topicFn</code> - A function that yields the topic from the tuple.</dd>
+<dd><code>partitionFn</code> - A function that yields the optional topic
+        partition specification from the tuple.
+        Specify null or return a null value for no partition specification.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><code>TSink</code></a></dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-"><code>publishBytes(TStream, Function, Function, Function, Function)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="publish-org.apache.edgent.topology.TStream-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>publish</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic)</pre>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.
+ <p>
+ This is a convenience method for a String stream published
+ as a Kafka record with no key and
+ a value consisting of the String tuple serialized as UTF-8,
+ and publishing round-robin to a fixed topic's partitions.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the stream to publish</dd>
+<dd><code>topic</code> - The topic to publish to</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><code>TSink</code></a></dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-"><code>publish(TStream, Function, Function, Function, Function)</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/KafkaProducer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/KafkaProducer.html" target="_top">Frames</a></li>
+<li><a href="KafkaProducer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ByteConsumerRecord.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ByteConsumerRecord.html
new file mode 100644
index 0000000..ee457ca
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ByteConsumerRecord.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ByteConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ByteConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ByteConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.ByteConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ByteConsumerRecord" class="title">Uses of Interface<br>org.apache.edgent.connectors.kafka.KafkaConsumer.ByteConsumerRecord</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.kafka">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a> in <a href="../../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a> with type arguments of type <a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</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>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribeBytes-org.apache.edgent.function.Function-java.lang.String...-">subscribeBytes</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ByteConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.ByteConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ConsumerRecord.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ConsumerRecord.html
new file mode 100644
index 0000000..66282f3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ConsumerRecord.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.ConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.ConsumerRecord" class="title">Uses of Interface<br>org.apache.edgent.connectors.kafka.KafkaConsumer.ConsumerRecord</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.kafka">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a> in <a href="../../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a> in <a href="../../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a></span></code>
+<div class="block">A Kafka record with byte[] typed key and value members</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a></span></code>
+<div class="block">A Kafka record with String typed key and value members</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.ConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.StringConsumerRecord.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.StringConsumerRecord.html
new file mode 100644
index 0000000..e861cd7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.StringConsumerRecord.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.StringConsumerRecord (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.StringConsumerRecord (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.StringConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.StringConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.kafka.KafkaConsumer.StringConsumerRecord" class="title">Uses of Interface<br>org.apache.edgent.connectors.kafka.KafkaConsumer.StringConsumerRecord</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.kafka">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a> in <a href="../../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a> with type arguments of type <a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</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>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribe-org.apache.edgent.function.Function-java.lang.String...-">subscribe</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.StringConsumerRecord.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.StringConsumerRecord.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.html
new file mode 100644
index 0000000..c4ead3b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.kafka.KafkaConsumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.kafka.KafkaConsumer (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.kafka.KafkaConsumer" class="title">Uses of Class<br>org.apache.edgent.connectors.kafka.KafkaConsumer</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.kafka.KafkaConsumer</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.html" target="_top">Frames</a></li>
+<li><a href="KafkaConsumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaProducer.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaProducer.html
new file mode 100644
index 0000000..bf1509f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/class-use/KafkaProducer.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.kafka.KafkaProducer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.kafka.KafkaProducer (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/kafka/class-use/KafkaProducer.html" target="_top">Frames</a></li>
+<li><a href="KafkaProducer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.kafka.KafkaProducer" class="title">Uses of Class<br>org.apache.edgent.connectors.kafka.KafkaProducer</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.kafka.KafkaProducer</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/kafka/class-use/KafkaProducer.html" target="_top">Frames</a></li>
+<li><a href="KafkaProducer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-frame.html
new file mode 100644
index 0000000..036501d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-frame.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.kafka (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html" target="classFrame">org.apache.edgent.connectors.kafka</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka" target="classFrame"><span class="interfaceName">KafkaConsumer.ByteConsumerRecord</span></a></li>
+<li><a href="KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka" target="classFrame"><span class="interfaceName">KafkaConsumer.ConsumerRecord</span></a></li>
+<li><a href="KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka" target="classFrame"><span class="interfaceName">KafkaConsumer.StringConsumerRecord</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka" target="classFrame">KafkaConsumer</a></li>
+<li><a href="KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka" target="classFrame">KafkaProducer</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-summary.html
new file mode 100644
index 0000000..107a5bc
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-summary.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.kafka (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.kafka (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.kafka</h1>
+<div class="docSummary">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a></td>
+<td class="colLast">
+<div class="block">A Kafka record with byte[] typed key and value members</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a>&lt;K,V&gt;</td>
+<td class="colLast">
+<div class="block">A received Kafka record</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a></td>
+<td class="colLast">
+<div class="block">A Kafka record with String typed key and value members</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka">KafkaConsumer</a></td>
+<td class="colLast">
+<div class="block"><code>KafkaConsumer</code> is a connector for creating a stream of tuples
+ by subscribing to Apache Kafka messaging system topics.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka">KafkaProducer</a></td>
+<td class="colLast">
+<div class="block"><code>KafkaProducer</code> is a connector for publishing a stream of tuples
+ to Apache Kafka messaging system topics.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.kafka Description">Package org.apache.edgent.connectors.kafka Description</h2>
+<div class="block">Apache Kafka enterprise messaging hub stream connector.
+ <p>
+ The connector uses and includes components from the Kafka 0.8.2.2 release.
+ It has been successfully tested against kafka_2.11-0.10.1.0 and kafka_2.11-0.9.0.0 server as well.
+ <p>
+ Stream tuples may be published to Kafka broker topics
+ and created by subscribing to broker topics.
+ For more information about Kafka see
+ <a href="http://kafka.apache.org">http://kafka.apache.org</a></div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-tree.html
new file mode 100644
index 0000000..247ca9a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-tree.html
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.kafka Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.kafka Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.kafka</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.kafka.<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer</span></a></li>
+<li type="circle">org.apache.edgent.connectors.kafka.<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaProducer</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.connectors.kafka.<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer.ConsumerRecord</span></a>&lt;K,V&gt;
+<ul>
+<li type="circle">org.apache.edgent.connectors.kafka.<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer.ByteConsumerRecord</span></a></li>
+<li type="circle">org.apache.edgent.connectors.kafka.<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer.StringConsumerRecord</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/jdbc/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-use.html
new file mode 100644
index 0000000..058a38c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/kafka/package-use.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.kafka (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.kafka (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.kafka" class="title">Uses of Package<br>org.apache.edgent.connectors.kafka</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.kafka">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a> used by <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ByteConsumerRecord.html#org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>
+<div class="block">A Kafka record with byte[] typed key and value members</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.ConsumerRecord.html#org.apache.edgent.connectors.kafka">KafkaConsumer.ConsumerRecord</a>
+<div class="block">A received Kafka record</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/kafka/class-use/KafkaConsumer.StringConsumerRecord.html#org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a>
+<div class="block">A Kafka record with String typed key and value members</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/kafka/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/MqttConfig.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/MqttConfig.html
new file mode 100644
index 0000000..4830483
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/MqttConfig.html
@@ -0,0 +1,1134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MqttConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MqttConfig (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MqttConfig.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/MqttConfig.html" target="_top">Frames</a></li>
+<li><a href="MqttConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.mqtt</div>
+<h2 title="Class MqttConfig" class="title">Class MqttConfig</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.mqtt.MqttConfig</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MqttConfig</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">MQTT broker connector configuration.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#MqttConfig--">MqttConfig</a></span>()</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#MqttConfig-java.lang.String-java.lang.String-">MqttConfig</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverURL,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#fromProperties-java.util.Properties-">fromProperties</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</code>
+<div class="block">Create a new configuration from <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><code>Properties</code></a>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getActionTimeToWaitMillis--">getActionTimeToWaitMillis</a></span>()</code>
+<div class="block">Get the maximum time to wait for an action (e.g., publish message) to complete.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getClientId--">getClientId</a></span>()</code>
+<div class="block">Get the connection Client Id.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getConnectionTimeout--">getConnectionTimeout</a></span>()</code>
+<div class="block">Get the connection timeout.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getIdleTimeout--">getIdleTimeout</a></span>()</code>
+<div class="block">Get the idle connection timeout.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getKeepAliveInterval--">getKeepAliveInterval</a></span>()</code>
+<div class="block">Get the connection Keep alive interval.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getKeyStore--">getKeyStore</a></span>()</code>
+<div class="block">Get the SSL trust store path.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>char[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getKeyStorePassword--">getKeyStorePassword</a></span>()</code>
+<div class="block">Get the SSL key store path password.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>char[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getPassword--">getPassword</a></span>()</code>
+<div class="block">Get the the password to use for authentication with the server.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>org.eclipse.paho.client.mqttv3.MqttClientPersistence</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getPersistence--">getPersistence</a></span>()</code>
+<div class="block">Get the QoS 1 and 2 in-flight message persistence handler.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getServerURLs--">getServerURLs</a></span>()</code>
+<div class="block">Get the MQTT Server URLs</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getSubscriberIdleReconnectInterval--">getSubscriberIdleReconnectInterval</a></span>()</code>
+<div class="block">Get the subscriber idle reconnect interval.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getTrustStore--">getTrustStore</a></span>()</code>
+<div class="block">Get the SSL trust store path.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>char[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getTrustStorePassword--">getTrustStorePassword</a></span>()</code>
+<div class="block">Get the SSL trust store path password.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getUserName--">getUserName</a></span>()</code>
+<div class="block">Get the username to use for authentication with the server.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillDestination--">getWillDestination</a></span>()</code>
+<div class="block">Get a Last Will and Testament message's destination topic.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillPayload--">getWillPayload</a></span>()</code>
+<div class="block">Get a Last Will and Testament message's payload.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillQOS--">getWillQOS</a></span>()</code>
+<div class="block">Get a Last Will and Testament message's QOS.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#getWillRetained--">getWillRetained</a></span>()</code>
+<div class="block">Get a Last Will and Testament message's "retained" setting.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#isCleanSession--">isCleanSession</a></span>()</code>
+<div class="block">Get the clean session setting.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#options--">options</a></span>()</code>
+<div class="block">INTERNAL USE ONLY.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setActionTimeToWaitMillis-long-">setActionTimeToWaitMillis</a></span>(long&nbsp;actionTimeToWaitMillis)</code>
+<div class="block">Maximum time to wait for an action (e.g., publish message) to complete.</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setCleanSession-boolean-">setCleanSession</a></span>(boolean&nbsp;cleanSession)</code>
+<div class="block">Clean Session.</div>
+</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setClientId-java.lang.String-">setClientId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</code>
+<div class="block">Connection Client Id.</div>
+</td>
+</tr>
+<tr id="i24" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setConnectionTimeout-int-">setConnectionTimeout</a></span>(int&nbsp;connectionTimeoutSec)</code>
+<div class="block">Connection timeout.</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setIdleTimeout-int-">setIdleTimeout</a></span>(int&nbsp;idleTimeoutSec)</code>
+<div class="block">Idle connection timeout.</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setKeepAliveInterval-int-">setKeepAliveInterval</a></span>(int&nbsp;keepAliveSec)</code>
+<div class="block">Connection Keep alive.</div>
+</td>
+</tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setKeyStore-java.lang.String-">setKeyStore</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
+<div class="block">Set the SSL key store path.</div>
+</td>
+</tr>
+<tr id="i28" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setKeyStorePassword-char:A-">setKeyStorePassword</a></span>(char[]&nbsp;password)</code>
+<div class="block">Set the SSL key store password.</div>
+</td>
+</tr>
+<tr id="i29" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setPassword-char:A-">setPassword</a></span>(char[]&nbsp;password)</code>
+<div class="block">Set the password to use for authentication with the server.</div>
+</td>
+</tr>
+<tr id="i30" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setPersistence-org.eclipse.paho.client.mqttv3.MqttClientPersistence-">setPersistence</a></span>(org.eclipse.paho.client.mqttv3.MqttClientPersistence&nbsp;persistence)</code>
+<div class="block">QoS 1 and 2 in-flight message persistence.</div>
+</td>
+</tr>
+<tr id="i31" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setServerURLs-java.lang.String:A-">setServerURLs</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;serverUrls)</code>
+<div class="block">MQTT Server URLs</div>
+</td>
+</tr>
+<tr id="i32" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setSubscriberIdleReconnectInterval-int-">setSubscriberIdleReconnectInterval</a></span>(int&nbsp;seconds)</code>
+<div class="block">Subscriber idle reconnect interval.</div>
+</td>
+</tr>
+<tr id="i33" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setTrustStore-java.lang.String-">setTrustStore</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
+<div class="block">Set the SSL trust store path.</div>
+</td>
+</tr>
+<tr id="i34" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setTrustStorePassword-char:A-">setTrustStorePassword</a></span>(char[]&nbsp;password)</code>
+<div class="block">Set the SSL trust store password.</div>
+</td>
+</tr>
+<tr id="i35" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setUserName-java.lang.String-">setUserName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName)</code>
+<div class="block">Set the username to use for authentication with the server.</div>
+</td>
+</tr>
+<tr id="i36" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setWill-java.lang.String-byte:A-int-boolean-">setWill</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       byte[]&nbsp;payload,
+       int&nbsp;qos,
+       boolean&nbsp;retained)</code>
+<div class="block">Last Will and Testament.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MqttConfig--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MqttConfig</h4>
+<pre>public&nbsp;MqttConfig()</pre>
+<div class="block">Create a new configuration.</div>
+</li>
+</ul>
+<a name="MqttConfig-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MqttConfig</h4>
+<pre>public&nbsp;MqttConfig(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverURL,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</pre>
+<div class="block">Create a new configuration.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serverURL</code> - the MQTT broker's URL</dd>
+<dd><code>clientId</code> - the MQTT client's id.  Auto-generated if null.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="fromProperties-java.util.Properties-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fromProperties</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;fromProperties(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</pre>
+<div class="block">Create a new configuration from <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><code>Properties</code></a>.
+ <p>
+ There is a property corresponding to each <code>MqttConfig.set&lt;name&gt;()</code>
+ method.  Unless otherwise stated, the property's value is a string
+ of the corresponding method's argument type.
+ Properties not specified yield a configuration value as
+ described by and their corresponding <code>set&lt;name&gt;()</code>.
+ <p>
+ Properties other than those noted are ignored.
+ 
+ <h3>MQTT connector properties</h3>
+ <ul>
+ <li>mqtt.actionTimeToWaitMillis</li>
+ <li>mqtt.cleanSession</li>
+ <li>mqtt.clientId</li>
+ <li>mqtt.connectionTimeoutSec</li>
+ <li>mqtt.idleTimeoutSec</li>
+ <li>mqtt.keepAliveSec</li>
+ <li>mqtt.keyStore - optional. Only used with "ssl:" serverURL when the
+     server is configured for client auth.
+     Path to key store file in JKS format.
+     The first key in the store is used.  The key must have the same
+     password as the store if any.
+     If not set, the standard JRE and javax.net.ssl system properties
+     control the SSL behavior.</li>
+ <li>mqtt.keyStorePassword - required if mqtt.keyStore is set.</li>
+ <li>mqtt.password</li>
+ <li>mqtt.persistence</li>
+ <li>mqtt.serverURLs - csv list of MQTT URLs of the form: 
+                          <code>tcp://&lt;host&gt;:&lt;port&gt;</code> or
+                          <code>ssl://&lt;host&gt;:&lt;port&gt;</code>
+    </li>
+ <li>mqtt.subscriberIdleReconnectIntervalSec</li>
+ <li>mqtt.trustStore - optional. Only used with "ssl:" serverURL.
+     Path to trust store file in JKS format.
+     If not set, the standard JRE and javax.net.ssl system properties
+     control the SSL behavior.
+     Generally not required if server has a CA-signed certificate.</li>
+ <li>mqtt.trustStorePassword - required if mqtt.trustStore is set</li>
+ <li>mqtt.userName</li>
+ <li>mqtt.will - JSON for with the following properties:
+     <ul>
+     <li>topic - string</li>
+     <li>payload - string for byte[] in UTF8</li>
+     <li>qos - integer</li>
+     <li>retained - boolean</li>
+     </ul>
+     </li>
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>properties</code> - properties specifying the configuration.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the configuration</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - for illegal values</dd>
+</dl>
+</li>
+</ul>
+<a name="getClientId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getClientId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClientId()</pre>
+<div class="block">Get the connection Client Id.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getActionTimeToWaitMillis--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getActionTimeToWaitMillis</h4>
+<pre>public&nbsp;long&nbsp;getActionTimeToWaitMillis()</pre>
+<div class="block">Get the maximum time to wait for an action (e.g., publish message) to complete.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getPersistence--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPersistence</h4>
+<pre>public&nbsp;org.eclipse.paho.client.mqttv3.MqttClientPersistence&nbsp;getPersistence()</pre>
+<div class="block">Get the QoS 1 and 2 in-flight message persistence handler.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getConnectionTimeout--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConnectionTimeout</h4>
+<pre>public&nbsp;int&nbsp;getConnectionTimeout()</pre>
+<div class="block">Get the connection timeout.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getIdleTimeout--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIdleTimeout</h4>
+<pre>public&nbsp;int&nbsp;getIdleTimeout()</pre>
+<div class="block">Get the idle connection timeout.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getSubscriberIdleReconnectInterval--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSubscriberIdleReconnectInterval</h4>
+<pre>public&nbsp;int&nbsp;getSubscriberIdleReconnectInterval()</pre>
+<div class="block">Get the subscriber idle reconnect interval.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getKeepAliveInterval--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getKeepAliveInterval</h4>
+<pre>public&nbsp;int&nbsp;getKeepAliveInterval()</pre>
+<div class="block">Get the connection Keep alive interval.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getServerURLs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServerURLs</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;getServerURLs()</pre>
+<div class="block">Get the MQTT Server URLs</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getWillDestination--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getWillDestination</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getWillDestination()</pre>
+<div class="block">Get a Last Will and Testament message's destination topic.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value.  may be null.</dd>
+</dl>
+</li>
+</ul>
+<a name="getWillPayload--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getWillPayload</h4>
+<pre>public&nbsp;byte[]&nbsp;getWillPayload()</pre>
+<div class="block">Get a Last Will and Testament message's payload.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value. may be null.</dd>
+</dl>
+</li>
+</ul>
+<a name="getWillQOS--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getWillQOS</h4>
+<pre>public&nbsp;int&nbsp;getWillQOS()</pre>
+<div class="block">Get a Last Will and Testament message's QOS.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value.</dd>
+</dl>
+</li>
+</ul>
+<a name="getWillRetained--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getWillRetained</h4>
+<pre>public&nbsp;boolean&nbsp;getWillRetained()</pre>
+<div class="block">Get a Last Will and Testament message's "retained" setting.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value.</dd>
+</dl>
+</li>
+</ul>
+<a name="isCleanSession--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isCleanSession</h4>
+<pre>public&nbsp;boolean&nbsp;isCleanSession()</pre>
+<div class="block">Get the clean session setting.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getPassword--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPassword</h4>
+<pre>public&nbsp;char[]&nbsp;getPassword()</pre>
+<div class="block">Get the the password to use for authentication with the server.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="getUserName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getUserName</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getUserName()</pre>
+<div class="block">Get the username to use for authentication with the server.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="setClientId-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setClientId</h4>
+<pre>public&nbsp;void&nbsp;setClientId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</pre>
+<div class="block">Connection Client Id.
+ <p>
+ Optional. default null: a clientId is auto-generated.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>clientId</code> - the client id</dd>
+</dl>
+</li>
+</ul>
+<a name="setActionTimeToWaitMillis-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setActionTimeToWaitMillis</h4>
+<pre>public&nbsp;void&nbsp;setActionTimeToWaitMillis(long&nbsp;actionTimeToWaitMillis)</pre>
+<div class="block">Maximum time to wait for an action (e.g., publish message) to complete.
+ <p>
+ Optional. default: -1 no timeout. 0 also means no timeout.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>actionTimeToWaitMillis</code> - the time to wait in milliseconds</dd>
+</dl>
+</li>
+</ul>
+<a name="setPersistence-org.eclipse.paho.client.mqttv3.MqttClientPersistence-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPersistence</h4>
+<pre>public&nbsp;void&nbsp;setPersistence(org.eclipse.paho.client.mqttv3.MqttClientPersistence&nbsp;persistence)</pre>
+<div class="block">QoS 1 and 2 in-flight message persistence.
+ <p>
+ optional. default: use memory persistence.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>persistence</code> - the persistence implementation</dd>
+</dl>
+</li>
+</ul>
+<a name="setCleanSession-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCleanSession</h4>
+<pre>public&nbsp;void&nbsp;setCleanSession(boolean&nbsp;cleanSession)</pre>
+<div class="block">Clean Session.
+ <p>
+ Qptional. default: true.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cleanSession</code> - the clean session value</dd>
+</dl>
+</li>
+</ul>
+<a name="setConnectionTimeout-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setConnectionTimeout</h4>
+<pre>public&nbsp;void&nbsp;setConnectionTimeout(int&nbsp;connectionTimeoutSec)</pre>
+<div class="block">Connection timeout.
+ Optional. 0 disables the timeout / blocks until connected. default: 30 seconds.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>connectionTimeoutSec</code> - the timeout in seconds</dd>
+</dl>
+</li>
+</ul>
+<a name="setIdleTimeout-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setIdleTimeout</h4>
+<pre>public&nbsp;void&nbsp;setIdleTimeout(int&nbsp;idleTimeoutSec)</pre>
+<div class="block">Idle connection timeout.
+ Optional. 0 disables idle connection disconnect. default: 0 seconds (disabled).
+ <p>
+ Following an idle disconnect, the connector will automatically
+ reconnect when it receives a new tuple to publish.
+ If the connector is subscribing to topics, it will also reconnect
+ as per <a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setSubscriberIdleReconnectInterval-int-"><code>setSubscriberIdleReconnectInterval(int)</code></a>.
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>idleTimeoutSec</code> - the timeout in seconds</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#setSubscriberIdleReconnectInterval-int-"><code>setSubscriberIdleReconnectInterval(int)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="setSubscriberIdleReconnectInterval-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSubscriberIdleReconnectInterval</h4>
+<pre>public&nbsp;void&nbsp;setSubscriberIdleReconnectInterval(int&nbsp;seconds)</pre>
+<div class="block">Subscriber idle reconnect interval.
+ <p>
+ Following an idle disconnect, if the connector is subscribing to topics,
+ it will reconnect after the specified interval.
+ Optional. default: 60 seconds.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>seconds</code> - the interval in seconds</dd>
+</dl>
+</li>
+</ul>
+<a name="setKeepAliveInterval-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setKeepAliveInterval</h4>
+<pre>public&nbsp;void&nbsp;setKeepAliveInterval(int&nbsp;keepAliveSec)</pre>
+<div class="block">Connection Keep alive.
+ <p>
+ Optional. 0 disables keepalive processing. default: 60 seconds.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>keepAliveSec</code> - the interval in seconds</dd>
+</dl>
+</li>
+</ul>
+<a name="setServerURLs-java.lang.String:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setServerURLs</h4>
+<pre>public&nbsp;void&nbsp;setServerURLs(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;serverUrls)</pre>
+<div class="block">MQTT Server URLs
+ <p>
+ Required. Must be an array of one or more MQTT server URLs.
+ When connecting, the first URL that successfully connects is used.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serverUrls</code> - the URLs</dd>
+</dl>
+</li>
+</ul>
+<a name="setWill-java.lang.String-byte:A-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setWill</h4>
+<pre>public&nbsp;void&nbsp;setWill(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                    byte[]&nbsp;payload,
+                    int&nbsp;qos,
+                    boolean&nbsp;retained)</pre>
+<div class="block">Last Will and Testament.
+ <p>
+ optional. default: no last-will-and-testament.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - topic to publish to</dd>
+<dd><code>payload</code> - the last-will-and-testament message value</dd>
+<dd><code>qos</code> - the quality of service to use to publish the message</dd>
+<dd><code>retained</code> - true to retain the message across connections</dd>
+</dl>
+</li>
+</ul>
+<a name="setPassword-char:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPassword</h4>
+<pre>public&nbsp;void&nbsp;setPassword(char[]&nbsp;password)</pre>
+<div class="block">Set the password to use for authentication with the server.
+ Optional. default: null.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>password</code> - the password</dd>
+</dl>
+</li>
+</ul>
+<a name="setUserName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUserName</h4>
+<pre>public&nbsp;void&nbsp;setUserName(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;userName)</pre>
+<div class="block">Set the username to use for authentication with the server.
+ Optional. default: null.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>userName</code> - the user name</dd>
+</dl>
+</li>
+</ul>
+<a name="setTrustStore-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTrustStore</h4>
+<pre>public&nbsp;void&nbsp;setTrustStore(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</pre>
+<div class="block">Set the SSL trust store path.
+ <p>
+ Only used with "ssl:" serverURL.
+ Path to trust store file in JKS format.
+ If not set, the standard JRE and javax.net.ssl system properties
+ control the SSL behavior.
+ Generally not required if server has a CA-signed certificate.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>path</code> - the path. null to unset.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTrustStore--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTrustStore</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTrustStore()</pre>
+<div class="block">Get the SSL trust store path.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the path. null if not set.</dd>
+</dl>
+</li>
+</ul>
+<a name="setTrustStorePassword-char:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTrustStorePassword</h4>
+<pre>public&nbsp;void&nbsp;setTrustStorePassword(char[]&nbsp;password)</pre>
+<div class="block">Set the SSL trust store password.
+ <p>
+ Required if the trust store path is set.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>password</code> - the password</dd>
+</dl>
+</li>
+</ul>
+<a name="getTrustStorePassword--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTrustStorePassword</h4>
+<pre>public&nbsp;char[]&nbsp;getTrustStorePassword()</pre>
+<div class="block">Get the SSL trust store path password.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the password. null if not set.</dd>
+</dl>
+</li>
+</ul>
+<a name="setKeyStore-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setKeyStore</h4>
+<pre>public&nbsp;void&nbsp;setKeyStore(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</pre>
+<div class="block">Set the SSL key store path.
+ <p>
+ Only used with "ssl:" serverURL when the server is configured for
+ client auth.
+ Path to trust store file in JKS format.
+ If not set, the standard JRE and javax.net.ssl system properties
+ control the SSL behavior.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>path</code> - the path. null to unset.</dd>
+</dl>
+</li>
+</ul>
+<a name="getKeyStore--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getKeyStore</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getKeyStore()</pre>
+<div class="block">Get the SSL trust store path.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the path. null if not set.</dd>
+</dl>
+</li>
+</ul>
+<a name="setKeyStorePassword-char:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setKeyStorePassword</h4>
+<pre>public&nbsp;void&nbsp;setKeyStorePassword(char[]&nbsp;password)</pre>
+<div class="block">Set the SSL key store password.
+ <p>
+ Required if the key store path is set.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>password</code> - the password. null to unset.</dd>
+</dl>
+</li>
+</ul>
+<a name="getKeyStorePassword--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getKeyStorePassword</h4>
+<pre>public&nbsp;char[]&nbsp;getKeyStorePassword()</pre>
+<div class="block">Get the SSL key store path password.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the password. null if not set.</dd>
+</dl>
+</li>
+</ul>
+<a name="options--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>options</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;options()</pre>
+<div class="block">INTERNAL USE ONLY.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>object</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MqttConfig.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/MqttConfig.html" target="_top">Frames</a></li>
+<li><a href="MqttConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/MqttStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/MqttStreams.html
new file mode 100644
index 0000000..41a1eb9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/MqttStreams.html
@@ -0,0 +1,520 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MqttStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MqttStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MqttStreams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/MqttStreams.html" target="_top">Frames</a></li>
+<li><a href="MqttStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.mqtt</div>
+<h2 title="Class MqttStreams" class="title">Class MqttStreams</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.mqtt.MqttStreams</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MqttStreams</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block"><code>MqttStreams</code> is a connector to a MQTT messaging broker
+ for publishing and subscribing to topics.
+ <p>
+ For more information about MQTT see <a href="http://mqtt.org">http://mqtt.org</a>
+ <p>
+ The connector exposes all MQTT capabilities:
+ <ul>
+ <li>multiple server URLs using tcp or ssl</li>
+ <li>connection ClientId control</li>
+ <li>connection username and password based authentication</li>
+ <li>TODO SSL connection client authentication Q:expose just key/trust store path/pw or whole setSSLProperties capability?  Related: expose setSocketFactory?</li>
+ <li>connection clean session control</li>
+ <li>connection keepalive control</li>
+ <li>operation/action timeout control</li>
+ <li>client last will and testament</li>
+ <li>connection in-flight message persistence control</li>
+ <li>per-published message control of topic, quality of service, payload and retain value</li>
+ <li>subscription topicFilter and maximum quality of service control</li>
+ <li>TODO multiple subscription topicFilters</li>
+ <li>access to received message's topic and payload.
+     Omitting until there's a clear demand for it: the received msg's isRetained, qos and isDuplicate values.
+ <li>TODO dynamic server URLs control, operation timeout, keepalive control</li>
+ <li>TODO dynamic subscription list control</li>
+ <li>robust connection management / reconnected</li>
+ <li>TODO fix: client's aren't gracefully disconnecting (their close() isn't getting called) issue#64</li>
+ </ul>
+ <p>
+ Sample use:
+ <pre><code>
+ Topology t = ...;
+ String url = "tcp://localhost:1883";
+ MqttStreams mqtt = new MqttStreams(t, url); 
+ TStream&lt;String&gt; s = top.constants("one", "two", "three");
+ mqtt.publish(s, "myTopic", 0);
+ TStream&lt;String&gt; rcvd = mqtt.subscribe("someTopic", 0);
+ rcvd.print();
+ </code></pre>
+ <P>
+ <code>publish()</code> can be called zero or more times.
+ <code>subscribe()</code> can be called at most once.
+ <p>
+ See <a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><code>MqttConfig</code></a> for all configuration items.
+ <p>
+ Messages are delivered with the specified Quality of Service.
+ TODO adjust the QoS-1 and 2 descriptions based on the fact that we only
+ supply a MemoryPersistence class under the covers.
+ <ul>
+ <li>Quality of Service 0 - a message should be delivered at most once
+     (zero or one times) - "fire and forget".
+     This is the fastest QoS but should only be used for messages which
+     are not valuable.</li>
+ <li>Quality of Service 1 - a message should be delivered at least once
+     (zero or more times).
+     The message will be acknowledged across the network.</li>
+ <li>Quality of Service 2 = a message should be delivered once.  
+     Delivery is subject to two-phase acknowledgment across the network.</li>
+ </ul>
+ For <code>subscribe()</code>, the QoS is the maximum QoS used for a message.
+ If a message was published with a QoS less then the subscribe's QoS,
+ the message will be received with the published QoS,
+ otherwise it will be received with the subscribe's QoS.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#MqttStreams-org.apache.edgent.topology.Topology-java.lang.String-java.lang.String-">MqttStreams</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;url,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</code>
+<div class="block">Create a connector to the specified server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#MqttStreams-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">MqttStreams</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&gt;&nbsp;config)</code>
+<div class="block">Create a connector with the specified configuration.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       int&nbsp;qos,
+       boolean&nbsp;retain)</code>
+<div class="block">Publish a <code>TStream&lt;String&gt;</code> stream's tuples as MQTT messages.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
+<div class="block">Publish a stream's tuples as MQTT messages.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-">subscribe</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
+         int&nbsp;qos)</code>
+<div class="block">Subscribe to the MQTT topic(s) and create a <code>TStream&lt;String&gt;</code>.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-org.apache.edgent.function.BiFunction-">subscribe</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
+         int&nbsp;qos,
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[],T&gt;&nbsp;message2Tuple)</code>
+<div class="block">Subscribe to the MQTT topic(s) and create a stream of tuples of type <code>T</code>.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#topology--">topology</a></span>()</code>
+<div class="block">Get the <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><code>Topology</code></a> the connector is associated with.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MqttStreams-org.apache.edgent.topology.Topology-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MqttStreams</h4>
+<pre>public&nbsp;MqttStreams(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;url,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</pre>
+<div class="block">Create a connector to the specified server.
+ <p>
+ A convenience function.
+ Connecting to the server occurs after the
+ topology is submitted for execution.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - the connector's associated <code>Topology</code>.</dd>
+<dd><code>url</code> - URL of MQTT server.</dd>
+<dd><code>clientId</code> - the connector's MQTT clientId. auto-generated if null.</dd>
+</dl>
+</li>
+</ul>
+<a name="MqttStreams-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MqttStreams</h4>
+<pre>public&nbsp;MqttStreams(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                   <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&gt;&nbsp;config)</pre>
+<div class="block">Create a connector with the specified configuration.
+ <p>
+ Connecting to the server occurs after the
+ topology is submitted for execution.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - the Topology to add to</dd>
+<dd><code>config</code> - <a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><code>MqttConfig</code></a> supplier.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>publish</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</pre>
+<div class="block">Publish a stream's tuples as MQTT messages. 
+ <p>Each tuple is published as an MQTT message with
+ the supplied functions providing the message topic, payload
+ and QoS. The topic and QoS can be generated based upon the tuple.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>topic</code> - function to supply the message's topic.</dd>
+<dd><code>payload</code> - function to supply the message's payload.</dd>
+<dd><code>qos</code> - function to supply the message's delivery Quality of Service.</dd>
+<dd><code>retain</code> - function to supply the message's retain value</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>publish</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                             int&nbsp;qos,
+                             boolean&nbsp;retain)</pre>
+<div class="block">Publish a <code>TStream&lt;String&gt;</code> stream's tuples as MQTT messages.
+ <p>
+ A convenience function.
+ The payload of each message is the String tuple's value serialized as UTF-8.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>topic</code> - the fixed topic.</dd>
+<dd><code>qos</code> - the fixed delivery Quality of Service.</dd>
+<dd><code>retain</code> - the fixed retain value.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="subscribe-java.lang.String-int-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subscribe</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;subscribe(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
+                                int&nbsp;qos,
+                                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[],T&gt;&nbsp;message2Tuple)</pre>
+<div class="block">Subscribe to the MQTT topic(s) and create a stream of tuples of type <code>T</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topicFilter</code> - the topic(s) to subscribe to.</dd>
+<dd><code>qos</code> - the maximum Quality of Service to use.</dd>
+<dd><code>message2Tuple</code> - function to convert <code>(topic, payload)</code> to
+      a tuple of type <code>T</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>TStream&lt;T&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="subscribe-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subscribe</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;subscribe(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
+                                     int&nbsp;qos)</pre>
+<div class="block">Subscribe to the MQTT topic(s) and create a <code>TStream&lt;String&gt;</code>.
+ <p>
+ A convenience function.
+ Each message's payload is expected/required to be a UTF-8 encoded string.
+ Only the converted payload is present the generated tuple.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topicFilter</code> - the topic(s) to subscribe to.</dd>
+<dd><code>qos</code> - the maximum Quality of Service to use.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>TStream&lt;String&gt;</code></dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-"><code>publish(TStream, String, int, boolean)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="topology--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>topology</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology()</pre>
+<div class="block">Get the <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><code>Topology</code></a> the connector is associated with.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MqttStreams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/MqttStreams.html" target="_top">Frames</a></li>
+<li><a href="MqttStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/class-use/MqttConfig.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/class-use/MqttConfig.html
new file mode 100644
index 0000000..97c3578
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/class-use/MqttConfig.html
@@ -0,0 +1,225 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.mqtt.MqttConfig (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.mqtt.MqttConfig (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/class-use/MqttConfig.html" target="_top">Frames</a></li>
+<li><a href="MqttConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.mqtt.MqttConfig" class="title">Uses of Class<br>org.apache.edgent.connectors.mqtt.MqttConfig</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
+<td class="colLast">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a> in <a href="../../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> that return <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</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="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MqttConfig.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#fromProperties-java.util.Properties-">fromProperties</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</code>
+<div class="block">Create a new configuration from <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util"><code>Properties</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> with type arguments of type <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#MqttStreams-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">MqttStreams</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&gt;&nbsp;config)</code>
+<div class="block">Create a connector with the specified configuration.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a> in <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> that return <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#getMqttConfig--">getMqttConfig</a></span>()</code>
+<div class="block">Get the device's <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><code>MqttConfig</code></a></div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> with parameters of type <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.connectors.mqtt.MqttConfig-">MqttDevice</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties,
+          <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;mqttConfig)</code>
+<div class="block">Create an MqttDevice connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/class-use/MqttConfig.html" target="_top">Frames</a></li>
+<li><a href="MqttConfig.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/class-use/MqttStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/class-use/MqttStreams.html
new file mode 100644
index 0000000..33ca665
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/class-use/MqttStreams.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.mqtt.MqttStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.mqtt.MqttStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/class-use/MqttStreams.html" target="_top">Frames</a></li>
+<li><a href="MqttStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.mqtt.MqttStreams" class="title">Uses of Class<br>org.apache.edgent.connectors.mqtt.MqttStreams</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.mqtt.MqttStreams</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/class-use/MqttStreams.html" target="_top">Frames</a></li>
+<li><a href="MqttStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/MqttDevice.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/MqttDevice.html
new file mode 100644
index 0000000..3ecc4ff
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/MqttDevice.html
@@ -0,0 +1,653 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MqttDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MqttDevice (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MqttDevice.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" target="_top">Frames</a></li>
+<li><a href="MqttDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.mqtt.iot</div>
+<h2 title="Class MqttDevice" class="title">Class MqttDevice</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.mqtt.iot.MqttDevice</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>, <a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MqttDevice</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></pre>
+<div class="block">An MQTT based Edgent <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> connector.
+ <p>
+ The MQTT <code>IotDevice</code> is an abstraction on top of
+ the <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><code>MqttStreams</code></a> connector.
+ <p>
+ The connector doesn't presume a particular pattern for 
+ Device MQTT "event" and "command" topics though default
+ patterns are provided.
+ <p>
+ The MQTT message content for device events and device commands must be JSON.
+ The contents of the JSON are under the control of the collaborating MQTT clients.
+ Typically a device to defines its event and command schemas
+ and the other clients to adapt accordingly.
+ See <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-"><code>commands(String...)</code></a> and <a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-"><code>events()</code></a>
+ for a description of how MQTT messages are converted to and from stream tuples.
+ <p>
+ Connector configuration Properties fall into two categories:
+ <ul>
+ <li>MQTT Device abstraction properties</li>
+ <li>Base MQTT connector properties - see <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html#fromProperties-java.util.Properties-"><code>MqttConfig.fromProperties(Properties)</code></a>
+ </ul>
+
+ <h3>Device properties</h3>
+ <ul>
+ <li>mqttDevice.id - Required. An identifier that uniquely identifies
+     the device in the device event and device command MQTT topic namespaces.
+     </li>
+ <li>mqttDevice.topic.prefix - A optional prefix that by default is used when
+     composing device event and command MQTT topics, and the client's MQTT
+     clientId.  The default is no prefix.</li>
+ <li>mqttDevice.event.topic.pattern - Optional.  The topic pattern used
+     for MQTT device event topics.
+     Defaults to <code>{mqttDevice.topic.prefix}id/{mqttDevice.id}/evt/{EVENTID}/fmt/json</code>
+     The pattern must include {EVENTID} and must end with "/fmt/json".
+     </li>
+ <li>mqttDevice.command.topic.pattern - Optional.  The topic pattern used
+     for MQTT device command topics.
+     Defaults to <code>{mqttDevice.topic.prefix}id/{mqttDevice.id}/cmd/{COMMAND}/fmt/json</code>
+     The pattern must include {COMMAND} and must end with "/fmt/json".
+     </li>
+ <li>mqttDevice.command.qos - An optional MQTT QoS value for commands. Defaults to 0.</li>
+ <li>mqttDevice.events.retain - Optional MQTT "retain" behavior for published events.  Defaults to false.</li>
+ <li>mqttDevice.mqtt.clientId - Optional value to use for the MQTT clientId.
+     Defaults to {mqttDevice.topic.prefix}id/{mqttDevice.id}.</li>
+ </ul>
+ Sample use:
+ <pre><code>
+  // assuming a properties file containing at least:
+  // mqttDevice.id=012345678
+  // mqtt.serverURLs=tcp://myMqttBrokerHost:1883
+  
+ String propsPath = &lt;path to properties file&gt;; 
+ Properties properties = new Properties();
+ properties.load(Files.newBufferedReader(new File(propsPath).toPath()));
+
+ Topology t = new DirectProvider();
+ MqttDevice mqttDevice = new MqttDevice(t, properties);
+ 
+ // publish JSON "status" device event tuples every hour
+ TStream&lt;JsonObject&gt; myStatusEvents = t.poll(myGetStatusAsJson(), 1, TimeUnit.HOURS);
+ mqttDevice.events(myStatusEvents, "status", QoS.FIRE_AND_FORGET);
+ 
+ // handle a device command.  In this example the payload is expected
+ // to be JSON and have a "value" property containing the new threshold. 
+ mqttDevice.command("setSensorThreshold")
+     .sink(json -&gt; setSensorThreshold(json.get(CMD_PAYLOAD).getAsJsonObject().get("value").getAsString());
+ </code></pre></div>
+</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>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.connectors.iot.IotDevice">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.connectors.iot.<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></h3>
+<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE">CMD_DEVICE</a>, <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT">CMD_FORMAT</a>, <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID">CMD_ID</a>, <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD">CMD_PAYLOAD</a>, <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS">CMD_TS</a>, <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#RESERVED_ID_PREFIX">RESERVED_ID_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-">MqttDevice</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</code>
+<div class="block">Create an MqttDevice connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.connectors.mqtt.MqttConfig-">MqttDevice</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties,
+          <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;mqttConfig)</code>
+<div class="block">Create an MqttDevice connector.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commandTopic-java.lang.String-">commandTopic</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;command)</code>
+<div class="block">Get the MQTT topic for a command.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#eventTopic-java.lang.String-">eventTopic</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
+<div class="block">Get the MQTT topic for an device event.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#getDeviceId--">getDeviceId</a></span>()</code>
+<div class="block">Get the device's unique opaque device identifier.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#getDeviceType--">getDeviceType</a></span>()</code>
+<div class="block">Get the device's opaque device type identifier.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#getMqttConfig--">getMqttConfig</a></span>()</code>
+<div class="block">Get the device's <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><code>MqttConfig</code></a></div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#topology--">topology</a></span>()</code>
+<div class="block">Topology this element is contained in.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>MqttDevice</h4>
+<pre>public&nbsp;MqttDevice(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</pre>
+<div class="block">Create an MqttDevice connector.
+ <p>
+ All configuration information comes from <code>properties</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - topology to add the connector to.</dd>
+<dd><code>properties</code> - connector properties.</dd>
+</dl>
+</li>
+</ul>
+<a name="MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.connectors.mqtt.MqttConfig-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MqttDevice</h4>
+<pre>public&nbsp;MqttDevice(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties,
+                  <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;mqttConfig)</pre>
+<div class="block">Create an MqttDevice connector.
+ <p>
+ Uses <code>mattConfig</code> for the base MQTT connector configuration
+ and uses <code>properties</code> only for MQTT Device properties.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - topology to add the connector to.</dd>
+<dd><code>properties</code> - connector properties.  Properties beyond those
+        noted in the Device properties section above are ignored.</dd>
+<dd><code>mqttConfig</code> - base MQTT configuration. may be null.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="eventTopic-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>eventTopic</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventTopic(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</pre>
+<div class="block">Get the MQTT topic for an device event.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>eventId</code> - the event id. 
+         if null, returns a topic filter for all of the device's events.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the topic</dd>
+</dl>
+</li>
+</ul>
+<a name="commandTopic-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commandTopic</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;commandTopic(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;command)</pre>
+<div class="block">Get the MQTT topic for a command.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>command</code> - the command id.
+         if null, returns a topic filter for all of the device's commands.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the topic</dd>
+</dl>
+</li>
+</ul>
+<a name="getMqttConfig--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMqttConfig</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;getMqttConfig()</pre>
+<div class="block">Get the device's <a href="../../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><code>MqttConfig</code></a></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the config</dd>
+</dl>
+</li>
+</ul>
+<a name="events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>events</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+                                                <a href="../../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+                                                <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</pre>
+<div class="block">Publish a stream's tuples as device events.
+ <p>
+ Each tuple is published as a device event with the supplied functions
+ providing the event identifier, payload and QoS. The event identifier and
+ QoS can be generated based upon the tuple.
+ 
+ <p>The event is published to the configured MQTT <code>mqttDevice.event.topic.pattern</code>,
+ as described in the above class documentation, substituting the value returned
+ by the <code>eventId</code> function for "{EVENTID}" in the pattern.
+ The MQTT message's payload is the JSON representation
+ of the JsonObject stream tuple.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - function to supply the event identifier.</dd>
+<dd><code>payload</code> - function to supply the event's payload.</dd>
+<dd><code>qos</code> - function to supply the event's delivery Quality of Service.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="events-org.apache.edgent.topology.TStream-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>events</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;events(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+                                                int&nbsp;qos)</pre>
+<div class="block">Publish a stream's tuples as device events.
+ <p>
+ Each tuple is published as a device event with fixed event identifier and
+ QoS.
+ 
+ <p>The event is published to the configured MQTT <code>mqttDevice.event.topic.pattern</code>,
+ as described in the above class documentation, substituting the <code>eventId</code> for 
+ "{EVENTID}" in the pattern.
+ The MQTT message's payload is the JSON representation
+ of the JsonObject stream tuple.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be published.</dd>
+<dd><code>eventId</code> - Event identifier.</dd>
+<dd><code>qos</code> - Event's delivery Quality of Service.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>TSink sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="commands-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>commands</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;commands(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</pre>
+<div class="block">Create a stream of device commands as JSON objects.
+ Each command sent to the device matching <code>commands</code> will result in a tuple
+ on the stream. The JSON object has these keys:
+ <UL>
+ <LI><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_DEVICE"><code>device</code></a> - Command's opaque target device's id String.
+ <LI><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_ID"><code>command</code></a> - Command identifier as a String</LI>
+ <LI><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_TS"><code>tsms</code></a> - Timestamp of the command in milliseconds since the 1970/1/1 epoch.</LI>
+ <LI><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_FORMAT"><code>format</code></a> - Format of the command as a String</LI>
+ <LI><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#CMD_PAYLOAD"><code>payload</code></a> - Payload of the command
+ <UL>
+ <LI>If <code>format</code> is <code>json</code> then <code>payload</code> is JSON</LI>
+ <LI>Otherwise <code>payload</code> is String</LI>
+ </UL>
+ </LI>
+ </UL>
+ 
+ <p>
+ Subscribes to the configured MQTT <code>mqttDevice.command.topic.pattern</code>
+ as described in the above class documentation.
+ The received MQTT message's payload is required to be JSON.  
+ The message's JSON payload is converted to a JsonObject and
+ set as the <code>payload</code> key's value in the stream tuple JsonObject.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>commands</code> - Command identifiers to include. If no command identifiers are provided then the
+ stream will contain all of this IotDevice's device commands.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing device commands.</dd>
+</dl>
+</li>
+</ul>
+<a name="topology--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topology</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">TopologyElement</a></code></span></div>
+<div class="block">Topology this element is contained in.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Topology this element is contained in.</dd>
+</dl>
+</li>
+</ul>
+<a name="getDeviceType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDeviceType</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceType()</pre>
+<div class="block">Get the device's opaque device type identifier.
+ <p> 
+ This connector does not support the notion of a device-type
+ as part of its device id model.  An empty string is returned.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceType--">getDeviceType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the device's type</dd>
+</dl>
+</li>
+</ul>
+<a name="getDeviceId--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getDeviceId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeviceId()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">IotDevice</a></code></span></div>
+<div class="block">Get the device's unique opaque device identifier.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html#getDeviceId--">getDeviceId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the device's id</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MqttDevice.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" target="_top">Frames</a></li>
+<li><a href="MqttDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/class-use/MqttDevice.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/class-use/MqttDevice.html
new file mode 100644
index 0000000..1dd1510
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/class-use/MqttDevice.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.mqtt.iot.MqttDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.mqtt.iot.MqttDevice (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/mqtt/iot/class-use/MqttDevice.html" target="_top">Frames</a></li>
+<li><a href="MqttDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.mqtt.iot.MqttDevice" class="title">Uses of Class<br>org.apache.edgent.connectors.mqtt.iot.MqttDevice</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.mqtt.iot.MqttDevice</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/mqtt/iot/class-use/MqttDevice.html" target="_top">Frames</a></li>
+<li><a href="MqttDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-frame.html
new file mode 100644
index 0000000..63d2b42
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html" target="classFrame">org.apache.edgent.connectors.mqtt.iot</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot" target="classFrame">MqttDevice</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-summary.html
new file mode 100644
index 0000000..6ee9122
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-summary.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.mqtt.iot (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/iot/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.mqtt.iot</h1>
+<div class="docSummary">
+<div class="block">An MQTT based IotDevice connector.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></td>
+<td class="colLast">
+<div class="block">An MQTT based Edgent <a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.mqtt.iot Description">Package org.apache.edgent.connectors.mqtt.iot Description</h2>
+<div class="block">An MQTT based IotDevice connector.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/iot/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-tree.html
new file mode 100644
index 0000000..87bbbd5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.mqtt.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/mqtt/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/iot/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.mqtt.iot</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.mqtt.iot.<a href="../../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot"><span class="typeNameLink">MqttDevice</span></a> (implements org.apache.edgent.connectors.iot.<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/mqtt/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/iot/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-use.html
new file mode 100644
index 0000000..cdd624b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/iot/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.mqtt.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.mqtt.iot (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/iot/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.mqtt.iot" class="title">Uses of Package<br>org.apache.edgent.connectors.mqtt.iot</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.connectors.mqtt.iot</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/mqtt/iot/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-frame.html
new file mode 100644
index 0000000..41ee072
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html" target="classFrame">org.apache.edgent.connectors.mqtt</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt" target="classFrame">MqttConfig</a></li>
+<li><a href="MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt" target="classFrame">MqttStreams</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-summary.html
new file mode 100644
index 0000000..f25c06a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-summary.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.mqtt (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.mqtt</h1>
+<div class="docSummary">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a></td>
+<td class="colLast">
+<div class="block">MQTT broker connector configuration.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt">MqttStreams</a></td>
+<td class="colLast">
+<div class="block"><code>MqttStreams</code> is a connector to a MQTT messaging broker
+ for publishing and subscribing to topics.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.mqtt Description">Package org.apache.edgent.connectors.mqtt Description</h2>
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.
+ <p>
+ Stream tuples may be published to MQTT broker topics
+ and created by subscribing to broker topics.
+ For more information about MQTT see
+ <a href="http://mqtt.org">http://mqtt.org</a></div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-tree.html
new file mode 100644
index 0000000..6ad6a1f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-tree.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.mqtt Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.mqtt Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.mqtt</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.mqtt.<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttConfig</span></a></li>
+<li type="circle">org.apache.edgent.connectors.mqtt.<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttStreams</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/kafka/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-use.html
new file mode 100644
index 0000000..a2b414f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/mqtt/package-use.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.mqtt (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.mqtt (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.mqtt" class="title">Uses of Package<br>org.apache.edgent.connectors.mqtt</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
+<td class="colLast">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> used by <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/mqtt/class-use/MqttConfig.html#org.apache.edgent.connectors.mqtt">MqttConfig</a>
+<div class="block">MQTT broker connector configuration.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> used by <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/mqtt/class-use/MqttConfig.html#org.apache.edgent.connectors.mqtt.iot">MqttConfig</a>
+<div class="block">MQTT broker connector configuration.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/mqtt/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/PublishSubscribe.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/PublishSubscribe.html
new file mode 100644
index 0000000..50d574a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/PublishSubscribe.html
@@ -0,0 +1,401 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PublishSubscribe (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PublishSubscribe (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PublishSubscribe.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/pubsub/PublishSubscribe.html" target="_top">Frames</a></li>
+<li><a href="PublishSubscribe.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.connectors.pubsub</div>
+<h2 title="Class PublishSubscribe" class="title">Class PublishSubscribe</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.pubsub.PublishSubscribe</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">PublishSubscribe</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Publish subscribe model.
+ <BR>
+ A stream can be <a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-"><code>published </code></a> to a topic
+ and then <a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-"><code>subscribed</code></a> to by
+ other topologies.
+ 
+ <P>
+ A published topic has a type and subscribers must subscribe using the same
+ topic and type (inheritance matching is not supported).
+ <BR>
+ Multiple streams from different topologies can be published to
+ same topic (and type) and there can be multiple subscribers
+ from different topologies.
+ <BR>
+ A subscriber can exist before a publisher exists, they are connected
+ automatically when the job starts.
+ </P>
+ <P>
+ If no <a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service"><code>PublishSubscribeService</code></a> is registered then published
+ tuples are discarded and subscribers see no tuples.
+ </P>
+ <P>
+ The recommended style for topics is MQTT topics, where <code>/</code>
+ is used to provide a hierarchy into topics. For example <code>engine/sensors/temperature</code>
+ might be a topic that represents temperature sensors in an engine.
+ <BR>
+ Topics that start with <code>edgent/</code> are reserved for use by Edgent.
+ <BR>
+ MQTT style wild-cards are not supported.
+ </P></div>
+</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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#RESERVED_TOPIC_PREFIX">RESERVED_TOPIC_PREFIX</a></span></code>
+<div class="block">Topics that start with "edgent/" are reserved for use by Edgent.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#PublishSubscribe--">PublishSubscribe</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
+<div class="block">Publish this stream to a topic.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType)</code>
+<div class="block">Subscribe to a published topic.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="RESERVED_TOPIC_PREFIX">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RESERVED_TOPIC_PREFIX</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> RESERVED_TOPIC_PREFIX</pre>
+<div class="block">Topics that start with "edgent/" are reserved for use by Edgent.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.connectors.pubsub.PublishSubscribe.RESERVED_TOPIC_PREFIX">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="PublishSubscribe--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PublishSubscribe</h4>
+<pre>public&nbsp;PublishSubscribe()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>publish</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;&nbsp;publish(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</pre>
+<div class="block">Publish this stream to a topic.
+ This is a model that allows jobs to subscribe to 
+ streams published by other jobs.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - stream to publish</dd>
+<dd><code>topic</code> - Topic to publish to.</dd>
+<dd><code>streamType</code> - Type of objects on the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>sink element representing termination of this stream.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-"><code>subscribe(TopologyElement, String, Class)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>subscribe</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;subscribe(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType)</pre>
+<div class="block">Subscribe to a published topic.
+ This is a model that allows jobs to subscribe to 
+ streams published by other jobs.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>te</code> - TopologyElement whose Topology to add to</dd>
+<dd><code>topic</code> - Topic to subscribe to.</dd>
+<dd><code>streamType</code> - Type of the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing published tuples.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-"><code>publish(TStream, String, Class)</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PublishSubscribe.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/pubsub/PublishSubscribe.html" target="_top">Frames</a></li>
+<li><a href="PublishSubscribe.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/class-use/PublishSubscribe.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/class-use/PublishSubscribe.html
new file mode 100644
index 0000000..e5311f2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/class-use/PublishSubscribe.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.pubsub.PublishSubscribe (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.pubsub.PublishSubscribe (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/class-use/PublishSubscribe.html" target="_top">Frames</a></li>
+<li><a href="PublishSubscribe.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.pubsub.PublishSubscribe" class="title">Uses of Class<br>org.apache.edgent.connectors.pubsub.PublishSubscribe</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.pubsub.PublishSubscribe</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/class-use/PublishSubscribe.html" target="_top">Frames</a></li>
+<li><a href="PublishSubscribe.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/Publish.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/Publish.html
new file mode 100644
index 0000000..83fd787
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/Publish.html
@@ -0,0 +1,325 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Publish (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Publish (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Publish.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/oplets/Publish.html" target="_top">Frames</a></li>
+<li><a href="Publish.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.pubsub.oplets</div>
+<h2 title="Class Publish" class="title">Class Publish&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Sink</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.pubsub.oplets.Publish&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of the tuples.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Publish&lt;T&gt;</span>
+extends <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;T&gt;</pre>
+<div class="block">Publish a stream to a PublishSubscribeService service.
+ If no such service exists then no tuples are published.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-"><code>PublishSubscribe.publish(org.apache.edgent.topology.TStream, String, Class)</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html#Publish-java.lang.String-java.lang.Class-">Publish</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super <a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>&gt;&nbsp;streamType)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Sink">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></h3>
+<code><a href="../../../../../../org/apache/edgent/oplet/core/Sink.html#close--">close</a>, <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html#getInputs--">getInputs</a>, <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html#getSinker--">getSinker</a>, <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html#setSinker-org.apache.edgent.function.Consumer-">setSinker</a>, <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html#start--">start</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Publish-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Publish</h4>
+<pre>public&nbsp;Publish(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super <a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>&gt;&nbsp;streamType)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Publish.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/oplets/Publish.html" target="_top">Frames</a></li>
+<li><a href="Publish.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/class-use/Publish.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/class-use/Publish.html
new file mode 100644
index 0000000..ccca75f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/class-use/Publish.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.pubsub.oplets.Publish (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.pubsub.oplets.Publish (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/pubsub/oplets/class-use/Publish.html" target="_top">Frames</a></li>
+<li><a href="Publish.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.pubsub.oplets.Publish" class="title">Uses of Class<br>org.apache.edgent.connectors.pubsub.oplets.Publish</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.pubsub.oplets.Publish</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/pubsub/oplets/class-use/Publish.html" target="_top">Frames</a></li>
+<li><a href="Publish.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-frame.html
new file mode 100644
index 0000000..ef961e1
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html" target="classFrame">org.apache.edgent.connectors.pubsub.oplets</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets" target="classFrame">Publish</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-summary.html
new file mode 100644
index 0000000..5aac3d3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-summary.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.pubsub.oplets (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/oplets/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.pubsub.oplets</h1>
+<div class="docSummary">
+<div class="block">Oplets supporting publish subscribe service.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Publish</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Publish a stream to a PublishSubscribeService service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.pubsub.oplets Description">Package org.apache.edgent.connectors.pubsub.oplets Description</h2>
+<div class="block">Oplets supporting publish subscribe service.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/oplets/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-tree.html
new file mode 100644
index 0000000..939bfd3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-tree.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.pubsub.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/oplets/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.pubsub.oplets</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Sink</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.connectors.pubsub.oplets.<a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets"><span class="typeNameLink">Publish</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/oplets/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-use.html
new file mode 100644
index 0000000..b04c3d4
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/oplets/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.pubsub.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.pubsub.oplets (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/oplets/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.pubsub.oplets" class="title">Uses of Package<br>org.apache.edgent.connectors.pubsub.oplets</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.connectors.pubsub.oplets</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/oplets/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-frame.html
new file mode 100644
index 0000000..653f561
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/pubsub/package-summary.html" target="classFrame">org.apache.edgent.connectors.pubsub</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub" target="classFrame">PublishSubscribe</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-summary.html
new file mode 100644
index 0000000..6df9b37
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-summary.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.pubsub (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/pubsub/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.pubsub</h1>
+<div class="docSummary">
+<div class="block">Publish subscribe model between jobs.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub">PublishSubscribe</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe model.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.pubsub Description">Package org.apache.edgent.connectors.pubsub Description</h2>
+<div class="block">Publish subscribe model between jobs.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/pubsub/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-tree.html
new file mode 100644
index 0000000..ec87a1d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.pubsub Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/pubsub/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.pubsub</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.pubsub.<a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub"><span class="typeNameLink">PublishSubscribe</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/pubsub/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-use.html
new file mode 100644
index 0000000..88e73f6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.pubsub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.pubsub (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/pubsub/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.pubsub" class="title">Uses of Package<br>org.apache.edgent.connectors.pubsub</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.connectors.pubsub</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/pubsub/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html
new file mode 100644
index 0000000..b550fc3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html
@@ -0,0 +1,348 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ProviderPubSub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ProviderPubSub (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ProviderPubSub.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" target="_top">Frames</a></li>
+<li><a href="ProviderPubSub.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.pubsub.service</div>
+<h2 title="Class ProviderPubSub" class="title">Class ProviderPubSub</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.pubsub.service.ProviderPubSub</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ProviderPubSub</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></pre>
+<div class="block">Publish subscribe service allowing exchange of streams between jobs in a provider.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#ProviderPubSub--">ProviderPubSub</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
+             <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</code>
+<div class="block">Add a subscriber to a published topic.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
+<div class="block">Get the destination for a publisher.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ProviderPubSub--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ProviderPubSub</h4>
+<pre>public&nbsp;ProviderPubSub()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addSubscriber</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;void&nbsp;addSubscriber(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
+                              <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">PublishSubscribeService</a></code></span></div>
+<div class="block">Add a subscriber to a published topic.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - Topic to subscribe to.</dd>
+<dd><code>streamType</code> - Type of the stream.</dd>
+<dd><code>subscriber</code> - How to deliver published tuples to the subscriber.</dd>
+</dl>
+</li>
+</ul>
+<a name="getPublishDestination-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPublishDestination</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;getPublishDestination(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#getPublishDestination-java.lang.String-java.lang.Class-">PublishSubscribeService</a></code></span></div>
+<div class="block">Get the destination for a publisher.
+ A publisher calls <code>destination.accept(tuple)</code> to publish
+ <code>tuple</code> to the topic.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - Topic tuples will be published to.</dd>
+<dd><code>streamType</code> - Type of the stream</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Consumer that is used to publish tuples.</dd>
+</dl>
+</li>
+</ul>
+<a name="removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>removeSubscriber</h4>
+<pre>public&nbsp;void&nbsp;removeSubscriber(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                             <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ProviderPubSub.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" target="_top">Frames</a></li>
+<li><a href="ProviderPubSub.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html
new file mode 100644
index 0000000..b2bb4bc
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PublishSubscribeService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PublishSubscribeService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PublishSubscribeService.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" target="_top">Frames</a></li>
+<li><a href="PublishSubscribeService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.pubsub.service</div>
+<h2 title="Interface PublishSubscribeService" class="title">Interface PublishSubscribeService</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">ProviderPubSub</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">PublishSubscribeService</span></pre>
+<div class="block">Publish subscribe service.
+ <BR>
+ Service that allows jobs to subscribe to 
+ streams published by other jobs.
+ <BR>
+ This is an optional service that allows streams
+ to be published by topic between jobs.
+ <P>
+ When an instance of this service is not available
+ then <a href="../../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-"><code>publish</code></a>
+ is a no-op, a sink that discards all tuples on the stream.
+ <BR>
+ A <a href="../../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-"><code>subscribe</code></a> 
+ will have no tuples when an instance of this service is not available.
+ </P></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-"><code>PublishSubscribe.publish(org.apache.edgent.topology.TStream, String, Class)</code></a>, 
+<a href="../../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-"><code>PublishSubscribe.subscribe(org.apache.edgent.topology.TopologyElement, String, Class)</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
+             <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</code>
+<div class="block">Add a subscriber to a published topic.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
+<div class="block">Get the destination for a publisher.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addSubscriber</h4>
+<pre>&lt;T&gt;&nbsp;void&nbsp;addSubscriber(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
+                       <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</pre>
+<div class="block">Add a subscriber to a published topic.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - Topic to subscribe to.</dd>
+<dd><code>streamType</code> - Type of the stream.</dd>
+<dd><code>subscriber</code> - How to deliver published tuples to the subscriber.</dd>
+</dl>
+</li>
+</ul>
+<a name="removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeSubscriber</h4>
+<pre>void&nbsp;removeSubscriber(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                      <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</pre>
+</li>
+</ul>
+<a name="getPublishDestination-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getPublishDestination</h4>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;getPublishDestination(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</pre>
+<div class="block">Get the destination for a publisher.
+ A publisher calls <code>destination.accept(tuple)</code> to publish
+ <code>tuple</code> to the topic.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - Topic tuples will be published to.</dd>
+<dd><code>streamType</code> - Type of the stream</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Consumer that is used to publish tuples.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PublishSubscribeService.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" target="_top">Frames</a></li>
+<li><a href="PublishSubscribeService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/class-use/ProviderPubSub.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/class-use/ProviderPubSub.html
new file mode 100644
index 0000000..713f22e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/class-use/ProviderPubSub.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.pubsub.service.ProviderPubSub (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.pubsub.service.ProviderPubSub (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/class-use/ProviderPubSub.html" target="_top">Frames</a></li>
+<li><a href="ProviderPubSub.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.pubsub.service.ProviderPubSub" class="title">Uses of Class<br>org.apache.edgent.connectors.pubsub.service.ProviderPubSub</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.pubsub.service.ProviderPubSub</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/class-use/ProviderPubSub.html" target="_top">Frames</a></li>
+<li><a href="ProviderPubSub.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/class-use/PublishSubscribeService.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/class-use/PublishSubscribeService.html
new file mode 100644
index 0000000..21f06e9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/class-use/PublishSubscribeService.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.pubsub.service.PublishSubscribeService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.pubsub.service.PublishSubscribeService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/class-use/PublishSubscribeService.html" target="_top">Frames</a></li>
+<li><a href="PublishSubscribeService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.pubsub.service.PublishSubscribeService" class="title">Uses of Interface<br>org.apache.edgent.connectors.pubsub.service.PublishSubscribeService</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub.service">org.apache.edgent.connectors.pubsub.service</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub.service">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a> in <a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a> that implement <a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">ProviderPubSub</a></span></code>
+<div class="block">Publish subscribe service allowing exchange of streams between jobs in a provider.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/class-use/PublishSubscribeService.html" target="_top">Frames</a></li>
+<li><a href="PublishSubscribeService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-frame.html
new file mode 100644
index 0000000..e3efb59
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-frame.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.service (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html" target="classFrame">org.apache.edgent.connectors.pubsub.service</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service" target="classFrame"><span class="interfaceName">PublishSubscribeService</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service" target="classFrame">ProviderPubSub</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-summary.html
new file mode 100644
index 0000000..c3d99b7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-summary.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.service (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.pubsub.service (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/serial/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.pubsub.service</h1>
+<div class="docSummary">
+<div class="block">Publish subscribe service.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service">ProviderPubSub</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe service allowing exchange of streams between jobs in a provider.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.pubsub.service Description">Package org.apache.edgent.connectors.pubsub.service Description</h2>
+<div class="block">Publish subscribe service.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/serial/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-tree.html
new file mode 100644
index 0000000..d33b108
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-tree.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.pubsub.service Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.pubsub.service Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/serial/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.pubsub.service</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.pubsub.service.<a href="../../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">ProviderPubSub</span></a> (implements org.apache.edgent.connectors.pubsub.service.<a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a>)</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.connectors.pubsub.service.<a href="../../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">PublishSubscribeService</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/serial/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-use.html
new file mode 100644
index 0000000..447df89
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/pubsub/service/package-use.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.pubsub.service (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.pubsub.service (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.pubsub.service" class="title">Uses of Package<br>org.apache.edgent.connectors.pubsub.service</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub.service">org.apache.edgent.connectors.pubsub.service</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub.service">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a> used by <a href="../../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/connectors/pubsub/service/class-use/PublishSubscribeService.html#org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a>
+<div class="block">Publish subscribe service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/pubsub/service/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/SerialDevice.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/SerialDevice.html
new file mode 100644
index 0000000..4ce9c48
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/SerialDevice.html
@@ -0,0 +1,303 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SerialDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SerialDevice (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SerialDevice.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/serial/SerialDevice.html" target="_top">Frames</a></li>
+<li><a href="SerialDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.serial</div>
+<h2 title="Interface SerialDevice" class="title">Interface SerialDevice</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">SerialDevice</span>
+extends <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></pre>
+<div class="block">Access to a device (or devices) connected by a serial port.
+ A serial port at runtime is represented by
+ a <a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><code>SerialPort</code></a>.
+ <P>
+ <code>SerialDevice</code> is typically used through
+ a protocol module that sends the appropriate bytes
+ to the port and decodes the bytes output by the port.
+ </P>
+ <P>
+ It is guaranteed that during any call to function returned by
+ this interface has exclusive access to <a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><code>SerialPort</code></a>.
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html#getSource-org.apache.edgent.function.Function-">getSource</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a>,T&gt;&nbsp;driver)</code>
+<div class="block">Create a function that can be used to source a
+ stream from a serial port device.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html#setInitializer-org.apache.edgent.function.Consumer-">setInitializer</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a>&gt;&nbsp;initializer)</code>
+<div class="block">Set the initialization function for this port.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TopologyElement">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setInitializer-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setInitializer</h4>
+<pre>void&nbsp;setInitializer(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a>&gt;&nbsp;initializer)</pre>
+<div class="block">Set the initialization function for this port.
+ Can be used to send setup instructions to the
+ device connected to this serial port.
+ <BR>
+ <code>initializer.accept(port)</code> is called once, passing a runtime
+ <a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><code>SerialPort</code></a> for this serial device.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>initializer</code> - Function to be called when the application runs.</dd>
+</dl>
+</li>
+</ul>
+<a name="getSource-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getSource</h4>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;getSource(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a>,T&gt;&nbsp;driver)</pre>
+<div class="block">Create a function that can be used to source a
+ stream from a serial port device.
+ <BR>
+ Calling <code>get()</code> on the returned function will result in a call
+ to <code>driver.apply(serialPort)</code>
+ passing a runtime <a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><code>SerialPort</code></a> for this serial device.
+ The value returned by <code>driver.apply(serialPort)</code> is
+ returned by this returned function.
+ <BR>
+ The function <code>driver</code> typically sends instructions to the
+ serial port using <a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html#getOutput--"><code>SerialPort.getOutput()</code></a> and then
+ reads the result using <a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html#getInput--"><code>SerialPort.getInput()</code></a>.
+ <P>
+ Multiple instances of a supplier function can be created,
+ for example to read different parameters from the
+ device connected to the serial port. While each function
+ is being called it has exclusive use of the serial port.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>driver</code> - Function that interacts with the serial port to produce a value.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Function that for each call will interact with the serial port to produce a value.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-"><code>Topology.poll(Supplier, long, TimeUnit)</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SerialDevice.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/serial/SerialDevice.html" target="_top">Frames</a></li>
+<li><a href="SerialDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/SerialPort.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/SerialPort.html
new file mode 100644
index 0000000..c205287
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/SerialPort.html
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SerialPort (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SerialPort (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SerialPort.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/serial/SerialPort.html" target="_top">Frames</a></li>
+<li><a href="SerialPort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.serial</div>
+<h2 title="Interface SerialPort" class="title">Interface SerialPort</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">SerialPort</span></pre>
+<div class="block">Serial port runtime access.
+ 
+ A serial port has an <a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html#getOutput--"><code>getOutput()</code></a> and
+ an <a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html#getOutput--"><code>output</code></a> I/O stream.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html#getInput--">getInput</a></span>()</code>
+<div class="block">Get the input stream for this serial port.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html#getOutput--">getOutput</a></span>()</code>
+<div class="block">Get the output stream for this serial port.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getInput--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInput</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;getInput()</pre>
+<div class="block">Get the input stream for this serial port.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>input stream for this serial port.</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutput--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getOutput</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;getOutput()</pre>
+<div class="block">Get the output stream for this serial port.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>output stream for this serial port.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SerialPort.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/serial/SerialPort.html" target="_top">Frames</a></li>
+<li><a href="SerialPort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/class-use/SerialDevice.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/class-use/SerialDevice.html
new file mode 100644
index 0000000..eebfc55
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/class-use/SerialDevice.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.serial.SerialDevice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.serial.SerialDevice (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/serial/class-use/SerialDevice.html" target="_top">Frames</a></li>
+<li><a href="SerialDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.serial.SerialDevice" class="title">Uses of Interface<br>org.apache.edgent.connectors.serial.SerialDevice</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.serial.SerialDevice</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/serial/class-use/SerialDevice.html" target="_top">Frames</a></li>
+<li><a href="SerialDevice.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/class-use/SerialPort.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/class-use/SerialPort.html
new file mode 100644
index 0000000..fbc6f06
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/class-use/SerialPort.html
@@ -0,0 +1,177 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.serial.SerialPort (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.serial.SerialPort (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/serial/class-use/SerialPort.html" target="_top">Frames</a></li>
+<li><a href="SerialPort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.serial.SerialPort" class="title">Uses of Interface<br>org.apache.edgent.connectors.serial.SerialPort</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.serial">org.apache.edgent.connectors.serial</a></td>
+<td class="colLast">
+<div class="block">Serial port connector API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.serial">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a> in <a href="../../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a> with type arguments of type <a href="../../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</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>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">SerialDevice.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html#getSource-org.apache.edgent.function.Function-">getSource</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a>,T&gt;&nbsp;driver)</code>
+<div class="block">Create a function that can be used to source a
+ stream from a serial port device.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SerialDevice.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/serial/SerialDevice.html#setInitializer-org.apache.edgent.function.Consumer-">setInitializer</a></span>(<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a>&gt;&nbsp;initializer)</code>
+<div class="block">Set the initialization function for this port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/serial/class-use/SerialPort.html" target="_top">Frames</a></li>
+<li><a href="SerialPort.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-frame.html
new file mode 100644
index 0000000..cfbface
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.serial (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html" target="classFrame">org.apache.edgent.connectors.serial</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="SerialDevice.html" title="interface in org.apache.edgent.connectors.serial" target="classFrame"><span class="interfaceName">SerialDevice</span></a></li>
+<li><a href="SerialPort.html" title="interface in org.apache.edgent.connectors.serial" target="classFrame"><span class="interfaceName">SerialPort</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-summary.html
new file mode 100644
index 0000000..a82d1af
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-summary.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 (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.serial (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.serial (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/serial/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.serial</h1>
+<div class="docSummary">
+<div class="block">Serial port connector API.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a></td>
+<td class="colLast">
+<div class="block">Access to a device (or devices) connected by a serial port.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a></td>
+<td class="colLast">
+<div class="block">Serial port runtime access.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.serial Description">Package org.apache.edgent.connectors.serial Description</h2>
+<div class="block">Serial port connector API.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/serial/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-tree.html
new file mode 100644
index 0000000..a5613f0
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-tree.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.serial Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.serial Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/pubsub/service/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/wsclient/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/serial/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.serial</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.connectors.serial.<a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">SerialPort</span></a></li>
+<li type="circle">org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TopologyElement</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.serial.<a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">SerialDevice</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/pubsub/service/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/wsclient/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/serial/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-use.html
new file mode 100644
index 0000000..1e55d0c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/serial/package-use.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.serial (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.serial (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/serial/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.serial" class="title">Uses of Package<br>org.apache.edgent.connectors.serial</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.serial">org.apache.edgent.connectors.serial</a></td>
+<td class="colLast">
+<div class="block">Serial port connector API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.serial">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a> used by <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/serial/class-use/SerialPort.html#org.apache.edgent.connectors.serial">SerialPort</a>
+<div class="block">Serial port runtime access.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/serial/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/WebSocketClient.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/WebSocketClient.html
new file mode 100644
index 0000000..496a5f2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/WebSocketClient.html
@@ -0,0 +1,412 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>WebSocketClient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="WebSocketClient (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/WebSocketClient.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/wsclient/WebSocketClient.html" target="_top">Frames</a></li>
+<li><a href="WebSocketClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.wsclient</div>
+<h2 title="Interface WebSocketClient" class="title">Interface WebSocketClient</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">WebSocketClient</span>
+extends <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></pre>
+<div class="block">A generic connector for sending and receiving messages to a WebSocket Server.
+ <p>
+ A connector is bound to its configuration specified 
+ <code>javax.websockets</code> WebSocket URI.
+ <p> 
+ A single connector instance supports sinking at most one stream
+ and sourcing at most one stream.
+ <p>
+ Sample use:
+ <pre><code>
+ // assuming a properties file containing at least:
+ // ws.uri=ws://myWsServerHost/myService
+  
+ String propsPath = &lt;path to properties file&gt;; 
+ Properties properties = new Properties();
+ properties.load(Files.newBufferedReader(new File(propsPath).toPath()));
+
+ Topology t = ...;
+ Jsr356WebSocketClient wsclient = new SomeWebSocketClient(t, properties);
+ 
+ // send a stream's JsonObject tuples as JSON WebSocket text messages
+ TStream&lt;JsonObject&gt; s = ...;
+ wsclient.send(s);
+ 
+ // create a stream of JsonObject tuples from received JSON WebSocket text messages
+ TStream&lt;JsonObject&gt; r = wsclient.receive();
+ r.print();
+ </code></pre>
+ <p>
+ Note, the WebSocket protocol differentiates between text/String and 
+ binary/byte messages.
+ A receiver only receives the messages of the type that it requests.
+ <p> 
+ Implementations are strongly encouraged to support construction from
+ Properties with the following configuration parameters:
+ <ul>
+ <li>ws.uri - "ws://host[:port][/path]", "wss://host[:port][/path]"
+   the default port is 80 and 443 for "ws" and "wss" respectively.
+   The optional path must match the server's configuration.</li>
+ <li>ws.trustStore - optional. Only used with "wss:".
+     Path to trust store file in JKS format.
+     If not set, the standard JRE and javax.net.ssl system properties
+     control the SSL behavior.
+     Generally not required if server has a CA-signed certificate.</li>
+ <li>ws.trustStorePassword - required if ws.trustStore is set</li>
+ <li>ws.keyStore - optional. Only used with "wss:" when the
+     server is configured for client auth.
+     Path to key store file in JKS format.
+     If not set, the standard JRE and javax.net.ssl system properties
+     control the SSL behavior.</li>
+ <li>ws.keyStorePassword - required if ws.keyStore is set.</li>
+ <li>ws.keyPassword - defaults to ws.keyStorePassword value</li>
+ <li>ws.keyCertificateAlias - alias for certificate in key store. defaults to "default"</li>
+ </ul></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#receive--">receive</a></span>()</code>
+<div class="block">Create a stream of JsonObject tuples from received JSON WebSocket text messages.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#receiveBytes--">receiveBytes</a></span>()</code>
+<div class="block">Create a stream of byte[] tuples from received WebSocket binary messages.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#receiveString--">receiveString</a></span>()</code>
+<div class="block">Create a stream of String tuples from received WebSocket text messages.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#send-org.apache.edgent.topology.TStream-">send</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's JsonObject tuples as JSON in a WebSocket text message.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendBytes-org.apache.edgent.topology.TStream-">sendBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's byte[] tuples in a WebSocket binary message.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's String tuples in a WebSocket text message.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TopologyElement">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="send-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>send</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;send(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream)</pre>
+<div class="block">Send a stream's JsonObject tuples as JSON in a WebSocket text message.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the stream</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>sink</dd>
+</dl>
+</li>
+</ul>
+<a name="sendString-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sendString</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;sendString(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</pre>
+<div class="block">Send a stream's String tuples in a WebSocket text message.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the stream</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>sink</dd>
+</dl>
+</li>
+</ul>
+<a name="sendBytes-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sendBytes</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;byte[]&gt;&nbsp;sendBytes(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;&nbsp;stream)</pre>
+<div class="block">Send a stream's byte[] tuples in a WebSocket binary message.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the stream</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>sink</dd>
+</dl>
+</li>
+</ul>
+<a name="receive--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>receive</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;receive()</pre>
+<div class="block">Create a stream of JsonObject tuples from received JSON WebSocket text messages.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the stream</dd>
+</dl>
+</li>
+</ul>
+<a name="receiveString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>receiveString</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;receiveString()</pre>
+<div class="block">Create a stream of String tuples from received WebSocket text messages.
+ <p>
+ Note, the WebSocket protocol differentiates between text/String and
+ binary/byte messages.  This method only receives messages sent as text.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the stream</dd>
+</dl>
+</li>
+</ul>
+<a name="receiveBytes--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>receiveBytes</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;&nbsp;receiveBytes()</pre>
+<div class="block">Create a stream of byte[] tuples from received WebSocket binary messages.
+ <p>
+ Note, the WebSocket protocol differentiates between text/String and
+ binary/byte messages.  This method only receives messages sent as bytes.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the stream</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/WebSocketClient.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/wsclient/WebSocketClient.html" target="_top">Frames</a></li>
+<li><a href="WebSocketClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/class-use/WebSocketClient.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/class-use/WebSocketClient.html
new file mode 100644
index 0000000..d363ffe
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/class-use/WebSocketClient.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.connectors.wsclient.WebSocketClient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.connectors.wsclient.WebSocketClient (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/wsclient/class-use/WebSocketClient.html" target="_top">Frames</a></li>
+<li><a href="WebSocketClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.connectors.wsclient.WebSocketClient" class="title">Uses of Interface<br>org.apache.edgent.connectors.wsclient.WebSocketClient</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
+<td class="colLast">
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient.javax.websocket">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a> in <a href="../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a> that implement <a href="../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></span></code>
+<div class="block">A connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/connectors/wsclient/class-use/WebSocketClient.html" target="_top">Frames</a></li>
+<li><a href="WebSocketClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html
new file mode 100644
index 0000000..440cf53
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html
@@ -0,0 +1,540 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Jsr356WebSocketClient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Jsr356WebSocketClient (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Jsr356WebSocketClient.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" target="_top">Frames</a></li>
+<li><a href="Jsr356WebSocketClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.connectors.wsclient.javax.websocket</div>
+<h2 title="Class Jsr356WebSocketClient" class="title">Class Jsr356WebSocketClient</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a>, <a href="../../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Jsr356WebSocketClient</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></pre>
+<div class="block">A connector for sending and receiving messages to a WebSocket Server.
+ <p>
+ A connector is bound to its configuration specified 
+ <code>javax.websockets</code> WebSocket URI.
+ <p> 
+ A single connector instance supports sinking at most one stream
+ and sourcing at most one stream.
+ <p>
+ Sample use:
+ <pre><code>
+ // assuming a properties file containing at least:
+ // ws.uri=ws://myWsServerHost/myService
+  
+ String propsPath = &lt;path to properties file&gt;; 
+ Properties properties = new Properties();
+ properties.load(Files.newBufferedReader(new File(propsPath).toPath()));
+
+ Topology t = ...;
+ Jsr356WebSocketClient wsclient = new Jsr356WebSocketClient(t, properties);
+ 
+ // send a stream's JsonObject tuples as JSON WebSocket text messages
+ TStream&lt;JsonObject&gt; s = ...;
+ wsclient.send(s);
+ 
+ // create a stream of JsonObject tuples from received JSON WebSocket text messages
+ TStream&lt;JsonObject&gt; r = wsclient.receive();
+ r.print();
+ </code></pre>
+ <p>
+ Note, the WebSocket protocol differentiates between text/String and 
+ binary/byte messages.
+ A receiver only receives the messages of the type that it requests.
+ <p>
+ The connector is written against the JSR356 <code>javax.websockets</code> API.
+ <code>javax.websockets</code> uses the <a href="http://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html?is-external=true" title="class or interface in java.util"><code>ServiceLoader</code></a> to load
+ an implementation of <code>javax.websocket.ContainerProvider</code>.
+ <p>
+ The supplied <code>connectors/javax.websocket-client</code> provides one
+ such implementation. To use it, include
+ <code>connectors/javax.websocket-client/lib/javax.websocket-client.jar</code>
+ on your classpath.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-">Jsr356WebSocketClient</a></span>(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config)</code>
+<div class="block">Create a new Web Socket Client connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.function.Supplier-">Jsr356WebSocketClient</a></span>(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config,
+                     <a href="../../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;javax.websocket.WebSocketContainer&gt;&nbsp;containerFn)</code>
+<div class="block">Create a new Web Socket Client connector.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#receive--">receive</a></span>()</code>
+<div class="block">Create a stream of JsonObject tuples from received JSON WebSocket text messages.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#receiveBytes--">receiveBytes</a></span>()</code>
+<div class="block">Create a stream of byte[] tuples from received WebSocket binary messages.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#receiveString--">receiveString</a></span>()</code>
+<div class="block">Create a stream of String tuples from received WebSocket text messages.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#send-org.apache.edgent.topology.TStream-">send</a></span>(<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's JsonObject tuples as JSON in a WebSocket text message.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendBytes-org.apache.edgent.topology.TStream-">sendBytes</a></span>(<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's byte[] tuples in a WebSocket binary message.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's String tuples in a WebSocket text message.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#topology--">topology</a></span>()</code>
+<div class="block">Topology this element is contained in.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Jsr356WebSocketClient</h4>
+<pre>public&nbsp;Jsr356WebSocketClient(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config)</pre>
+<div class="block">Create a new Web Socket Client connector.
+ <p>
+ Configuration parameters:
+ <ul>
+ <li>ws.uri - "ws://host[:port][/path]", "wss://host[:port][/path]"
+   the default port is 80 and 443 for "ws" and "wss" respectively.
+   The optional path must match the server's configuration.</li>
+ <li>ws.trustStore - optional. Only used with "wss:".
+     Path to trust store file in JKS format.
+     If not set, the standard JRE and javax.net.ssl system properties
+     control the SSL behavior.
+     Generally not required if server has a CA-signed certificate.</li>
+ <li>ws.trustStorePassword - required if ws.trustStore is set</li>
+ <li>ws.keyStore - optional. Only used with "wss:" when the
+     server is configured for client auth.
+     Path to key store file in JKS format.
+     If not set, the standard JRE and javax.net.ssl system properties
+     control the SSL behavior.</li>
+ <li>ws.keyStorePassword - required if ws.keyStore is set.</li>
+ <li>ws.keyPassword - defaults to ws.keyStorePassword value</li>
+ <li>ws.keyCertificateAlias - alias for certificate in key store. defaults to "default"</li>
+ </ul>
+ Additional keys in <code>config</code> are ignored.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>t</code> - the topology to add the connector to</dd>
+<dd><code>config</code> - the connector's configuration</dd>
+</dl>
+</li>
+</ul>
+<a name="Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Jsr356WebSocketClient</h4>
+<pre>public&nbsp;Jsr356WebSocketClient(<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config,
+                             <a href="../../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;javax.websocket.WebSocketContainer&gt;&nbsp;containerFn)</pre>
+<div class="block">Create a new Web Socket Client connector.
+ <p>
+ This constructor is made available in case the container created
+ by <a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-"><code>Jsr356WebSocketClient(Topology, Properties)</code></a>
+ lacks the configuration needed for a particular use case.
+ <p>
+ At topology runtime <code>containerFn.get()</code> will be called to
+ get a <code>javax.websocket.WebSocketContainer</code> that will be used to
+ connect to the WebSocket server.
+ <p>
+ Only the "ws.uri" <code>config</code> parameter is used.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>t</code> - the topology to add the connector to</dd>
+<dd><code>config</code> - the connector's configuration</dd>
+<dd><code>containerFn</code> - supplier for a <code>WebSocketContainer</code>.  May be null.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="send-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>send</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;&nbsp;send(<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream)</pre>
+<div class="block">Send a stream's JsonObject tuples as JSON in a WebSocket text message.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#send-org.apache.edgent.topology.TStream-">send</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the stream</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>sink</dd>
+</dl>
+</li>
+</ul>
+<a name="sendString-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sendString</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;sendString(<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</pre>
+<div class="block">Send a stream's String tuples in a WebSocket text message.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the stream</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>sink</dd>
+</dl>
+</li>
+</ul>
+<a name="sendBytes-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sendBytes</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;byte[]&gt;&nbsp;sendBytes(<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;&nbsp;stream)</pre>
+<div class="block">Send a stream's byte[] tuples in a WebSocket binary message.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendBytes-org.apache.edgent.topology.TStream-">sendBytes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the stream</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>sink</dd>
+</dl>
+</li>
+</ul>
+<a name="receive--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>receive</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;receive()</pre>
+<div class="block">Create a stream of JsonObject tuples from received JSON WebSocket text messages.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#receive--">receive</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the stream</dd>
+</dl>
+</li>
+</ul>
+<a name="receiveString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>receiveString</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;receiveString()</pre>
+<div class="block">Create a stream of String tuples from received WebSocket text messages.
+ <p>
+ Note, the WebSocket protocol differentiates between text/String and
+ binary/byte messages.  This method only receives messages sent as text.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#receiveString--">receiveString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the stream</dd>
+</dl>
+</li>
+</ul>
+<a name="receiveBytes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>receiveBytes</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;&nbsp;receiveBytes()</pre>
+<div class="block">Create a stream of byte[] tuples from received WebSocket binary messages.
+ <p>
+ Note, the WebSocket protocol differentiates between text/String and
+ binary/byte messages.  This method only receives messages sent as bytes.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#receiveBytes--">receiveBytes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the stream</dd>
+</dl>
+</li>
+</ul>
+<a name="topology--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>topology</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">TopologyElement</a></code></span></div>
+<div class="block">Topology this element is contained in.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Topology this element is contained in.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Jsr356WebSocketClient.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" target="_top">Frames</a></li>
+<li><a href="Jsr356WebSocketClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/class-use/Jsr356WebSocketClient.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/class-use/Jsr356WebSocketClient.html
new file mode 100644
index 0000000..300c7a6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/class-use/Jsr356WebSocketClient.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/edgent/connectors/wsclient/javax/websocket/class-use/Jsr356WebSocketClient.html" target="_top">Frames</a></li>
+<li><a href="Jsr356WebSocketClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient" class="title">Uses of Class<br>org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.connectors.wsclient.javax.websocket.Jsr356WebSocketClient</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/edgent/connectors/wsclient/javax/websocket/class-use/Jsr356WebSocketClient.html" target="_top">Frames</a></li>
+<li><a href="Jsr356WebSocketClient.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-frame.html
new file mode 100644
index 0000000..8cc2b50
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient.javax.websocket (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html" target="classFrame">org.apache.edgent.connectors.wsclient.javax.websocket</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket" target="classFrame">Jsr356WebSocketClient</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html
new file mode 100644
index 0000000..fd1efab
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient.javax.websocket (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.wsclient.javax.websocket (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/execution/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.wsclient.javax.websocket</h1>
+<div class="docSummary">
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></td>
+<td class="colLast">
+<div class="block">A connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.wsclient.javax.websocket Description">Package org.apache.edgent.connectors.wsclient.javax.websocket Description</h2>
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/execution/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html
new file mode 100644
index 0000000..3ed1ed2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient.javax.websocket Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.wsclient.javax.websocket Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/connectors/wsclient/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/edgent/execution/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.wsclient.javax.websocket</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.wsclient.javax.websocket.<a href="../../../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket"><span class="typeNameLink">Jsr356WebSocketClient</span></a> (implements org.apache.edgent.connectors.wsclient.<a href="../../../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/connectors/wsclient/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/edgent/execution/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-use.html
new file mode 100644
index 0000000..969fc20
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/javax/websocket/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.wsclient.javax.websocket (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.wsclient.javax.websocket (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/wsclient/javax/websocket/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.wsclient.javax.websocket" class="title">Uses of Package<br>org.apache.edgent.connectors.wsclient.javax.websocket</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.connectors.wsclient.javax.websocket</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/connectors/wsclient/javax/websocket/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-frame.html
new file mode 100644
index 0000000..a8e4c3c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html" target="classFrame">org.apache.edgent.connectors.wsclient</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient" target="classFrame"><span class="interfaceName">WebSocketClient</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-summary.html
new file mode 100644
index 0000000..91b5658
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-summary.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.wsclient (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/wsclient/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.connectors.wsclient</h1>
+<div class="docSummary">
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></td>
+<td class="colLast">
+<div class="block">A generic connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.connectors.wsclient Description">Package org.apache.edgent.connectors.wsclient Description</h2>
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/wsclient/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-tree.html
new file mode 100644
index 0000000..0a8ae50
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.connectors.wsclient Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.connectors.wsclient Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/serial/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/wsclient/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.connectors.wsclient</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TopologyElement</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.wsclient.<a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient"><span class="typeNameLink">WebSocketClient</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/connectors/serial/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/wsclient/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-use.html
new file mode 100644
index 0000000..a840655
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/connectors/wsclient/package-use.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.connectors.wsclient (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.connectors.wsclient (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/wsclient/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.connectors.wsclient" class="title">Uses of Package<br>org.apache.edgent.connectors.wsclient</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
+<td class="colLast">
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient.javax.websocket">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a> used by <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/connectors/wsclient/class-use/WebSocketClient.html#org.apache.edgent.connectors.wsclient.javax.websocket">WebSocketClient</a>
+<div class="block">A generic connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/connectors/wsclient/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/Configs.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/Configs.html
new file mode 100644
index 0000000..ee78e76
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/Configs.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Configs (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Configs (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Configs.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Configs.html" target="_top">Frames</a></li>
+<li><a href="Configs.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&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">org.apache.edgent.execution</div>
+<h2 title="Interface Configs" class="title">Interface Configs</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Configs</span></pre>
+<div class="block">Configuration property names.
+ 
+ Configuration is passed as a JSON collection of name/value
+ pairs when an executable is 
+ <a href="../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">submitted</a>.
+ <p>
+ The configuration JSON representation is summarized in the following table:
+ </p>
+ <table border=1 cellpadding=3 cellspacing=1>
+ <caption>Summary of configuration properties</caption>
+ <tr>
+    <th align=center><b>Attribute name</b></th>
+    <th align=center><b>Type</b></th>
+    <th align=center><b>Description</b></th>
+  </tr>
+ <tr>
+    <td><a href="../../../../org/apache/edgent/execution/Configs.html#JOB_NAME"><code>jobName</code></a></td>
+    <td>String</td>
+    <td>The name of the job.</td>
+  </tr>
+ </table></div>
+</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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Configs.html#JOB_NAME">JOB_NAME</a></span></code>
+<div class="block">JOB_NAME is used to identify the submission configuration property 
+ containing the job name.</div>
+</td>
+</tr>
+</table>
+</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="JOB_NAME">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JOB_NAME</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JOB_NAME</pre>
+<div class="block">JOB_NAME is used to identify the submission configuration property 
+ containing the job name.
+ The value is "jobName".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.edgent.execution.Configs.JOB_NAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Configs.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Configs.html" target="_top">Frames</a></li>
+<li><a href="Configs.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/DirectSubmitter.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/DirectSubmitter.html
new file mode 100644
index 0000000..e0c3fea
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/DirectSubmitter.html
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DirectSubmitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DirectSubmitter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectSubmitter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/DirectSubmitter.html" target="_top">Frames</a></li>
+<li><a href="DirectSubmitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution</div>
+<h2 title="Interface DirectSubmitter" class="title">Interface DirectSubmitter&lt;E,J extends <a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>E</code> - the executable type</dd>
+<dd><code>J</code> - the submitted executable's future</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;E,J&gt;</dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a>, <a href="../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>, <a href="../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">DirectSubmitter&lt;E,J extends <a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</span>
+extends <a href="../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;E,J&gt;</pre>
+<div class="block">An interface for submission of an executable
+ that is executed directly within the current
+ virtual machine.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/DirectSubmitter.html#getServices--">getServices</a></span>()</code>
+<div class="block">Access to services.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.execution.Submitter">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a></h3>
+<code><a href="../../../../org/apache/edgent/execution/Submitter.html#submit-E-">submit</a>, <a href="../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">submit</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getServices--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getServices</h4>
+<pre><a href="../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;getServices()</pre>
+<div class="block">Access to services.
+ 
+ Since any executables are executed directly within
+ the current virtual machine, callers may register
+ services that are visible to the executable
+ and its elements.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Service container for this submitter.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectSubmitter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/DirectSubmitter.html" target="_top">Frames</a></li>
+<li><a href="DirectSubmitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.Action.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.Action.html
new file mode 100644
index 0000000..19faa2e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.Action.html
@@ -0,0 +1,399 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Job.Action (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Job.Action (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Job.Action.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Job.Action.html" target="_top">Frames</a></li>
+<li><a href="Job.Action.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution</div>
+<h2 title="Enum Job.Action" class="title">Enum Job.Action</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.execution.Job.Action</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing interface:</dt>
+<dd><a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">Job.Action</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&gt;</pre>
+<div class="block">Actions which trigger <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><code>Job.State</code></a> transitions.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Action.html#CLOSE">CLOSE</a></span></code>
+<div class="block">Close the job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Action.html#INITIALIZE">INITIALIZE</a></span></code>
+<div class="block">Initialize the job</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Action.html#PAUSE">PAUSE</a></span></code>
+<div class="block">Pause the execution.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Action.html#RESUME">RESUME</a></span></code>
+<div class="block">Resume the execution</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Action.html#START">START</a></span></code>
+<div class="block">Start the execution.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Action.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Action.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="INITIALIZE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>INITIALIZE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a> INITIALIZE</pre>
+<div class="block">Initialize the job</div>
+</li>
+</ul>
+<a name="START">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>START</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a> START</pre>
+<div class="block">Start the execution.</div>
+</li>
+</ul>
+<a name="PAUSE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PAUSE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a> PAUSE</pre>
+<div class="block">Pause the execution.</div>
+</li>
+</ul>
+<a name="RESUME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RESUME</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a> RESUME</pre>
+<div class="block">Resume the execution</div>
+</li>
+</ul>
+<a name="CLOSE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CLOSE</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a> CLOSE</pre>
+<div class="block">Close the job.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Job.Action c : Job.Action.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Job.Action.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Job.Action.html" target="_top">Frames</a></li>
+<li><a href="Job.Action.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.Health.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.Health.html
new file mode 100644
index 0000000..c6c111b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.Health.html
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Job.Health (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Job.Health (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Job.Health.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Job.Health.html" target="_top">Frames</a></li>
+<li><a href="Job.Health.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution</div>
+<h2 title="Enum Job.Health" class="title">Enum Job.Health</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.execution.Job.Health</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing interface:</dt>
+<dd><a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">Job.Health</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&gt;</pre>
+<div class="block">Enumeration for the summarized health indicator of the graph nodes.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Health.html#HEALTHY">HEALTHY</a></span></code>
+<div class="block">All graph nodes in the job are healthy.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Health.html#UNHEALTHY">UNHEALTHY</a></span></code>
+<div class="block">The execution of at least one graph node in the job has stopped
+ because of an abnormal condition.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Health.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Health.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="HEALTHY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>HEALTHY</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a> HEALTHY</pre>
+<div class="block">All graph nodes in the job are healthy.</div>
+</li>
+</ul>
+<a name="UNHEALTHY">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UNHEALTHY</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a> UNHEALTHY</pre>
+<div class="block">The execution of at least one graph node in the job has stopped
+ because of an abnormal condition.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Job.Health c : Job.Health.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Job.Health.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Job.Health.html" target="_top">Frames</a></li>
+<li><a href="Job.Health.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.State.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.State.html
new file mode 100644
index 0000000..db3108d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.State.html
@@ -0,0 +1,399 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Job.State (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Job.State (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Job.State.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Job.State.html" target="_top">Frames</a></li>
+<li><a href="Job.State.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution</div>
+<h2 title="Enum Job.State" class="title">Enum Job.State</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.execution.Job.State</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing interface:</dt>
+<dd><a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">Job.State</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&gt;</pre>
+<div class="block">States of a graph job.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.State.html#CLOSED">CLOSED</a></span></code>
+<div class="block">All the graph nodes are closed.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.State.html#CONSTRUCTED">CONSTRUCTED</a></span></code>
+<div class="block">Initial state, the graph nodes are not yet initialized.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.State.html#INITIALIZED">INITIALIZED</a></span></code>
+<div class="block">All the graph nodes have been initialized.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.State.html#PAUSED">PAUSED</a></span></code>
+<div class="block">All the graph nodes are paused.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.State.html#RUNNING">RUNNING</a></span></code>
+<div class="block">All the graph nodes are processing data.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.State.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.State.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="CONSTRUCTED">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CONSTRUCTED</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a> CONSTRUCTED</pre>
+<div class="block">Initial state, the graph nodes are not yet initialized.</div>
+</li>
+</ul>
+<a name="INITIALIZED">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>INITIALIZED</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a> INITIALIZED</pre>
+<div class="block">All the graph nodes have been initialized.</div>
+</li>
+</ul>
+<a name="RUNNING">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RUNNING</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a> RUNNING</pre>
+<div class="block">All the graph nodes are processing data.</div>
+</li>
+</ul>
+<a name="PAUSED">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PAUSED</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a> PAUSED</pre>
+<div class="block">All the graph nodes are paused.</div>
+</li>
+</ul>
+<a name="CLOSED">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CLOSED</h4>
+<pre>public static final&nbsp;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a> CLOSED</pre>
+<div class="block">All the graph nodes are closed.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (Job.State c : Job.State.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Job.State.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Job.State.html" target="_top">Frames</a></li>
+<li><a href="Job.State.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.html
new file mode 100644
index 0000000..3b10900
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/Job.html
@@ -0,0 +1,483 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Job (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Job (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Job.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Job.html" target="_top">Frames</a></li>
+<li><a href="Job.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution</div>
+<h2 title="Interface Job" class="title">Interface Job</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a>, <a href="../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Job</span></pre>
+<div class="block">Actions and states for execution of an Edgent job.
+ 
+ The interface provides the main job lifecycle control, taking on the following 
+ execution state values:
+
+ <ul>
+ <li><b>CONSTRUCTED</b>  This job has been constructed but the 
+      nodes are not yet initialized.</li>
+ <li><b>INITIALIZED</b>  This job has been initialized and is 
+      ready to process data.
+ <li><b>RUNNING</b>  This job is processing data.</li>
+ <li><b>PAUSED</b>  This job is paused.</li>
+ <li><b>CLOSED</b>  This job is closed.</li>
+ </ul>
+ 
+ The interface provides access to two state values:
+ <ul>
+ <li> <a href="../../../../org/apache/edgent/execution/Job.html#getCurrentState--"><code>Current</code></a> - The current state of execution 
+      when the job is not executing a state transition; the source state
+      while the job is making a state transition after the client code 
+      calls <a href="../../../../org/apache/edgent/execution/Job.html#stateChange-org.apache.edgent.execution.Job.Action-"><code>stateChange(Job.Action)</code></a>.</li>
+ <li> <a href="../../../../org/apache/edgent/execution/Job.html#getNextState--"><code>Next</code></a> - The destination state while the job 
+      is making a state transition; same as the current state while 
+      the job state is stable (that is, not making a transition).</LI>
+ </ul>
+ 
+ The interface provides access to the job nodes 
+ <a href="../../../../org/apache/edgent/execution/Job.html#getHealth--">health summary</a>, described by the following values:
+ <ul>
+ <li><b>HEALTHY</b>  All graph nodes in the job are healthy.</li>
+ <li><b>UNHEALTHY</b>  At least one graph node in the job is stopped or 
+      stopping.</li>
+ </ul></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></span></code>
+<div class="block">Actions which trigger <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><code>Job.State</code></a> transitions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></span></code>
+<div class="block">Enumeration for the summarized health indicator of the graph nodes.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></span></code>
+<div class="block">States of a graph job.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#complete--">complete</a></span>()</code>
+<div class="block">Waits for any outstanding job work to complete.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#complete-long-java.util.concurrent.TimeUnit-">complete</a></span>(long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Waits for at most the specified time for the job to complete.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#getCurrentState--">getCurrentState</a></span>()</code>
+<div class="block">Retrieves the current state of this job.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#getHealth--">getHealth</a></span>()</code>
+<div class="block">Returns the summarized health indicator of the graph nodes.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#getId--">getId</a></span>()</code>
+<div class="block">Returns the identifier of this job.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#getLastError--">getLastError</a></span>()</code>
+<div class="block">Returns the last error message caught by the current job execution.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#getName--">getName</a></span>()</code>
+<div class="block">Returns the name of this job.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#getNextState--">getNextState</a></span>()</code>
+<div class="block">Retrieves the next execution state when this job makes a state 
+ transition.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Job.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></span>(<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</code>
+<div class="block">Initiates an execution state change.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getCurrentState--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentState</h4>
+<pre><a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;getCurrentState()</pre>
+<div class="block">Retrieves the current state of this job.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the current state.</dd>
+</dl>
+</li>
+</ul>
+<a name="getNextState--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNextState</h4>
+<pre><a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;getNextState()</pre>
+<div class="block">Retrieves the next execution state when this job makes a state 
+ transition.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the destination state while in a state transition; 
+      otherwise the same as <a href="../../../../org/apache/edgent/execution/Job.html#getCurrentState--"><code>getCurrentState()</code></a>.</dd>
+</dl>
+</li>
+</ul>
+<a name="stateChange-org.apache.edgent.execution.Job.Action-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stateChange</h4>
+<pre>void&nbsp;stateChange(<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)
+          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
+<div class="block">Initiates an execution state change.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>action</code> - which triggers the state change.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the job is not in an appropriate 
+      state for the requested action, or the action is not supported.</dd>
+</dl>
+</li>
+</ul>
+<a name="getHealth--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHealth</h4>
+<pre><a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&nbsp;getHealth()</pre>
+<div class="block">Returns the summarized health indicator of the graph nodes.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the summarized Job node health.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastError</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLastError()</pre>
+<div class="block">Returns the last error message caught by the current job execution.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the last error message or an empty string if no error has 
+      been caught.</dd>
+</dl>
+</li>
+</ul>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block">Returns the name of this job. The name may be set when the job is 
+ <a href="../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">submitted</a>.
+ Implementations may create a job name if one is not specified at submit time.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the job name.</dd>
+</dl>
+</li>
+</ul>
+<a name="getId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getId</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
+<div class="block">Returns the identifier of this job.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this job identifier.</dd>
+</dl>
+</li>
+</ul>
+<a name="complete--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>complete</h4>
+<pre>void&nbsp;complete()
+       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block">Waits for any outstanding job work to complete.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if the job execution threw an exception.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the current thread was interrupted while waiting</dd>
+</dl>
+</li>
+</ul>
+<a name="complete-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>complete</h4>
+<pre>void&nbsp;complete(long&nbsp;timeout,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
+       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></pre>
+<div class="block">Waits for at most the specified time for the job to complete.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeout</code> - the time to wait</dd>
+<dd><code>unit</code> - the time unit of the timeout argument</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if the job execution threw an exception.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the current thread was interrupted while waiting</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></code> - if the wait timed out</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Job.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Job.html" target="_top">Frames</a></li>
+<li><a href="Job.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/Submitter.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/Submitter.html
new file mode 100644
index 0000000..6f768c0
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/Submitter.html
@@ -0,0 +1,281 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Submitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Submitter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Submitter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Submitter.html" target="_top">Frames</a></li>
+<li><a href="Submitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution</div>
+<h2 title="Interface Submitter" class="title">Interface Submitter&lt;E,J extends <a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>E</code> - the executable type</dd>
+<dd><code>J</code> - the submitted executable's future</dd>
+</dl>
+<dl>
+<dt>All Known Subinterfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;E,J&gt;</dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a>, <a href="../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>, <a href="../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Submitter&lt;E,J extends <a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</span></pre>
+<div class="block">An interface for submission of an executable.
+ <p>
+ The class implementing this interface is responsible
+ for the semantics of this operation.  e.g., an direct topology
+ provider would run the topology as threads in the current jvm.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Submitter.html#submit-E-">submit</a></span>(<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">E</a>&nbsp;executable)</code>
+<div class="block">Submit an executable.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">E</a>&nbsp;executable,
+      com.google.gson.JsonObject&nbsp;config)</code>
+<div class="block">Submit an executable.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="submit-java.lang.Object-">
+<!--   -->
+</a><a name="submit-E-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submit</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;&nbsp;submit(<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">E</a>&nbsp;executable)</pre>
+<div class="block">Submit an executable.
+ No configuration options are specified,
+ this is equivalent to <code>submit(executable, new JsonObject())</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>executable</code> - executable to submit</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a future for the submitted executable</dd>
+</dl>
+</li>
+</ul>
+<a name="submit-java.lang.Object-com.google.gson.JsonObject-">
+<!--   -->
+</a><a name="submit-E-com.google.gson.JsonObject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>submit</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">J</a>&gt;&nbsp;submit(<a href="../../../../org/apache/edgent/execution/Submitter.html" title="type parameter in Submitter">E</a>&nbsp;executable,
+                 com.google.gson.JsonObject&nbsp;config)</pre>
+<div class="block">Submit an executable.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>executable</code> - executable to submit</dd>
+<dd><code>config</code> - context <a href="../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">information</a> for the submission</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a future for the submitted executable</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Submitter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/Submitter.html" target="_top">Frames</a></li>
+<li><a href="Submitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Configs.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Configs.html
new file mode 100644
index 0000000..14a290d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Configs.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.Configs (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.execution.Configs (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Configs.html" target="_top">Frames</a></li>
+<li><a href="Configs.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.execution.Configs" class="title">Uses of Interface<br>org.apache.edgent.execution.Configs</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.execution.Configs</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Configs.html" target="_top">Frames</a></li>
+<li><a href="Configs.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/DirectSubmitter.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/DirectSubmitter.html
new file mode 100644
index 0000000..158d62c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/DirectSubmitter.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 (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.DirectSubmitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.execution.DirectSubmitter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/DirectSubmitter.html" target="_top">Frames</a></li>
+<li><a href="DirectSubmitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.execution.DirectSubmitter" class="title">Uses of Interface<br>org.apache.edgent.execution.DirectSubmitter</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.runtime">org.apache.edgent.apps.runtime</a></td>
+<td class="colLast">
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.development">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.apps.runtime">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a> in <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">JobMonitorApp</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+             <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
+ context of the specified provider.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.development">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a> in <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a> that implement <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></span></code>
+<div class="block">Provider intended for development.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a> in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> that implement <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></span></code>
+<div class="block"><code>DirectProvider</code> is a <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> that
+ runs a submitted topology as a <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> in threads
+ in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a> in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> that implement <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></span></code>
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a> in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</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="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AppService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#createAndRegister-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-">createAndRegister</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+                 <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter)</code>
+<div class="block">Create an register an application service using the default alias <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS"><code>ApplicationService.ALIAS</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">AppService</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+          <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
+<div class="block">Create an <code>ApplicationService</code> instance.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/DirectSubmitter.html" target="_top">Frames</a></li>
+<li><a href="DirectSubmitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.Action.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.Action.html
new file mode 100644
index 0000000..9baab30
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.Action.html
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.Job.Action (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.execution.Job.Action (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Job.Action.html" target="_top">Frames</a></li>
+<li><a href="Job.Action.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.execution.Job.Action" class="title">Uses of Class<br>org.apache.edgent.execution.Job.Action</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution">org.apache.edgent.execution</a></td>
+<td class="colLast">
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution.mbeans">org.apache.edgent.execution.mbeans</a></td>
+<td class="colLast">
+<div class="block">Management MBeans for execution.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi.execution">org.apache.edgent.graph.spi.execution</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.execution">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a> in <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> that return <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</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="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Job.Action.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.Action.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Job.Action.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.Action.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Job.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</code>
+<div class="block">Initiates an execution state change.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.execution.mbeans">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a> in <a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobMXBean.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</code>
+<div class="block">Initiates an execution state change.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi.execution">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a> in <a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraphJob.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">EtiaoJob.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">EtiaoJobBean.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Job.Action.html" target="_top">Frames</a></li>
+<li><a href="Job.Action.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.Health.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.Health.html
new file mode 100644
index 0000000..41eeed2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.Health.html
@@ -0,0 +1,266 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.Job.Health (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.execution.Job.Health (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Job.Health.html" target="_top">Frames</a></li>
+<li><a href="Job.Health.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.execution.Job.Health" class="title">Uses of Class<br>org.apache.edgent.execution.Job.Health</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution">org.apache.edgent.execution</a></td>
+<td class="colLast">
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution.mbeans">org.apache.edgent.execution.mbeans</a></td>
+<td class="colLast">
+<div class="block">Management MBeans for execution.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi.execution">org.apache.edgent.graph.spi.execution</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.execution">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a> in <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> that return <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Job.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.html#getHealth--">getHealth</a></span>()</code>
+<div class="block">Returns the summarized health indicator of the graph nodes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Job.Health.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.Health.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Job.Health.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.Health.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.execution.mbeans">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a> in <a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a> that return <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
+<td class="colLast"><span class="typeNameLabel">JobMXBean.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getHealth--">getHealth</a></span>()</code>
+<div class="block">Returns the summarized health indicator of the job.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi.execution">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a> in <a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a> that return <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraphJob.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getHealth--">getHealth</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</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>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraphJob.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setHealth-org.apache.edgent.execution.Job.Health-">setHealth</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&nbsp;value)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a> that return <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EtiaoJobBean.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getHealth--">getHealth</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Job.Health.html" target="_top">Frames</a></li>
+<li><a href="Job.Health.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.State.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.State.html
new file mode 100644
index 0000000..a30bf2c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.State.html
@@ -0,0 +1,288 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.Job.State (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.execution.Job.State (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Job.State.html" target="_top">Frames</a></li>
+<li><a href="Job.State.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.execution.Job.State" class="title">Uses of Class<br>org.apache.edgent.execution.Job.State</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution">org.apache.edgent.execution</a></td>
+<td class="colLast">
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution.mbeans">org.apache.edgent.execution.mbeans</a></td>
+<td class="colLast">
+<div class="block">Management MBeans for execution.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi.execution">org.apache.edgent.graph.spi.execution</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.execution">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a> in <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> that return <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Job.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.html#getCurrentState--">getCurrentState</a></span>()</code>
+<div class="block">Retrieves the current state of this job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Job.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.html#getNextState--">getNextState</a></span>()</code>
+<div class="block">Retrieves the next execution state when this job makes a state 
+ transition.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Job.State.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.State.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">Job.State.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Job.State.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.execution.mbeans">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a> in <a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a> that return <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><span class="typeNameLabel">JobMXBean.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getCurrentState--">getCurrentState</a></span>()</code>
+<div class="block">Retrieves the current state of the job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><span class="typeNameLabel">JobMXBean.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getNextState--">getNextState</a></span>()</code>
+<div class="block">Retrieves the next execution state when the job makes a state 
+ transition.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi.execution">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a> in <a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a> that return <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraphJob.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getCurrentState--">getCurrentState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraphJob.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getNextState--">getNextState</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</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>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraphJob.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setNextState-org.apache.edgent.execution.Job.State-">setNextState</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;value)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a> that return <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EtiaoJobBean.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getCurrentState--">getCurrentState</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EtiaoJobBean.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getNextState--">getNextState</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Job.State.html" target="_top">Frames</a></li>
+<li><a href="Job.State.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.html
new file mode 100644
index 0000000..5a4eb7c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Job.html
@@ -0,0 +1,650 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.Job (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.execution.Job (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Job.html" target="_top">Frames</a></li>
+<li><a href="Job.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.execution.Job" class="title">Uses of Interface<br>org.apache.edgent.execution.Job</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.runtime">org.apache.edgent.apps.runtime</a></td>
+<td class="colLast">
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution">org.apache.edgent.execution</a></td>
+<td class="colLast">
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution.services">org.apache.edgent.execution.services</a></td>
+<td class="colLast">
+<div class="block">Execution services.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi.execution">org.apache.edgent.graph.spi.execution</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.development">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.tester">org.apache.edgent.topology.spi.tester</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
+<td class="colLast">
+<div class="block">Testing for a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.apps.runtime">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a> that return <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><span class="typeNameLabel">JobMonitorApp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#submit--">submit</a></span>()</code>
+<div class="block">Submits the application topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a> with type arguments of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">JobMonitorApp</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+             <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
+ context of the specified provider.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.execution">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> with type parameters of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;E,J extends <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</span></code>
+<div class="block">An interface for submission of an executable
+ that is executed directly within the current
+ virtual machine.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;E,J extends <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</span></code>
+<div class="block">An interface for submission of an executable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.execution.services">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> that return <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJob-java.lang.String-">getJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>
+<div class="block">Returns a job given its identifier.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addJob-org.apache.edgent.execution.Job-">addJob</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</code>
+<div class="block">Adds the specified job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#updateJob-org.apache.edgent.execution.Job-">updateJob</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</code>
+<div class="block">Notifies listeners that the specified registered job has 
+ been updated.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> with type arguments of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addListener-org.apache.edgent.function.BiConsumer-">addListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
+<div class="block">Adds a handler to a collection of listeners that will be notified
+ on job registration and state changes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
+<div class="block">Removes a handler from this registry's collection of listeners.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi.execution">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a> that implement <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></span></code>
+<div class="block">Placeholder for a skeletal implementation of the <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.development">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DevelopmentProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      com.google.gson.JsonObject&nbsp;config)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      com.google.gson.JsonObject&nbsp;config)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
+<div class="block">Submit an executable.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      com.google.gson.JsonObject&nbsp;config)</code>
+<div class="block">Submit an executable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> with type arguments of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> with type arguments of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</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="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AppService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#createAndRegister-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-">createAndRegister</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+                 <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter)</code>
+<div class="block">Create an register an application service using the default alias <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS"><code>ApplicationService.ALIAS</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> with type arguments of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">AppService</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+          <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
+<div class="block">Create an <code>ApplicationService</code> instance.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that implement <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></span></code>
+<div class="block">Etiao runtime implementation of the <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that return <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Executable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#createJob-org.apache.edgent.graph.Graph-java.lang.String-java.lang.String-">createJob</a></span>(<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> that return <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#getJob-java.lang.String-">getJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#addJob-org.apache.edgent.execution.Job-">addJob</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#updateJob-org.apache.edgent.execution.Job-">updateJob</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> with type arguments of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#addListener-org.apache.edgent.function.BiConsumer-">addListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JobEvents.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html#source-org.apache.edgent.topology.Topology-org.apache.edgent.function.BiFunction-">source</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>,T&gt;&nbsp;wrapper)</code>
+<div class="block">Declares a stream populated by <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a> events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a> that return <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#getJob--">getJob</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a> with type arguments of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</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>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete</a></span>(<a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+        com.google.gson.JsonObject&nbsp;config,
+        <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+        long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a> in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> that return <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#getJob--">getJob</a></span>()</code>
+<div class="block">Get the <code>Job</code> reference for the topology submitted by <code>complete()</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> with type arguments of type <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</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>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete</a></span>(<a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+        com.google.gson.JsonObject&nbsp;config,
+        <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+        long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Submit the topology for this tester and wait for it to complete, or reach
+ an end condition.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Job.html" target="_top">Frames</a></li>
+<li><a href="Job.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Submitter.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Submitter.html
new file mode 100644
index 0000000..7225a17
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/class-use/Submitter.html
@@ -0,0 +1,311 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.Submitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.execution.Submitter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Submitter.html" target="_top">Frames</a></li>
+<li><a href="Submitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.execution.Submitter" class="title">Uses of Interface<br>org.apache.edgent.execution.Submitter</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution">org.apache.edgent.execution</a></td>
+<td class="colLast">
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.development">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.tester">org.apache.edgent.topology.spi.tester</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
+<td class="colLast">
+<div class="block">Testing for a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.execution">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a> in <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a> in <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;E,J extends <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</span></code>
+<div class="block">An interface for submission of an executable
+ that is executed directly within the current
+ virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.development">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a> in <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a> that implement <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></span></code>
+<div class="block">Provider intended for development.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a> in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> that implement <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></span></code>
+<div class="block"><code>DirectProvider</code> is a <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> that
+ runs a submitted topology as a <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> in threads
+ in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a> in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> that implement <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></span></code>
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a> in <a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</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>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete</a></span>(<a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+        com.google.gson.JsonObject&nbsp;config,
+        <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+        long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a> in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> with parameters of type <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</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>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete</a></span>(<a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+        com.google.gson.JsonObject&nbsp;config,
+        <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+        long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Submit the topology for this tester and wait for it to complete, or reach
+ an end condition.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/class-use/Submitter.html" target="_top">Frames</a></li>
+<li><a href="Submitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/JobMXBean.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/JobMXBean.html
new file mode 100644
index 0000000..d9d3a70
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/JobMXBean.html
@@ -0,0 +1,445 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JobMXBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobMXBean.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/mbeans/JobMXBean.html" target="_top">Frames</a></li>
+<li><a href="JobMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution.mbeans</div>
+<h2 title="Interface JobMXBean" class="title">Interface JobMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">JobMXBean</span></pre>
+<div class="block">Control interface for a job.</div>
+</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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#TYPE">TYPE</a></span></code>
+<div class="block">TYPE is used to identify this bean as a job bean when building the bean's <code>ObjectName</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getCurrentState--">getCurrentState</a></span>()</code>
+<div class="block">Retrieves the current state of the job.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getHealth--">getHealth</a></span>()</code>
+<div class="block">Returns the summarized health indicator of the job.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getId--">getId</a></span>()</code>
+<div class="block">Returns the identifier of the job.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getLastError--">getLastError</a></span>()</code>
+<div class="block">Returns the last error message caught by the current job execution.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getName--">getName</a></span>()</code>
+<div class="block">Returns the name of the job.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getNextState--">getNextState</a></span>()</code>
+<div class="block">Retrieves the next execution state when the job makes a state 
+ transition.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#graphSnapshot--">graphSnapshot</a></span>()</code>
+<div class="block">Takes a current snapshot of the running graph and returns it in JSON format.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</code>
+<div class="block">Initiates an execution state change.</div>
+</td>
+</tr>
+</table>
+</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="TYPE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TYPE</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE</pre>
+<div class="block">TYPE is used to identify this bean as a job bean when building the bean's <code>ObjectName</code>.
+ The value is "job"</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.execution.mbeans.JobMXBean.TYPE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getId</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
+<div class="block">Returns the identifier of the job.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the job identifier.</dd>
+</dl>
+</li>
+</ul>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block">Returns the name of the job.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the job name.</dd>
+</dl>
+</li>
+</ul>
+<a name="getCurrentState--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentState</h4>
+<pre><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;getCurrentState()</pre>
+<div class="block">Retrieves the current state of the job.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the current state.</dd>
+</dl>
+</li>
+</ul>
+<a name="getNextState--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNextState</h4>
+<pre><a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;getNextState()</pre>
+<div class="block">Retrieves the next execution state when the job makes a state 
+ transition.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the destination state while in a state transition.</dd>
+</dl>
+</li>
+</ul>
+<a name="getHealth--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHealth</h4>
+<pre><a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&nbsp;getHealth()</pre>
+<div class="block">Returns the summarized health indicator of the job.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the summarized Job health.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastError</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLastError()</pre>
+<div class="block">Returns the last error message caught by the current job execution.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the last error message or an empty string if no error has 
+      been caught.</dd>
+</dl>
+</li>
+</ul>
+<a name="graphSnapshot--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>graphSnapshot</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;graphSnapshot()</pre>
+<div class="block">Takes a current snapshot of the running graph and returns it in JSON format.
+ <p>
+ <b>The graph snapshot JSON format</b>
+ <p>
+ The top-level object contains two properties: 
+ <ul>
+ <li><code>vertices</code>: Array of JSON objects representing the graph vertices.</li>
+ <li><code>edges</code>: Array of JSON objects representing the graph edges (an edge joins two vertices).</li>
+ </ul>
+ The vertex object contains the following properties:
+ <ul>
+ <li><code>id</code>: Unique identifier within a graph's JSON representation.</li>
+ <li><code>instance</code>: The oplet instance from the vertex.</li>
+ </ul>
+ The edge object contains the following properties:
+ <ul>
+ <li><code>sourceId</code>: The identifier of the source vertex.</li>
+ <li><code>sourceOutputPort</code>: The identifier of the source oplet output port connected to the edge.</li>
+ <li><code>targetId</code>: The identifier of the target vertex.</li>
+ <li><code>targetInputPort</code>: The identifier of the target oplet input port connected to the edge.</li>
+ </ul></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a JSON-formatted string representing the running graph.</dd>
+</dl>
+</li>
+</ul>
+<a name="stateChange-org.apache.edgent.execution.Job.Action-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>stateChange</h4>
+<pre>void&nbsp;stateChange(<a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</pre>
+<div class="block">Initiates an execution state change.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>action</code> - which triggers the state change.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the job is not in an appropriate 
+      state for the requested action, or the action is not supported.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobMXBean.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/mbeans/JobMXBean.html" target="_top">Frames</a></li>
+<li><a href="JobMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/PeriodMXBean.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/PeriodMXBean.html
new file mode 100644
index 0000000..6b463fd
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/PeriodMXBean.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PeriodMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PeriodMXBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PeriodMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/mbeans/PeriodMXBean.html" target="_top">Frames</a></li>
+<li><a href="PeriodMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution.mbeans</div>
+<h2 title="Interface PeriodMXBean" class="title">Interface PeriodMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>, <a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">PeriodMXBean</span></pre>
+<div class="block">Control mbean interface for an entity having an a time period control.
+ <P>
+ This mbean lacks a <code>TYPE</code> declaration because it's
+ a generic control interface applicable to a variety of
+ object types (e.g., a stream or window).
+ The type of the associated object is to be used when
+ registering instances of this mbean with the
+ <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>.
+ </P>
+ 
+ See <code>org.apache.edgent.topology.Topology.poll(org.apache.edgent.function.Supplier, long, TimeUnit)</code></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--">getPeriod</a></span>()</code>
+<div class="block">Get the period.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getUnit--">getUnit</a></span>()</code>
+<div class="block">Get the time unit for <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--"><code>getPeriod()</code></a>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-">setPeriod</a></span>(long&nbsp;period)</code>
+<div class="block">Set the period.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod</a></span>(long&nbsp;period,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Set the period and unit</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getPeriod--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeriod</h4>
+<pre>long&nbsp;getPeriod()</pre>
+<div class="block">Get the period.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>period</dd>
+</dl>
+</li>
+</ul>
+<a name="getUnit--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getUnit</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;getUnit()</pre>
+<div class="block">Get the time unit for <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--"><code>getPeriod()</code></a>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>time unit</dd>
+</dl>
+</li>
+</ul>
+<a name="setPeriod-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPeriod</h4>
+<pre>void&nbsp;setPeriod(long&nbsp;period)</pre>
+<div class="block">Set the period.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>period</code> - the period</dd>
+</dl>
+</li>
+</ul>
+<a name="setPeriod-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setPeriod</h4>
+<pre>void&nbsp;setPeriod(long&nbsp;period,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Set the period and unit</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>period</code> - the period</dd>
+<dd><code>unit</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a> of <code>period</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PeriodMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/mbeans/PeriodMXBean.html" target="_top">Frames</a></li>
+<li><a href="PeriodMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/class-use/JobMXBean.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/class-use/JobMXBean.html
new file mode 100644
index 0000000..8a817bf
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/class-use/JobMXBean.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.mbeans.JobMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.execution.mbeans.JobMXBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/mbeans/class-use/JobMXBean.html" target="_top">Frames</a></li>
+<li><a href="JobMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.execution.mbeans.JobMXBean" class="title">Uses of Interface<br>org.apache.edgent.execution.mbeans.JobMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a> that implement <a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></span></code>
+<div class="block">Implementation of a control interface for the <code>EtiaoJob</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/mbeans/class-use/JobMXBean.html" target="_top">Frames</a></li>
+<li><a href="JobMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/class-use/PeriodMXBean.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/class-use/PeriodMXBean.html
new file mode 100644
index 0000000..c274d80
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/class-use/PeriodMXBean.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.mbeans.PeriodMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.execution.mbeans.PeriodMXBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/mbeans/class-use/PeriodMXBean.html" target="_top">Frames</a></li>
+<li><a href="PeriodMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.execution.mbeans.PeriodMXBean" class="title">Uses of Interface<br>org.apache.edgent.execution.mbeans.PeriodMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a> in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> that implement <a href="../../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> that implement <a href="../../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/mbeans/class-use/PeriodMXBean.html" target="_top">Frames</a></li>
+<li><a href="PeriodMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-frame.html
new file mode 100644
index 0000000..a6369be
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html" target="classFrame">org.apache.edgent.execution.mbeans</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans" target="classFrame"><span class="interfaceName">JobMXBean</span></a></li>
+<li><a href="PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans" target="classFrame"><span class="interfaceName">PeriodMXBean</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-summary.html
new file mode 100644
index 0000000..459f265
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-summary.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 (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.execution.mbeans (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/mbeans/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.execution.mbeans</h1>
+<div class="docSummary">
+<div class="block">Management MBeans for execution.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></td>
+<td class="colLast">
+<div class="block">Control interface for a job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></td>
+<td class="colLast">
+<div class="block">Control mbean interface for an entity having an a time period control.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.execution.mbeans Description">Package org.apache.edgent.execution.mbeans Description</h2>
+<div class="block">Management MBeans for execution.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/mbeans/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-tree.html
new file mode 100644
index 0000000..ade00f5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-tree.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.execution.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/mbeans/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.execution.mbeans</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.execution.mbeans.<a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="typeNameLink">JobMXBean</span></a></li>
+<li type="circle">org.apache.edgent.execution.mbeans.<a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="typeNameLink">PeriodMXBean</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/mbeans/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-use.html
new file mode 100644
index 0000000..ddcf38c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/mbeans/package-use.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.execution.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.execution.mbeans (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/mbeans/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.execution.mbeans" class="title">Uses of Package<br>org.apache.edgent.execution.mbeans</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a> used by <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/mbeans/class-use/PeriodMXBean.html#org.apache.edgent.oplet.core">PeriodMXBean</a>
+<div class="block">Control mbean interface for an entity having an a time period control.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a> used by <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/mbeans/class-use/PeriodMXBean.html#org.apache.edgent.oplet.functional">PeriodMXBean</a>
+<div class="block">Control mbean interface for an entity having an a time period control.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a> used by <a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/mbeans/class-use/JobMXBean.html#org.apache.edgent.runtime.etiao.mbeans">JobMXBean</a>
+<div class="block">Control interface for a job.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/mbeans/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/package-frame.html
new file mode 100644
index 0000000..8153de5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/package-frame.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../org/apache/edgent/execution/package-summary.html" target="classFrame">org.apache.edgent.execution</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="Configs.html" title="interface in org.apache.edgent.execution" target="classFrame"><span class="interfaceName">Configs</span></a></li>
+<li><a href="DirectSubmitter.html" title="interface in org.apache.edgent.execution" target="classFrame"><span class="interfaceName">DirectSubmitter</span></a></li>
+<li><a href="Job.html" title="interface in org.apache.edgent.execution" target="classFrame"><span class="interfaceName">Job</span></a></li>
+<li><a href="Submitter.html" title="interface in org.apache.edgent.execution" target="classFrame"><span class="interfaceName">Submitter</span></a></li>
+</ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="Job.Action.html" title="enum in org.apache.edgent.execution" target="classFrame">Job.Action</a></li>
+<li><a href="Job.Health.html" title="enum in org.apache.edgent.execution" target="classFrame">Job.Health</a></li>
+<li><a href="Job.State.html" title="enum in org.apache.edgent.execution" target="classFrame">Job.State</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/package-summary.html
new file mode 100644
index 0000000..ac78e92
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/package-summary.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.execution (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/execution/mbeans/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.execution</h1>
+<div class="docSummary">
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">Configs</a></td>
+<td class="colLast">
+<div class="block">Configuration property names.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;E,J extends <a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</td>
+<td class="colLast">
+<div class="block">An interface for submission of an executable
+ that is executed directly within the current
+ virtual machine.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></td>
+<td class="colLast">
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;E,J extends <a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</td>
+<td class="colLast">
+<div class="block">An interface for submission of an executable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
+<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Enum</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a></td>
+<td class="colLast">
+<div class="block">Actions which trigger <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><code>Job.State</code></a> transitions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></td>
+<td class="colLast">
+<div class="block">Enumeration for the summarized health indicator of the graph nodes.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></td>
+<td class="colLast">
+<div class="block">States of a graph job.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.execution Description">Package org.apache.edgent.execution Description</h2>
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/execution/mbeans/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/package-tree.html
new file mode 100644
index 0000000..94dd274
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/package-tree.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.execution Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/execution/mbeans/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.execution</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Configs</span></a></li>
+<li type="circle">org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Job</span></a></li>
+<li type="circle">org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Submitter</span></a>&lt;E,J&gt;
+<ul>
+<li type="circle">org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">DirectSubmitter</span></a>&lt;E,J&gt;</li>
+</ul>
+</li>
+</ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.State</span></a></li>
+<li type="circle">org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.Health</span></a></li>
+<li type="circle">org.apache.edgent.execution.<a href="../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.Action</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/execution/mbeans/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/package-use.html
new file mode 100644
index 0000000..758a1e8
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/package-use.html
@@ -0,0 +1,575 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.execution (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.execution" class="title">Uses of Package<br>org.apache.edgent.execution</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.runtime">org.apache.edgent.apps.runtime</a></td>
+<td class="colLast">
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution">org.apache.edgent.execution</a></td>
+<td class="colLast">
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution.mbeans">org.apache.edgent.execution.mbeans</a></td>
+<td class="colLast">
+<div class="block">Management MBeans for execution.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution.services">org.apache.edgent.execution.services</a></td>
+<td class="colLast">
+<div class="block">Execution services.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi.execution">org.apache.edgent.graph.spi.execution</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.development">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.tester">org.apache.edgent.topology.spi.tester</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
+<td class="colLast">
+<div class="block">Testing for a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.apps.runtime">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/DirectSubmitter.html#org.apache.edgent.apps.runtime">DirectSubmitter</a>
+<div class="block">An interface for submission of an executable
+ that is executed directly within the current
+ virtual machine.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.apps.runtime">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.execution">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.execution">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.Action.html#org.apache.edgent.execution">Job.Action</a>
+<div class="block">Actions which trigger <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><code>Job.State</code></a> transitions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.Health.html#org.apache.edgent.execution">Job.Health</a>
+<div class="block">Enumeration for the summarized health indicator of the graph nodes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.State.html#org.apache.edgent.execution">Job.State</a>
+<div class="block">States of a graph job.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Submitter.html#org.apache.edgent.execution">Submitter</a>
+<div class="block">An interface for submission of an executable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.execution.mbeans">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.Action.html#org.apache.edgent.execution.mbeans">Job.Action</a>
+<div class="block">Actions which trigger <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><code>Job.State</code></a> transitions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.Health.html#org.apache.edgent.execution.mbeans">Job.Health</a>
+<div class="block">Enumeration for the summarized health indicator of the graph nodes.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.State.html#org.apache.edgent.execution.mbeans">Job.State</a>
+<div class="block">States of a graph job.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.execution.services">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.execution.services">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi.execution">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.graph.spi.execution">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.Action.html#org.apache.edgent.graph.spi.execution">Job.Action</a>
+<div class="block">Actions which trigger <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><code>Job.State</code></a> transitions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.Health.html#org.apache.edgent.graph.spi.execution">Job.Health</a>
+<div class="block">Enumeration for the summarized health indicator of the graph nodes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.State.html#org.apache.edgent.graph.spi.execution">Job.State</a>
+<div class="block">States of a graph job.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.development">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/DirectSubmitter.html#org.apache.edgent.providers.development">DirectSubmitter</a>
+<div class="block">An interface for submission of an executable
+ that is executed directly within the current
+ virtual machine.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.providers.development">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Submitter.html#org.apache.edgent.providers.development">Submitter</a>
+<div class="block">An interface for submission of an executable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/DirectSubmitter.html#org.apache.edgent.providers.direct">DirectSubmitter</a>
+<div class="block">An interface for submission of an executable
+ that is executed directly within the current
+ virtual machine.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.providers.direct">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Submitter.html#org.apache.edgent.providers.direct">Submitter</a>
+<div class="block">An interface for submission of an executable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/DirectSubmitter.html#org.apache.edgent.providers.iot">DirectSubmitter</a>
+<div class="block">An interface for submission of an executable
+ that is executed directly within the current
+ virtual machine.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.providers.iot">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Submitter.html#org.apache.edgent.providers.iot">Submitter</a>
+<div class="block">An interface for submission of an executable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/DirectSubmitter.html#org.apache.edgent.runtime.appservice">DirectSubmitter</a>
+<div class="block">An interface for submission of an executable
+ that is executed directly within the current
+ virtual machine.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.runtime.appservice">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.runtime.etiao">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.Action.html#org.apache.edgent.runtime.etiao">Job.Action</a>
+<div class="block">Actions which trigger <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><code>Job.State</code></a> transitions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.Action.html#org.apache.edgent.runtime.etiao.mbeans">Job.Action</a>
+<div class="block">Actions which trigger <a href="../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><code>Job.State</code></a> transitions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.Health.html#org.apache.edgent.runtime.etiao.mbeans">Job.Health</a>
+<div class="block">Enumeration for the summarized health indicator of the graph nodes.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.State.html#org.apache.edgent.runtime.etiao.mbeans">Job.State</a>
+<div class="block">States of a graph job.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.runtime.jobregistry">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.tester">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.topology.spi.tester">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Submitter.html#org.apache.edgent.topology.spi.tester">Submitter</a>
+<div class="block">An interface for submission of an executable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.tester">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> used by <a href="../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Job.html#org.apache.edgent.topology.tester">Job</a>
+<div class="block">Actions and states for execution of an Edgent job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/execution/class-use/Submitter.html#org.apache.edgent.topology.tester">Submitter</a>
+<div class="block">An interface for submission of an executable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/execution/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/ControlService.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/ControlService.html
new file mode 100644
index 0000000..f65f519
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/ControlService.html
@@ -0,0 +1,385 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ControlService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ControlService.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/ControlService.html" target="_top">Frames</a></li>
+<li><a href="ControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution.services</div>
+<h2 title="Interface ControlService" class="title">Interface ControlService</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a>, <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ControlService</span></pre>
+<div class="block">Service that provides a control mechanism.
+ <BR>
+ The control service allows applications and Edgent itself to
+ register control interfaces generically. The style of a control interface
+ is similar to a JMX Management Bean (MBean), specifically a JMX MXBean.
+ <BR>
+ No dependency is created on any JMX interface to allow running on systems
+ that do not support JMX, such as Android.
+ <P>
+ Different implementations of the control service provide the mechanism
+ to execute methods of the control interfaces. For example
+ <code>JMXControlService</code>
+ registers the MBeans in the JMX platform MBean server.
+ <BR>
+ The control service is intended to allow remote execution of a control interface
+ through any mechanism. The control service provides operations and attributes
+ similar to JMX. It does not provide notifications.
+ </P>
+ <P>
+ An instance of a control service MBean is defined by its:
+ </P>
+ <UL>
+ <LI> A type </LI>
+ <LI> A identifier - Unique within the current execution context.</LI>
+ <LI> An alias - Optional, but can be combined with the control MBeans's type 
+ to logically identify a control MBean. </LI>
+ <LI> A Java interface - This defines what operations can be executed
+ against the control MBean.</LI>
+ </UL>
+ <P>
+ A remote system should be able to specify an operation on an
+ control server MBean though its alias and type. For example
+ an application might be submitted with a fixed name
+ <em>PumpAnalytics</em> (as its alias)
+ to allow its <a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><code>JobMXBean</code></a>
+ to be determined remotely using a combination of
+ <a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#TYPE"><code>JobMXBean.TYPE</code></a>
+ and <em>PumpAnalytics</em>.
+ </P>
+ <P>
+ Control service implementations may be limited in their capabilities,
+ for example when using the JMX control service the full capabilities
+ of JMX can be used, such as complex types in a control service MBean interface.
+ Portable applications would limit themselves to a smaller subset of
+ capabilities, such as only primitive types and enums.
+ <BR>
+ The method <a href="../../../../../org/apache/edgent/execution/services/Controls.html#isControlServiceMBean-java.lang.Class-"><code>Controls.isControlServiceMBean(Class)</code></a> defines
+ the minimal supported interface for any control service.
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
+<div class="block">Return a control Mbean registered with this service.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
+<div class="block">Return the unique identifier for a control Mbean registered with 
+ this service.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
+               T&nbsp;control)</code>
+<div class="block">Register a control MBean.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#unregister-java.lang.String-">unregister</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</code>
+<div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>registerControl(String, String, String, Class, Object)</code></a></div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-java.lang.Object-">
+<!--   -->
+</a><a name="registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerControl</h4>
+<pre>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;registerControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
+                           T&nbsp;control)</pre>
+<div class="block">Register a control MBean.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Control MBean type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - Type of the control MBean.</dd>
+<dd><code>id</code> - Unique identifier for the control MBean.</dd>
+<dd><code>alias</code> - Alias for the control MBean. Required to be unique within the context
+            of <code>type</code>.</dd>
+<dd><code>controlInterface</code> - Public interface for the control MBean.</dd>
+<dd><code>control</code> - The control MBean</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unique identifier that can be used to unregister an control MBean.</dd>
+</dl>
+</li>
+</ul>
+<a name="unregister-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregister</h4>
+<pre>void&nbsp;unregister(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</pre>
+<div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>registerControl(String, String, String, Class, Object)</code></a></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>controlId</code> - control's registration identifier returned by <code>registerControl</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getControl-java.lang.String-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getControl</h4>
+<pre>&lt;T&gt;&nbsp;T&nbsp;getControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
+<div class="block">Return a control Mbean registered with this service.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Control MBean type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - Type of the control MBean.</dd>
+<dd><code>alias</code> - Alias for the control MBean.</dd>
+<dd><code>controlInterface</code> - Public interface of the control MBean.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Control Mbean or null if a matching MBean is not registered.</dd>
+</dl>
+</li>
+</ul>
+<a name="getControlId-java.lang.String-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getControlId</h4>
+<pre>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getControlId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
+<div class="block">Return the unique identifier for a control Mbean registered with 
+ this service.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Control MBean type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - Type of the control MBean.</dd>
+<dd><code>alias</code> - Alias for the control MBean.</dd>
+<dd><code>controlInterface</code> - Public interface of the control MBean.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unique identifier that can be used to unregister a control 
+              MBean or null if a matching MBean is not registered.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ControlService.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/ControlService.html" target="_top">Frames</a></li>
+<li><a href="ControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/Controls.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/Controls.html
new file mode 100644
index 0000000..d1be903
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/Controls.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Controls (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Controls (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Controls.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/Controls.html" target="_top">Frames</a></li>
+<li><a href="Controls.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.execution.services</div>
+<h2 title="Class Controls" class="title">Class Controls</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.execution.services.Controls</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Controls</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Utilities for the control service.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a></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="memberSummary" 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><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/Controls.html#JOB_HOLD_AFTER_CLOSE_SECS">JOB_HOLD_AFTER_CLOSE_SECS</a></span></code>
+<div class="block">Number of seconds a <a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><code>JobMXBean</code></a>
+ control is held registered with the <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a> after a job
+ gets closed.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/Controls.html#Controls--">Controls</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/Controls.html#isControlServiceMBean-java.lang.Class-">isControlServiceMBean</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;controlInterface)</code>
+<div class="block">Test to see if an interface represents a valid
+ control service MBean.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="JOB_HOLD_AFTER_CLOSE_SECS">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JOB_HOLD_AFTER_CLOSE_SECS</h4>
+<pre>public static final&nbsp;int JOB_HOLD_AFTER_CLOSE_SECS</pre>
+<div class="block">Number of seconds a <a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><code>JobMXBean</code></a>
+ control is held registered with the <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a> after a job
+ gets closed.  After this period the bean gets unregistered from the 
+ service.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.execution.services.Controls.JOB_HOLD_AFTER_CLOSE_SECS">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="Controls--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Controls</h4>
+<pre>public&nbsp;Controls()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isControlServiceMBean-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>isControlServiceMBean</h4>
+<pre>public static&nbsp;boolean&nbsp;isControlServiceMBean(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;controlInterface)</pre>
+<div class="block">Test to see if an interface represents a valid
+ control service MBean.
+ All implementations of <code>ControlService</code>
+ must support control MBeans for which this
+ method returns true.
+ <BR>
+ An interface is a valid control service MBean if
+ all of the following are true:
+ <UL>
+ <LI>An interface that does not extend any other interface.</LI>
+ <LI>Not be parameterized</LI>
+ <LI>Method parameters and return types restricted to these types:
+ <UL>
+ <LI><code>String, boolean, int, long, double</code>.</LI>
+ <LI>Any enumeration</LI>
+ </UL> 
+ </UL></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>controlInterface</code> - class of the control interface</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>True</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Controls.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/Controls.html" target="_top">Frames</a></li>
+<li><a href="Controls.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/JobRegistryService.EventType.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/JobRegistryService.EventType.html
new file mode 100644
index 0000000..445eabd
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/JobRegistryService.EventType.html
@@ -0,0 +1,369 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobRegistryService.EventType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JobRegistryService.EventType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobRegistryService.EventType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/JobRegistryService.EventType.html" target="_top">Frames</a></li>
+<li><a href="JobRegistryService.EventType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution.services</div>
+<h2 title="Enum JobRegistryService.EventType" class="title">Enum JobRegistryService.EventType</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">java.lang.Enum</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.execution.services.JobRegistryService.EventType</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Enclosing interface:</dt>
+<dd><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static enum <span class="typeNameLabel">JobRegistryService.EventType</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&gt;</pre>
+<div class="block">Job event types.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#ADD">ADD</a></span></code>
+<div class="block">A Job has been added to the registry.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#REMOVE">REMOVE</a></span></code>
+<div class="block">A Job has been removed from the registry.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#UPDATE">UPDATE</a></span></code>
+<div class="block">A registered Job has been updated.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#compareTo-E-" title="class or interface in java.lang">compareTo</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#getDeclaringClass--" title="class or interface in java.lang">getDeclaringClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#name--" title="class or interface in java.lang">name</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#ordinal--" title="class or interface in java.lang">ordinal</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true#valueOf-java.lang.Class-java.lang.String-" title="class or interface in java.lang">valueOf</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="ADD">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ADD</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a> ADD</pre>
+<div class="block">A Job has been added to the registry.</div>
+</li>
+</ul>
+<a name="REMOVE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>REMOVE</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a> REMOVE</pre>
+<div class="block">A Job has been removed from the registry.</div>
+</li>
+</ul>
+<a name="UPDATE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UPDATE</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a> UPDATE</pre>
+<div class="block">A registered Job has been updated.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (JobRegistryService.EventType c : JobRegistryService.EventType.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>&nbsp;valueOf(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if this enum type has no constant with the specified name</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobRegistryService.EventType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/JobRegistryService.EventType.html" target="_top">Frames</a></li>
+<li><a href="JobRegistryService.EventType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/JobRegistryService.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/JobRegistryService.html
new file mode 100644
index 0000000..2d0523b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/JobRegistryService.html
@@ -0,0 +1,417 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobRegistryService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JobRegistryService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobRegistryService.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/JobRegistryService.html" target="_top">Frames</a></li>
+<li><a href="JobRegistryService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution.services</div>
+<h2 title="Interface JobRegistryService" class="title">Interface JobRegistryService</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">JobRegistryService</span></pre>
+<div class="block">Job registry service. 
+ <p>
+ Keeps the list of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> instances registered by the runtime and 
+ provides the necessary methods to register and remove jobs, access 
+ registered jobs, as well as register listeners which are notified on job 
+ registrations, removals, and updates.
+ The following event types are sent to registered listeners:
+ </p>
+ <ul>
+ <li>An <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#ADD"><code>JobRegistryService.EventType.ADD</code></a> event is sent when a job is added.</li>
+ <li>An <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#REMOVE"><code>JobRegistryService.EventType.REMOVE</code></a> event is sent when a job is removed.</li>
+ <li>An <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#UPDATE"><code>JobRegistryService.EventType.UPDATE</code></a> event is sent when a job is updated.</li>
+ </ul>
+ <h3>Event dispatch</h3>
+ If a listener invocation throws an Exception, then the exception
+ will not prevent the remaining listeners from being invoked. However, 
+ if the invocation throws an Error, then it is recommended that 
+ the event dispatch stop.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></span></code>
+<div class="block">Job event types.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addJob-org.apache.edgent.execution.Job-">addJob</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</code>
+<div class="block">Adds the specified job.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addListener-org.apache.edgent.function.BiConsumer-">addListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
+<div class="block">Adds a handler to a collection of listeners that will be notified
+ on job registration and state changes.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJob-java.lang.String-">getJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>
+<div class="block">Returns a job given its identifier.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJobIds--">getJobIds</a></span>()</code>
+<div class="block">Returns a set of all the registered job identifiers.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeJob-java.lang.String-">removeJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId)</code>
+<div class="block">Removes the job specified by the given identifier.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
+<div class="block">Removes a handler from this registry's collection of listeners.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#updateJob-org.apache.edgent.execution.Job-">updateJob</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</code>
+<div class="block">Notifies listeners that the specified registered job has 
+ been updated.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="addListener-org.apache.edgent.function.BiConsumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addListener</h4>
+<pre>void&nbsp;addListener(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)
+          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
+<div class="block">Adds a handler to a collection of listeners that will be notified
+ on job registration and state changes.  Listeners will be notified 
+ in the order in which they are added.
+ <p>
+ A listener is notified of all existing jobs when it is first added.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listener</code> - the listener that will be added</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the listener parameter is 
+      <code>null</code></dd>
+</dl>
+</li>
+</ul>
+<a name="removeListener-org.apache.edgent.function.BiConsumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeListener</h4>
+<pre>boolean&nbsp;removeListener(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</pre>
+<div class="block">Removes a handler from this registry's collection of listeners.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listener</code> - the listener that will be removed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether or not the listener has been removed</dd>
+</dl>
+</li>
+</ul>
+<a name="getJobIds--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJobIds</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getJobIds()</pre>
+<div class="block">Returns a set of all the registered job identifiers.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the identifiers of all the jobs</dd>
+</dl>
+</li>
+</ul>
+<a name="getJob-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJob</h4>
+<pre><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;getJob(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</pre>
+<div class="block">Returns a job given its identifier.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>id</code> - job identifier</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the job or <code>null</code> if no job is registered with that 
+      identifier.</dd>
+</dl>
+</li>
+</ul>
+<a name="addJob-org.apache.edgent.execution.Job-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addJob</h4>
+<pre>void&nbsp;addJob(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)
+     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
+<div class="block">Adds the specified job.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>job</code> - the job to register</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if a job is null, or if a job with 
+      the same identifier is already registered</dd>
+</dl>
+</li>
+</ul>
+<a name="removeJob-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeJob</h4>
+<pre>boolean&nbsp;removeJob(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId)</pre>
+<div class="block">Removes the job specified by the given identifier.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jobId</code> - the identifier of the job to remove</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether or not the job was removed</dd>
+</dl>
+</li>
+</ul>
+<a name="updateJob-org.apache.edgent.execution.Job-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>updateJob</h4>
+<pre>boolean&nbsp;updateJob(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</pre>
+<div class="block">Notifies listeners that the specified registered job has 
+ been updated.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>job</code> - the job</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether or not the job was found in the registry</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobRegistryService.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/JobRegistryService.html" target="_top">Frames</a></li>
+<li><a href="JobRegistryService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/RuntimeServices.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/RuntimeServices.html
new file mode 100644
index 0000000..ab084bf
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/RuntimeServices.html
@@ -0,0 +1,281 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>RuntimeServices (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="RuntimeServices (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RuntimeServices.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/RuntimeServices.html" target="_top">Frames</a></li>
+<li><a href="RuntimeServices.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution.services</div>
+<h2 title="Interface RuntimeServices" class="title">Interface RuntimeServices</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Subinterfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;I,O&gt;</dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a>, <a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a>, <a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">RuntimeServices</span></pre>
+<div class="block">At runtime a container provides services to
+ executing elements such as oplets and functions.
+ 
+ <P>
+ Services, providers and applications can optionally store
+ preferences (configuration information) using a <code>java.util.pref.Preferences</code>
+ instance registered as a service. Any provider may optionally register
+ a root <code>Preferences</code> node. Once a provider registers
+ a <code>Preferences</code> node, preferences will
+ be saved across reboots of the provider and/or JVM if the underlying
+ <code>Preferences</code> implementation supports it.
+ 
+ <BR>
+ Services and application code can store keys
+ in the root <code>Preferences</code> node or create child nodes
+ as required.
+ <pre>
+ <code>
+ Preferences prefs = rs.getService(Preferences.class);
+ if (prefs != null) {
+     prefs.put("threshold", 3);
+ }
+ </code>
+ </pre></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html#getService-java.lang.Class-">getService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
+<div class="block">Get a service for this invocation.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getService-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getService</h4>
+<pre>&lt;T&gt;&nbsp;T&nbsp;getService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
+<div class="block">Get a service for this invocation.
+ <P>
+ These services must be provided by all implementations:
+ </P>
+ <UL>
+ <LI>
+ <code>java.util.concurrent.ThreadFactory</code> - Thread factory, runtime code should
+ create new threads using this factory.
+ </LI>
+ <LI>
+ <code>java.util.concurrent.ScheduledExecutorService</code> - Scheduler, runtime code should
+ execute asynchronous and repeating tasks using this scheduler. 
+ </LI>
+ </UL></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - service class type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceClass</code> - Type of the service required.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Service of type implementing <code>serviceClass</code> if the 
+      container this invocation runs in supports that service, 
+      otherwise <code>null</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RuntimeServices.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/RuntimeServices.html" target="_top">Frames</a></li>
+<li><a href="RuntimeServices.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/ServiceContainer.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/ServiceContainer.html
new file mode 100644
index 0000000..4cd8698
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/ServiceContainer.html
@@ -0,0 +1,416 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ServiceContainer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ServiceContainer (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ServiceContainer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/ServiceContainer.html" target="_top">Frames</a></li>
+<li><a href="ServiceContainer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.execution.services</div>
+<h2 title="Class ServiceContainer" class="title">Class ServiceContainer</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.execution.services.ServiceContainer</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ServiceContainer</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Provides a container for services.
+ <p>
+ The current implementation does not downcast the provided service class
+ when searching for an appropriate service implementation.  For example:
+ <pre>
+   class Derived extends Base {}
+ 
+   serviceContainer.add(Derived.class, instanceOfDerived);
+ 
+   // Searching for the base class returns null
+   assert(null == serviceContainer.get(Base.class, instanceOfDerived));
+ </pre></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#ServiceContainer--">ServiceContainer</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#addCleaner-org.apache.edgent.function.BiConsumer-">addCleaner</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;cleaner)</code>
+<div class="block">Registers a new cleaner.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#addService-java.lang.Class-T-">addService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass,
+          T&nbsp;service)</code>
+<div class="block">Adds the specified service to this <code>ServiceContainer</code>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#cleanOplet-java.lang.String-java.lang.String-">cleanOplet</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;elementId)</code>
+<div class="block">Invokes all the registered cleaners in the context of the specified 
+ job and element.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#getService-java.lang.Class-">getService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
+<div class="block">Returns the service to which the specified service class key is
+ mapped, or <code>null</code> if this <code>ServiceContainer</code> contains no 
+ service for that key.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#removeService-java.lang.Class-">removeService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
+<div class="block">Removes the specified service from this <code>ServiceContainer</code>.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ServiceContainer--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ServiceContainer</h4>
+<pre>public&nbsp;ServiceContainer()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="addService-java.lang.Class-java.lang.Object-">
+<!--   -->
+</a><a name="addService-java.lang.Class-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addService</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;addService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass,
+                        T&nbsp;service)</pre>
+<div class="block">Adds the specified service to this <code>ServiceContainer</code>.
+ <p>
+ Associates the specified service with the service class.  If the 
+ container has previously contained a service for the class, 
+ the old value is replaced by the specified value.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - service class type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceClass</code> - the class of service to add.</dd>
+<dd><code>service</code> - service to add to this container.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the previous value associated with <code>serviceClass</code>, or
+         <code>null</code> if there was no registered mapping.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the specified service class or 
+         service is null.</dd>
+</dl>
+</li>
+</ul>
+<a name="removeService-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeService</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;removeService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
+<div class="block">Removes the specified service from this <code>ServiceContainer</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - service class type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceClass</code> - the class of service to remove.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the service previously associated with the service class, or
+         <code>null</code> if there was no registered service.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html?is-external=true" title="class or interface in java.lang">NullPointerException</a></code> - if the specified service class is null.</dd>
+</dl>
+</li>
+</ul>
+<a name="getService-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getService</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
+<div class="block">Returns the service to which the specified service class key is
+ mapped, or <code>null</code> if this <code>ServiceContainer</code> contains no 
+ service for that key.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - service class type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceClass</code> - the class whose associated service is to be returned</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the service instance mapped to the specified service class, or
+         <code>null</code> if no service is registered for the class.</dd>
+</dl>
+</li>
+</ul>
+<a name="addCleaner-org.apache.edgent.function.BiConsumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addCleaner</h4>
+<pre>public&nbsp;void&nbsp;addCleaner(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;cleaner)</pre>
+<div class="block">Registers a new cleaner.
+ <p>
+ A cleaner is a hook which is invoked when the runtime
+ closes an element of <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a>.
+ When an element of job is closed <code>cleaner.accept(jobId, elementId)</code>
+ is called where <code>jobId</code> is the <a href="../../../../../org/apache/edgent/execution/Job.html#getId--"><code>job identifier</code></a> and
+ <code>elementId</code> is the unique identifier for the element.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cleaner</code> - The cleaner.</dd>
+</dl>
+</li>
+</ul>
+<a name="cleanOplet-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>cleanOplet</h4>
+<pre>public&nbsp;void&nbsp;cleanOplet(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+                       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;elementId)</pre>
+<div class="block">Invokes all the registered cleaners in the context of the specified 
+ job and element.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jobId</code> - The job identifier.</dd>
+<dd><code>elementId</code> - The element identifier.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ServiceContainer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/ServiceContainer.html" target="_top">Frames</a></li>
+<li><a href="ServiceContainer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/ControlService.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/ControlService.html
new file mode 100644
index 0000000..6c78fd2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/ControlService.html
@@ -0,0 +1,283 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.services.ControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.execution.services.ControlService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/ControlService.html" target="_top">Frames</a></li>
+<li><a href="ControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.execution.services.ControlService" class="title">Uses of Interface<br>org.apache.edgent.execution.services.ControlService</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.runtime">org.apache.edgent.apps.runtime</a></td>
+<td class="colLast">
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jmxcontrol">org.apache.edgent.runtime.jmxcontrol</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jsoncontrol">org.apache.edgent.runtime.jsoncontrol</a></td>
+<td class="colLast">
+<div class="block">Control service that takes a Json message and invokes
+ an operation on a control service MBean.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.apps.runtime">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a> in <a href="../../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a> with parameters of type <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</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 void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobMonitorApp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#closeJob-java.lang.String-org.apache.edgent.execution.services.ControlService-">closeJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName,
+        <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</code>
+<div class="block">Closes a job using a <code>JobMXBean</code> control registered with the 
+ specified <code>ControlService</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobMonitorApp.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#submitApplication-java.lang.String-org.apache.edgent.execution.services.ControlService-">submitApplication</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                 <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;controlService)</code>
+<div class="block">Submits an application using an <code>ApplicationServiceMXBean</code> control 
+ registered with the specified <code>ControlService</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a> with parameters of type <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</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="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EtiaoJobBean.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#registerControl-org.apache.edgent.execution.services.ControlService-org.apache.edgent.runtime.etiao.EtiaoJob-">registerControl</a></span>(<a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;cs,
+               <a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a>&nbsp;job)</code>
+<div class="block">Factory method which creates an <code>EtiaoJobBean</code> instance to
+ control the specified <code>EtiaoJob</code> and registers it with the 
+ specified <code>ControlService</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jmxcontrol">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a> in <a href="../../../../../../org/apache/edgent/runtime/jmxcontrol/package-summary.html">org.apache.edgent.runtime.jmxcontrol</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/runtime/jmxcontrol/package-summary.html">org.apache.edgent.runtime.jmxcontrol</a> that implement <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></span></code>
+<div class="block">Control service that registers control objects
+ as MBeans in a JMX server.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jsoncontrol">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a> in <a href="../../../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">org.apache.edgent.runtime.jsoncontrol</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">org.apache.edgent.runtime.jsoncontrol</a> that implement <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></span></code>
+<div class="block">Control service that accepts control instructions as JSON objects.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a> in <a href="../../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> with parameters of type <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html#StreamScopeRegistryBean-org.apache.edgent.streamscope.StreamScopeRegistry-org.apache.edgent.execution.services.ControlService-">StreamScopeRegistryBean</a></span>(<a href="../../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a>&nbsp;rgy,
+                       <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;cs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/ControlService.html" target="_top">Frames</a></li>
+<li><a href="ControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/Controls.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/Controls.html
new file mode 100644
index 0000000..8bc0236
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/Controls.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.services.Controls (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.execution.services.Controls (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/Controls.html" target="_top">Frames</a></li>
+<li><a href="Controls.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.execution.services.Controls" class="title">Uses of Class<br>org.apache.edgent.execution.services.Controls</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.execution.services.Controls</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/Controls.html" target="_top">Frames</a></li>
+<li><a href="Controls.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/JobRegistryService.EventType.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/JobRegistryService.EventType.html
new file mode 100644
index 0000000..9ecc655
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/JobRegistryService.EventType.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.services.JobRegistryService.EventType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.execution.services.JobRegistryService.EventType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/JobRegistryService.EventType.html" target="_top">Frames</a></li>
+<li><a href="JobRegistryService.EventType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.execution.services.JobRegistryService.EventType" class="title">Uses of Class<br>org.apache.edgent.execution.services.JobRegistryService.EventType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution.services">org.apache.edgent.execution.services</a></td>
+<td class="colLast">
+<div class="block">Execution services.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.execution.services">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a> in <a href="../../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> that return <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</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="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.EventType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>[]</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.EventType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> with type arguments of type <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addListener-org.apache.edgent.function.BiConsumer-">addListener</a></span>(<a href="../../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
+<div class="block">Adds a handler to a collection of listeners that will be notified
+ on job registration and state changes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener</a></span>(<a href="../../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
+<div class="block">Removes a handler from this registry's collection of listeners.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a> in <a href="../../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> with type arguments of type <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#addListener-org.apache.edgent.function.BiConsumer-">addListener</a></span>(<a href="../../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener</a></span>(<a href="../../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JobEvents.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html#source-org.apache.edgent.topology.Topology-org.apache.edgent.function.BiFunction-">source</a></span>(<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      <a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>,T&gt;&nbsp;wrapper)</code>
+<div class="block">Declares a stream populated by <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a> events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/JobRegistryService.EventType.html" target="_top">Frames</a></li>
+<li><a href="JobRegistryService.EventType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/JobRegistryService.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/JobRegistryService.html
new file mode 100644
index 0000000..5fb6a60
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/JobRegistryService.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.services.JobRegistryService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.execution.services.JobRegistryService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/JobRegistryService.html" target="_top">Frames</a></li>
+<li><a href="JobRegistryService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.execution.services.JobRegistryService" class="title">Uses of Interface<br>org.apache.edgent.execution.services.JobRegistryService</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a> in <a href="../../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> that implement <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></span></code>
+<div class="block">Maintains a set of registered jobs and a set of listeners.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> that return <a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</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="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#createAndRegister-org.apache.edgent.execution.services.ServiceContainer-">createAndRegister</a></span>(<a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services)</code>
+<div class="block">Creates and registers a <a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><code>JobRegistry</code></a> with the given service 
+ container.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/JobRegistryService.html" target="_top">Frames</a></li>
+<li><a href="JobRegistryService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/RuntimeServices.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/RuntimeServices.html
new file mode 100644
index 0000000..fcf87f8
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/RuntimeServices.html
@@ -0,0 +1,301 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.execution.services.RuntimeServices (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.execution.services.RuntimeServices (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/RuntimeServices.html" target="_top">Frames</a></li>
+<li><a href="RuntimeServices.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.execution.services.RuntimeServices" class="title">Uses of Interface<br>org.apache.edgent.execution.services.RuntimeServices</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet">org.apache.edgent.oplet</a></td>
+<td class="colLast">
+<div class="block">Oplets API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a> in <a href="../../../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a> in <a href="../../../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;I,O&gt;</span></code>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a> in <a href="../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> that return types with arguments of type <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectTopology.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html#getRuntimeServiceSupplier--">getRuntimeServiceSupplier</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that implement <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a>&lt;I,O&gt;</span></code>
+<div class="block">Provides a skeletal implementation of the <a href="../../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><code>OpletContext</code></a>
+ interface.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></span></code>
+<div class="block">Executes and provides runtime services to the executable graph 
+ elements (oplets and functions).</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a>&lt;I,O&gt;</span></code>
+<div class="block">Context information for the <code>Oplet</code>'s execution context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with parameters of type <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Invocation.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/Invocation.html#initialize-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-">initialize</a></span>(<a href="../../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+          <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services)</code>
+<div class="block">Initialize the invocation.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with parameters of type <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#AbstractContext-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-">AbstractContext</a></span>(<a href="../../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+               <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                 <a href="../../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+                 <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
+                 int&nbsp;inputCount,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
+<div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a> in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> that return types with arguments of type <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/Topology.html#getRuntimeServiceSupplier--">getRuntimeServiceSupplier</a></span>()</code>
+<div class="block">Return a function that at execution time
+ will return a <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><code>RuntimeServices</code></a> instance
+ a stream function can use.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/RuntimeServices.html" target="_top">Frames</a></li>
+<li><a href="RuntimeServices.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/ServiceContainer.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/ServiceContainer.html
new file mode 100644
index 0000000..543c73e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/class-use/ServiceContainer.html
@@ -0,0 +1,360 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.execution.services.ServiceContainer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.execution.services.ServiceContainer (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/ServiceContainer.html" target="_top">Frames</a></li>
+<li><a href="ServiceContainer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.execution.services.ServiceContainer" class="title">Uses of Class<br>org.apache.edgent.execution.services.ServiceContainer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution">org.apache.edgent.execution</a></td>
+<td class="colLast">
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics">org.apache.edgent.metrics</a></td>
+<td class="colLast">
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.execution">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a> in <a href="../../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a> that return <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DirectSubmitter.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/execution/DirectSubmitter.html#getServices--">getServices</a></span>()</code>
+<div class="block">Access to services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a> in <a href="../../../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a> with parameters of type <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</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="../../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/MetricsSetup.html#withRegistry-org.apache.edgent.execution.services.ServiceContainer-com.codahale.metrics.MetricRegistry-">withRegistry</a></span>(<a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services,
+            com.codahale.metrics.MetricRegistry&nbsp;registry)</code>
+<div class="block">Returns a new <a href="../../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><code>MetricsSetup</code></a> for configuring metrics.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a> in <a href="../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> that return <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html#getServices--">getServices</a></span>()</code>
+<div class="block">Access to services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a> in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> that return <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#getServices--">getServices</a></span>()</code>
+<div class="block">Access to services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with parameters of type <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">Executable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+          <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices)</code>
+<div class="block">Creates a new <code>Executable</code> for the specified job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-java.util.concurrent.ThreadFactory-">Executable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+          <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threads)</code>
+<div class="block">Creates a new <code>Executable</code> for the specified topology name, which uses the 
+ given thread factory to create new threads for oplet execution.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> with parameters of type <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#DirectGraph-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">DirectGraph</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
+           <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;container)</code>
+<div class="block">Creates a new <code>DirectGraph</code> instance underlying the specified 
+ topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a> in <a href="../../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> with parameters of type <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</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="../../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#createAndRegister-org.apache.edgent.execution.services.ServiceContainer-">createAndRegister</a></span>(<a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services)</code>
+<div class="block">Creates and registers a <a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><code>JobRegistry</code></a> with the given service 
+ container.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a> in <a href="../../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> with parameters of type <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</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 void</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScopeSetup.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/StreamScopeSetup.html#register-org.apache.edgent.execution.services.ServiceContainer-">register</a></span>(<a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services)</code>
+<div class="block">Perform the registrations needed to use the streamscope package.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/execution/services/class-use/ServiceContainer.html" target="_top">Frames</a></li>
+<li><a href="ServiceContainer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-frame.html
new file mode 100644
index 0000000..5109522
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-frame.html
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/execution/services/package-summary.html" target="classFrame">org.apache.edgent.execution.services</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="ControlService.html" title="interface in org.apache.edgent.execution.services" target="classFrame"><span class="interfaceName">ControlService</span></a></li>
+<li><a href="JobRegistryService.html" title="interface in org.apache.edgent.execution.services" target="classFrame"><span class="interfaceName">JobRegistryService</span></a></li>
+<li><a href="RuntimeServices.html" title="interface in org.apache.edgent.execution.services" target="classFrame"><span class="interfaceName">RuntimeServices</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Controls.html" title="class in org.apache.edgent.execution.services" target="classFrame">Controls</a></li>
+<li><a href="ServiceContainer.html" title="class in org.apache.edgent.execution.services" target="classFrame">ServiceContainer</a></li>
+</ul>
+<h2 title="Enums">Enums</h2>
+<ul title="Enums">
+<li><a href="JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services" target="classFrame">JobRegistryService.EventType</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-summary.html
new file mode 100644
index 0000000..fd3137c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-summary.html
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.execution.services (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.execution.services</h1>
+<div class="docSummary">
+<div class="block">Execution services.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></td>
+<td class="colLast">
+<div class="block">Service that provides a control mechanism.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></td>
+<td class="colLast">
+<div class="block">Job registry service.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></td>
+<td class="colLast">
+<div class="block">At runtime a container provides services to
+ executing elements such as oplets and functions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services">Controls</a></td>
+<td class="colLast">
+<div class="block">Utilities for the control service.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></td>
+<td class="colLast">
+<div class="block">Provides a container for services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
+<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Enum</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></td>
+<td class="colLast">
+<div class="block">Job event types.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.execution.services Description">Package org.apache.edgent.execution.services Description</h2>
+<div class="block">Execution services.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/mbeans/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-tree.html
new file mode 100644
index 0000000..b43f09e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-tree.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.execution.services Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.execution.services Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/mbeans/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/function/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.execution.services</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">Controls</span></a></li>
+<li type="circle">org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">ServiceContainer</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">ControlService</span></a></li>
+<li type="circle">org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">JobRegistryService</span></a></li>
+<li type="circle">org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">RuntimeServices</span></a></li>
+</ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services"><span class="typeNameLink">JobRegistryService.EventType</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/execution/mbeans/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/function/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-use.html
new file mode 100644
index 0000000..2f76643
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/execution/services/package-use.html
@@ -0,0 +1,511 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.execution.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.execution.services (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.execution.services" class="title">Uses of Package<br>org.apache.edgent.execution.services</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.runtime">org.apache.edgent.apps.runtime</a></td>
+<td class="colLast">
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution">org.apache.edgent.execution</a></td>
+<td class="colLast">
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution.services">org.apache.edgent.execution.services</a></td>
+<td class="colLast">
+<div class="block">Execution services.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics">org.apache.edgent.metrics</a></td>
+<td class="colLast">
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet">org.apache.edgent.oplet</a></td>
+<td class="colLast">
+<div class="block">Oplets API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jmxcontrol">org.apache.edgent.runtime.jmxcontrol</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jsoncontrol">org.apache.edgent.runtime.jsoncontrol</a></td>
+<td class="colLast">
+<div class="block">Control service that takes a Json message and invokes
+ an operation on a control service MBean.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.apps.runtime">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ControlService.html#org.apache.edgent.apps.runtime">ControlService</a>
+<div class="block">Service that provides a control mechanism.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.execution">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ServiceContainer.html#org.apache.edgent.execution">ServiceContainer</a>
+<div class="block">Provides a container for services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.execution.services">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/JobRegistryService.EventType.html#org.apache.edgent.execution.services">JobRegistryService.EventType</a>
+<div class="block">Job event types.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ServiceContainer.html#org.apache.edgent.metrics">ServiceContainer</a>
+<div class="block">Provides a container for services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/RuntimeServices.html#org.apache.edgent.oplet">RuntimeServices</a>
+<div class="block">At runtime a container provides services to
+ executing elements such as oplets and functions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/RuntimeServices.html#org.apache.edgent.providers.direct">RuntimeServices</a>
+<div class="block">At runtime a container provides services to
+ executing elements such as oplets and functions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ServiceContainer.html#org.apache.edgent.providers.direct">ServiceContainer</a>
+<div class="block">Provides a container for services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ServiceContainer.html#org.apache.edgent.providers.iot">ServiceContainer</a>
+<div class="block">Provides a container for services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/RuntimeServices.html#org.apache.edgent.runtime.etiao">RuntimeServices</a>
+<div class="block">At runtime a container provides services to
+ executing elements such as oplets and functions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ServiceContainer.html#org.apache.edgent.runtime.etiao">ServiceContainer</a>
+<div class="block">Provides a container for services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ServiceContainer.html#org.apache.edgent.runtime.etiao.graph">ServiceContainer</a>
+<div class="block">Provides a container for services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ControlService.html#org.apache.edgent.runtime.etiao.mbeans">ControlService</a>
+<div class="block">Service that provides a control mechanism.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jmxcontrol">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/runtime/jmxcontrol/package-summary.html">org.apache.edgent.runtime.jmxcontrol</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ControlService.html#org.apache.edgent.runtime.jmxcontrol">ControlService</a>
+<div class="block">Service that provides a control mechanism.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/JobRegistryService.html#org.apache.edgent.runtime.jobregistry">JobRegistryService</a>
+<div class="block">Job registry service.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/JobRegistryService.EventType.html#org.apache.edgent.runtime.jobregistry">JobRegistryService.EventType</a>
+<div class="block">Job event types.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ServiceContainer.html#org.apache.edgent.runtime.jobregistry">ServiceContainer</a>
+<div class="block">Provides a container for services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jsoncontrol">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">org.apache.edgent.runtime.jsoncontrol</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ControlService.html#org.apache.edgent.runtime.jsoncontrol">ControlService</a>
+<div class="block">Service that provides a control mechanism.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ControlService.html#org.apache.edgent.streamscope">ControlService</a>
+<div class="block">Service that provides a control mechanism.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/ServiceContainer.html#org.apache.edgent.streamscope">ServiceContainer</a>
+<div class="block">Provides a container for services.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> used by <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/execution/services/class-use/RuntimeServices.html#org.apache.edgent.topology">RuntimeServices</a>
+<div class="block">At runtime a container provides services to
+ executing elements such as oplets and functions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/execution/services/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/BiConsumer.html b/site/javadoc/r1.2.0/org/apache/edgent/function/BiConsumer.html
new file mode 100644
index 0000000..660392d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/BiConsumer.html
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:17 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>BiConsumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="BiConsumer (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BiConsumer.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/BiConsumer.html" target="_top">Frames</a></li>
+<li><a href="BiConsumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.function</div>
+<h2 title="Interface BiConsumer" class="title">Interface BiConsumer&lt;T,U&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of the first function argument</dd>
+<dd><code>U</code> - Type of the second function argument</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">BiConsumer&lt;T,U&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<div class="block">Consumer function that takes two arguments.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/BiConsumer.html#accept-T-U-">accept</a></span>(<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="type parameter in BiConsumer">T</a>&nbsp;t,
+      <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="type parameter in BiConsumer">U</a>&nbsp;u)</code>
+<div class="block">Consume the two arguments.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="accept-java.lang.Object-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-U-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>accept</h4>
+<pre>void&nbsp;accept(<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="type parameter in BiConsumer">T</a>&nbsp;t,
+            <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="type parameter in BiConsumer">U</a>&nbsp;u)</pre>
+<div class="block">Consume the two arguments.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>t</code> - First function argument</dd>
+<dd><code>u</code> - Second function argument</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BiConsumer.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/BiConsumer.html" target="_top">Frames</a></li>
+<li><a href="BiConsumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/BiFunction.html b/site/javadoc/r1.2.0/org/apache/edgent/function/BiFunction.html
new file mode 100644
index 0000000..4675618
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/BiFunction.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:17 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>BiFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="BiFunction (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BiFunction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/BiFunction.html" target="_top">Frames</a></li>
+<li><a href="BiFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.function</div>
+<h2 title="Interface BiFunction" class="title">Interface BiFunction&lt;T,U,R&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of function's first argument</dd>
+<dd><code>U</code> - Type of function's second argument</dd>
+<dd><code>R</code> - Type of function return.</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">BiFunction&lt;T,U,R&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">R</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/BiFunction.html#apply-T-U-">apply</a></span>(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">T</a>&nbsp;t,
+     <a href="../../../../org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">U</a>&nbsp;u)</code>
+<div class="block">Apply a function to <code>t</code> and <code>u</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="apply-java.lang.Object-java.lang.Object-">
+<!--   -->
+</a><a name="apply-T-U-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>apply</h4>
+<pre><a href="../../../../org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">R</a>&nbsp;apply(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">T</a>&nbsp;t,
+        <a href="../../../../org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">U</a>&nbsp;u)</pre>
+<div class="block">Apply a function to <code>t</code> and <code>u</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>t</code> - First argument the function is applied to.</dd>
+<dd><code>u</code> - Second argument the function is applied to.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Result of the function against <code>t</code> and <code>u</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BiFunction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/BiFunction.html" target="_top">Frames</a></li>
+<li><a href="BiFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/Consumer.html b/site/javadoc/r1.2.0/org/apache/edgent/function/Consumer.html
new file mode 100644
index 0000000..d57ecaf
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/Consumer.html
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Consumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Consumer (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Consumer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/Consumer.html" target="_top">Frames</a></li>
+<li><a href="Consumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.function</div>
+<h2 title="Interface Consumer" class="title">Interface Consumer&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of function argument.</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a>, <a href="../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>, <a href="../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a>, <a href="../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a>, <a href="../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a>, <a href="../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a>, <a href="../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a>, <a href="../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a>, <a href="../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>, <a href="../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a>, <a href="../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>, <a href="../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a>, <a href="../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a>, <a href="../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">SettableForwarder</a>, <a href="../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>, <a href="../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a>, <a href="../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a>, <a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>, <a href="../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Consumer&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<div class="block">Function that consumes a value.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Consumer.html#accept-T-">accept</a></span>(<a href="../../../../org/apache/edgent/function/Consumer.html" title="type parameter in Consumer">T</a>&nbsp;value)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>accept</h4>
+<pre>void&nbsp;accept(<a href="../../../../org/apache/edgent/function/Consumer.html" title="type parameter in Consumer">T</a>&nbsp;value)</pre>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Consumer.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/Consumer.html" target="_top">Frames</a></li>
+<li><a href="Consumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/Function.html b/site/javadoc/r1.2.0/org/apache/edgent/function/Function.html
new file mode 100644
index 0000000..06a1c33
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/Function.html
@@ -0,0 +1,258 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Function (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Function (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Function.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/Function.html" target="_top">Frames</a></li>
+<li><a href="Function.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.function</div>
+<h2 title="Interface Function" class="title">Interface Function&lt;T,R&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of function argument.</dd>
+<dd><code>R</code> - Type of function return.</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>All Known Subinterfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Function&lt;T,R&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<div class="block">Single argument function.
+ For example:
+ <UL>
+ <LI>
+ A function that doubles a value <code>v -&gt; v * 2</code>
+ </LI>
+ <LI>
+ A function that trims a <code>String</code> <code>v -&gt; v.trim()</code> or <code>v -&gt; String::trim</code>
+ </LI>
+ </UL></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/Function.html" title="type parameter in Function">R</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Function.html#apply-T-">apply</a></span>(<a href="../../../../org/apache/edgent/function/Function.html" title="type parameter in Function">T</a>&nbsp;value)</code>
+<div class="block">Apply a function to <code>value</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="apply-java.lang.Object-">
+<!--   -->
+</a><a name="apply-T-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>apply</h4>
+<pre><a href="../../../../org/apache/edgent/function/Function.html" title="type parameter in Function">R</a>&nbsp;apply(<a href="../../../../org/apache/edgent/function/Function.html" title="type parameter in Function">T</a>&nbsp;value)</pre>
+<div class="block">Apply a function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - Value the function is applied to</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Result of the function against <code>value</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Function.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/Function.html" target="_top">Frames</a></li>
+<li><a href="Function.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/Functions.html b/site/javadoc/r1.2.0/org/apache/edgent/function/Functions.html
new file mode 100644
index 0000000..7744790
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/Functions.html
@@ -0,0 +1,665 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Functions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Functions (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Functions.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/Functions.html" target="_top">Frames</a></li>
+<li><a href="Functions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.function</div>
+<h2 title="Class Functions" class="title">Class Functions</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.function.Functions</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Functions</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Common functions and functional utilities.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#Functions--">Functions</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#alwaysFalse--">alwaysFalse</a></span>()</code>
+<div class="block">A Predicate that is always false</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#alwaysTrue--">alwaysTrue</a></span>()</code>
+<div class="block">A Predicate that is always true</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#closeFunction-java.lang.Object-">closeFunction</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;function)</code>
+<div class="block">Close the function.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#delayedConsume-org.apache.edgent.function.Consumer-T-">delayedConsume</a></span>(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;consumer,
+              T&nbsp;value)</code>
+<div class="block">Create a <code>Runnable</code> that calls
+ <code>consumer.accept(value)</code> when <code>run()</code> is called.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#discard--">discard</a></span>()</code>
+<div class="block">A Consumer that discards all items passed to it.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#identity--">identity</a></span>()</code>
+<div class="block">Returns the identity function that returns its single argument.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#isImmutable-java.lang.Object-">isImmutable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;function)</code>
+<div class="block">See if the functional logic is immutable.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#isImmutableClass-java.lang.Class-">isImmutableClass</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;clazz)</code>
+<div class="block">See if a function class is immutable.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#runWithFinal-java.lang.Runnable-java.lang.Runnable-">runWithFinal</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;action,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;finalAction)</code>
+<div class="block">Wrap a <code>Runnable</code> with a final action that
+ is always called when <code>action.run()</code> completes.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,U,R&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#synchronizedBiFunction-org.apache.edgent.function.BiFunction-">synchronizedBiFunction</a></span>(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,U,R&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>BiFunction</code> function.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#synchronizedConsumer-org.apache.edgent.function.Consumer-">synchronizedConsumer</a></span>(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>Consumer</code> function.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,R&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#synchronizedFunction-org.apache.edgent.function.Function-">synchronizedFunction</a></span>(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,R&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>Function</code> function.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#synchronizedSupplier-org.apache.edgent.function.Supplier-">synchronizedSupplier</a></span>(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>Supplier</code> function.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#unpartitioned--">unpartitioned</a></span>()</code>
+<div class="block">Returns a constant function that returns zero (0).</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Functions.html#zero--">zero</a></span>()</code>
+<div class="block">Returns a constant function that returns zero (0).</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Functions--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Functions</h4>
+<pre>public&nbsp;Functions()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="identity--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>identity</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;T&gt;&nbsp;identity()</pre>
+<div class="block">Returns the identity function that returns its single argument.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Identity function that returns its single argument.</dd>
+</dl>
+</li>
+</ul>
+<a name="zero--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>zero</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;zero()</pre>
+<div class="block">Returns a constant function that returns zero (0).</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Constant function that returns zero (0).</dd>
+</dl>
+</li>
+</ul>
+<a name="unpartitioned--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unpartitioned</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;unpartitioned()</pre>
+<div class="block">Returns a constant function that returns zero (0).
+ This is identical to <a href="../../../../org/apache/edgent/function/Functions.html#zero--"><code>zero()</code></a> but is more
+ readable when applied as a key function.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Constant function that returns zero (0).</dd>
+</dl>
+</li>
+</ul>
+<a name="closeFunction-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>closeFunction</h4>
+<pre>public static&nbsp;void&nbsp;closeFunction(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;function)
+                          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Close the function.
+ If <code>function</code> is an instance of <code>AutoCloseable</code>
+ then close is called, otherwise no action is taken.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>function</code> - Function to be closed.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Error throwing function.</dd>
+</dl>
+</li>
+</ul>
+<a name="synchronizedFunction-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>synchronizedFunction</h4>
+<pre>public static&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,R&gt;&nbsp;synchronizedFunction(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,R&gt;&nbsp;function)</pre>
+<div class="block">Return a thread-safe version of a <code>Function</code> function.
+ If the function is guaranteed to be immutable (stateless)
+ then the function is returned, as it is thread safe,
+ otherwise a wrapper is returned that grabs synchronization
+ on <code>function</code> when calling <a href="../../../../org/apache/edgent/function/Function.html#apply-T-"><code>Function.apply(Object)</code></a>.
+ <BR>
+ If <code>function</code> implements <code>AutoCloseable</code> then
+ the function is assumed to be stateful and a thread-safe
+ version is returned.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - source tuple type</dd>
+<dd><code>R</code> - result tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>function</code> - Function to return a thread-safe version of.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A thread-safe function</dd>
+</dl>
+</li>
+</ul>
+<a name="synchronizedSupplier-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>synchronizedSupplier</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;synchronizedSupplier(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;function)</pre>
+<div class="block">Return a thread-safe version of a <code>Supplier</code> function.
+ If the function is guaranteed to be immutable (stateless)
+ then the function is returned, as it is thread safe,
+ otherwise a wrapper is returned that grabs synchronization
+ on <code>function</code> when calling <a href="../../../../org/apache/edgent/function/Supplier.html#get--"><code>Supplier.get()</code></a>.
+ <BR>
+ If <code>function</code> implements <code>AutoCloseable</code> then
+ the function is assumed to be stateful and a thread-safe
+ version is returned.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>function</code> - Function to return a thread-safe version of.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A thread-safe function</dd>
+</dl>
+</li>
+</ul>
+<a name="synchronizedConsumer-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>synchronizedConsumer</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;synchronizedConsumer(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;function)</pre>
+<div class="block">Return a thread-safe version of a <code>Consumer</code> function.
+ If the function is guaranteed to be immutable (stateless)
+ then the function is returned, as it is thread safe,
+ otherwise a wrapper is returned that grabs synchronization
+ on <code>function</code> when calling <a href="../../../../org/apache/edgent/function/Consumer.html#accept-T-"><code>Consumer.accept(Object)</code></a>.
+ <BR>
+ If <code>function</code> implements <code>AutoCloseable</code> then
+ the function is assumed to be stateful and a thread-safe
+ version is returned.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>function</code> - Function to return a thread-safe version of.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A thread-safe function</dd>
+</dl>
+</li>
+</ul>
+<a name="synchronizedBiFunction-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>synchronizedBiFunction</h4>
+<pre>public static&nbsp;&lt;T,U,R&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,U,R&gt;&nbsp;synchronizedBiFunction(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,U,R&gt;&nbsp;function)</pre>
+<div class="block">Return a thread-safe version of a <code>BiFunction</code> function.
+ If the function is guaranteed to be immutable (stateless)
+ then the function is returned, as it is thread safe,
+ otherwise a wrapper is returned that grabs synchronization
+ on <code>function</code> when calling <a href="../../../../org/apache/edgent/function/BiFunction.html#apply-T-U-"><code>BiFunction.apply(Object, Object)</code></a>.
+ <BR>
+ If <code>function</code> implements <code>AutoCloseable</code> then
+ the function is assumed to be stateful and a thread-safe
+ version is returned.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of function's first argument</dd>
+<dd><code>U</code> - Type of function's second argument</dd>
+<dd><code>R</code> - Type of function's third argument</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>function</code> - Function to return a thread-safe version of.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A thread-safe function</dd>
+</dl>
+</li>
+</ul>
+<a name="isImmutable-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isImmutable</h4>
+<pre>public static&nbsp;boolean&nbsp;isImmutable(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;function)</pre>
+<div class="block">See if the functional logic is immutable.
+ 
+ Logic is stateful if:
+   Has a non-final instance field.
+   Has a final instance field that is not a primitive
+   or a known immutable object.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>function</code> - Function to check</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>True if the function is immutable..</dd>
+</dl>
+</li>
+</ul>
+<a name="isImmutableClass-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isImmutableClass</h4>
+<pre>public static&nbsp;boolean&nbsp;isImmutableClass(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;clazz)</pre>
+<div class="block">See if a function class is immutable.
+ 
+ Logic is stateful if:
+   Has a non-final instance field.
+   Has a final instance field that is not a primitive
+   or a known immutable object.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>clazz</code> - Class to check</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>True if the function is immutable..</dd>
+</dl>
+</li>
+</ul>
+<a name="delayedConsume-org.apache.edgent.function.Consumer-java.lang.Object-">
+<!--   -->
+</a><a name="delayedConsume-org.apache.edgent.function.Consumer-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>delayedConsume</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;delayedConsume(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;consumer,
+                                          T&nbsp;value)</pre>
+<div class="block">Create a <code>Runnable</code> that calls
+ <code>consumer.accept(value)</code> when <code>run()</code> is called.
+ This can be used to delay the execution of the consumer
+ until some time in the future using an executor service.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>consumer</code> - Function to be applied to <code>value</code>.</dd>
+<dd><code>value</code> - Value to be consumed.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>Runnable</code> that invokes <code>consumer.accept(value)</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="runWithFinal-java.lang.Runnable-java.lang.Runnable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>runWithFinal</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;runWithFinal(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;action,
+                                    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;finalAction)</pre>
+<div class="block">Wrap a <code>Runnable</code> with a final action that
+ is always called when <code>action.run()</code> completes.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>action</code> - Action to be invoked before <code>finalAction</code>.</dd>
+<dd><code>finalAction</code> - Action to be invoked after <code>action.run()</code> is called.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>Runnable</code> that invokes <code>action.run()</code> and then <code>finalAction.run()</code></dd>
+</dl>
+</li>
+</ul>
+<a name="discard--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>discard</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;discard()</pre>
+<div class="block">A Consumer that discards all items passed to it.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A Consumer that discards all items passed to it.</dd>
+</dl>
+</li>
+</ul>
+<a name="alwaysTrue--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>alwaysTrue</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;alwaysTrue()</pre>
+<div class="block">A Predicate that is always true</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A Predicate that is always true.</dd>
+</dl>
+</li>
+</ul>
+<a name="alwaysFalse--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>alwaysFalse</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;alwaysFalse()</pre>
+<div class="block">A Predicate that is always false</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A Predicate that is always false.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Functions.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/Functions.html" target="_top">Frames</a></li>
+<li><a href="Functions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/Predicate.html b/site/javadoc/r1.2.0/org/apache/edgent/function/Predicate.html
new file mode 100644
index 0000000..22619a9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/Predicate.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Predicate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Predicate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Predicate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/Predicate.html" target="_top">Frames</a></li>
+<li><a href="Predicate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.function</div>
+<h2 title="Interface Predicate" class="title">Interface Predicate&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of value to be tested.</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a>, <a href="../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>, <a href="../../../../org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Predicate&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<div class="block">Predicate function.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Predicate.html#test-T-">test</a></span>(<a href="../../../../org/apache/edgent/function/Predicate.html" title="type parameter in Predicate">T</a>&nbsp;value)</code>
+<div class="block">Test a value against a predicate.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="test-java.lang.Object-">
+<!--   -->
+</a><a name="test-T-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>test</h4>
+<pre>boolean&nbsp;test(<a href="../../../../org/apache/edgent/function/Predicate.html" title="type parameter in Predicate">T</a>&nbsp;value)</pre>
+<div class="block">Test a value against a predicate.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - Value to be tested.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>True if this predicate is true for <code>value</code> otherwise false.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Predicate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/Predicate.html" target="_top">Frames</a></li>
+<li><a href="Predicate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/Supplier.html b/site/javadoc/r1.2.0/org/apache/edgent/function/Supplier.html
new file mode 100644
index 0000000..9c4ccf3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/Supplier.html
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Supplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Supplier (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Supplier.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/Supplier.html" target="_top">Frames</a></li>
+<li><a href="Supplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.function</div>
+<h2 title="Interface Supplier" class="title">Interface Supplier&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of function return.</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>All Known Subinterfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>, <a href="../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a>, <a href="../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a>, <a href="../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a>, <a href="../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a>, <a href="../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Supplier&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<div class="block">Function that supplies a value.
+ For example, functions that returns the current time:
+ <UL>
+ <LI>
+ As a lambda expression <code>() -&gt; System.currentTimeMillis()</code>
+ </LI>
+ <LI>
+ As a method reference <code>() -&gt; System::currentTimeMillis</code>
+ </LI>
+ </UL></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/Supplier.html" title="type parameter in Supplier">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/Supplier.html#get--">get</a></span>()</code>
+<div class="block">Supply a value, each call to this function may return
+ a different value.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="get--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>get</h4>
+<pre><a href="../../../../org/apache/edgent/function/Supplier.html" title="type parameter in Supplier">T</a>&nbsp;get()</pre>
+<div class="block">Supply a value, each call to this function may return
+ a different value.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Value supplied by this function.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Supplier.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/Supplier.html" target="_top">Frames</a></li>
+<li><a href="Supplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/ToDoubleFunction.html b/site/javadoc/r1.2.0/org/apache/edgent/function/ToDoubleFunction.html
new file mode 100644
index 0000000..a6b1c94
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/ToDoubleFunction.html
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ToDoubleFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ToDoubleFunction (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ToDoubleFunction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/ToDoubleFunction.html" target="_top">Frames</a></li>
+<li><a href="ToDoubleFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.function</div>
+<h2 title="Interface ToDoubleFunction" class="title">Interface ToDoubleFunction&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of function argument.</dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ToDoubleFunction&lt;T&gt;</span></pre>
+<div class="block">Function that returns a double primitive.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>double</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/ToDoubleFunction.html#applyAsDouble-T-">applyAsDouble</a></span>(<a href="../../../../org/apache/edgent/function/ToDoubleFunction.html" title="type parameter in ToDoubleFunction">T</a>&nbsp;value)</code>
+<div class="block">Apply a function to <code>value</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="applyAsDouble-java.lang.Object-">
+<!--   -->
+</a><a name="applyAsDouble-T-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>applyAsDouble</h4>
+<pre>double&nbsp;applyAsDouble(<a href="../../../../org/apache/edgent/function/ToDoubleFunction.html" title="type parameter in ToDoubleFunction">T</a>&nbsp;value)</pre>
+<div class="block">Apply a function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - Value the function is applied to</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Result of the function against <code>value</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ToDoubleFunction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/ToDoubleFunction.html" target="_top">Frames</a></li>
+<li><a href="ToDoubleFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/ToIntFunction.html b/site/javadoc/r1.2.0/org/apache/edgent/function/ToIntFunction.html
new file mode 100644
index 0000000..4de1777
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/ToIntFunction.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ToIntFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ToIntFunction (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ToIntFunction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/ToIntFunction.html" target="_top">Frames</a></li>
+<li><a href="ToIntFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.function</div>
+<h2 title="Interface ToIntFunction" class="title">Interface ToIntFunction&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of function argument.</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">LoadBalancedSplitter</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ToIntFunction&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<div class="block">Function that returns a int primitive.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/ToIntFunction.html#applyAsInt-T-">applyAsInt</a></span>(<a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="type parameter in ToIntFunction">T</a>&nbsp;value)</code>
+<div class="block">Apply a function to <code>value</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="applyAsInt-java.lang.Object-">
+<!--   -->
+</a><a name="applyAsInt-T-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>applyAsInt</h4>
+<pre>int&nbsp;applyAsInt(<a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="type parameter in ToIntFunction">T</a>&nbsp;value)</pre>
+<div class="block">Apply a function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - Value the function is applied to</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Result of the function against <code>value</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ToIntFunction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/ToIntFunction.html" target="_top">Frames</a></li>
+<li><a href="ToIntFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/UnaryOperator.html b/site/javadoc/r1.2.0/org/apache/edgent/function/UnaryOperator.html
new file mode 100644
index 0000000..98dbf23
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/UnaryOperator.html
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnaryOperator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="UnaryOperator (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnaryOperator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/UnaryOperator.html" target="_top">Frames</a></li>
+<li><a href="UnaryOperator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&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">org.apache.edgent.function</div>
+<h2 title="Interface UnaryOperator" class="title">Interface UnaryOperator&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of function argument and return.</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,T&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">UnaryOperator&lt;T&gt;</span>
+extends <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,T&gt;</pre>
+<div class="block">Function that returns the same type as its argument.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== 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.org.apache.edgent.function.Function">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></h3>
+<code><a href="../../../../org/apache/edgent/function/Function.html#apply-T-">apply</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnaryOperator.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/UnaryOperator.html" target="_top">Frames</a></li>
+<li><a href="UnaryOperator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/WrappedFunction.html b/site/javadoc/r1.2.0/org/apache/edgent/function/WrappedFunction.html
new file mode 100644
index 0000000..136722d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/WrappedFunction.html
@@ -0,0 +1,360 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>WrappedFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="WrappedFunction (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/WrappedFunction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/WrappedFunction.html" target="_top">Frames</a></li>
+<li><a href="WrappedFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.function</div>
+<h2 title="Class WrappedFunction" class="title">Class WrappedFunction&lt;F&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.function.WrappedFunction&lt;F&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>F</code> - Type of function being wrapped.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">WrappedFunction&lt;F&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<div class="block">A wrapped function.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../serialized-form.html#org.apache.edgent.function.WrappedFunction">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/WrappedFunction.html#WrappedFunction-F-">WrappedFunction</a></span>(<a href="../../../../org/apache/edgent/function/WrappedFunction.html" title="type parameter in WrappedFunction">F</a>&nbsp;f)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/WrappedFunction.html" title="type parameter in WrappedFunction">F</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/WrappedFunction.html#f--">f</a></span>()</code>
+<div class="block">Function that was wrapped.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;C&gt;&nbsp;C</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/WrappedFunction.html#unwrap-java.lang.Class-">unwrap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;C&gt;&nbsp;clazz)</code>
+<div class="block">Unwrap to find the outermost function that is an instance of <code>clazz</code>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static &lt;C&gt;&nbsp;C</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/function/WrappedFunction.html#unwrap-java.lang.Class-java.lang.Object-">unwrap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;C&gt;&nbsp;clazz,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;wf)</code>
+<div class="block">Unwrap a function object to find the outermost function that implements <code>clazz</code>.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="WrappedFunction-java.lang.Object-">
+<!--   -->
+</a><a name="WrappedFunction-F-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>WrappedFunction</h4>
+<pre>protected&nbsp;WrappedFunction(<a href="../../../../org/apache/edgent/function/WrappedFunction.html" title="type parameter in WrappedFunction">F</a>&nbsp;f)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="f--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>f</h4>
+<pre>public final&nbsp;<a href="../../../../org/apache/edgent/function/WrappedFunction.html" title="type parameter in WrappedFunction">F</a>&nbsp;f()</pre>
+<div class="block">Function that was wrapped.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Function that was wrapped.</dd>
+</dl>
+</li>
+</ul>
+<a name="unwrap-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unwrap</h4>
+<pre>public&nbsp;&lt;C&gt;&nbsp;C&nbsp;unwrap(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;C&gt;&nbsp;clazz)</pre>
+<div class="block">Unwrap to find the outermost function that is an instance of <code>clazz</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>C</code> - Type of class.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>clazz</code> - Implementation class to search for.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>outermost function that is an instance of <code>clazz</code>,
+ <code>null</code> if <code>clazz</code> is not implemented by <code>this</code>
+ or any function it wraps.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/function/WrappedFunction.html#unwrap-java.lang.Class-java.lang.Object-"><code>unwrap(Class, Object)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="unwrap-java.lang.Class-java.lang.Object-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>unwrap</h4>
+<pre>public static&nbsp;&lt;C&gt;&nbsp;C&nbsp;unwrap(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;C&gt;&nbsp;clazz,
+                           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;wf)</pre>
+<div class="block">Unwrap a function object to find the outermost function that implements <code>clazz</code>.
+ If a function object is not an instance of <code>clazz</code> but is an instance of
+ <code>WrappedFunction</code> then the test is repeated on the value of <a href="../../../../org/apache/edgent/function/WrappedFunction.html#f--"><code>f()</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>C</code> - Type of class.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>clazz</code> - Implementation class to search for.</dd>
+<dd><code>wf</code> - Function to unwrap</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>outermost function that implements <code>clazz</code>, <code>null</code> if
+ if <code>clazz</code> is not implemented by <code>wf</code> or any function it wraps.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/WrappedFunction.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/WrappedFunction.html" target="_top">Frames</a></li>
+<li><a href="WrappedFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/BiConsumer.html b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/BiConsumer.html
new file mode 100644
index 0000000..f3bdaea
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/BiConsumer.html
@@ -0,0 +1,455 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.BiConsumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.function.BiConsumer (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/BiConsumer.html" target="_top">Frames</a></li>
+<li><a href="BiConsumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.function.BiConsumer" class="title">Uses of Interface<br>org.apache.edgent.function.BiConsumer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution.services">org.apache.edgent.execution.services</a></td>
+<td class="colLast">
+<div class="block">Execution services.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.services">org.apache.edgent.topology.services</a></td>
+<td class="colLast">
+<div class="block">Services for topologies.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
+<td class="colLast">
+<div class="block">Window API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.execution.services">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a> in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ServiceContainer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html#addCleaner-org.apache.edgent.function.BiConsumer-">addCleaner</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;cleaner)</code>
+<div class="block">Registers a new cleaner.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addListener-org.apache.edgent.function.BiConsumer-">addListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
+<div class="block">Adds a handler to a collection of listeners that will be notified
+ on job registration and state changes.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistryService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
+<div class="block">Removes a handler from this registry's collection of listeners.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a> in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
+<div class="block">Register an application that uses an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder,
+                boolean&nbsp;autoSubmit,
+                com.google.gson.JsonObject&nbsp;config)</code>
+<div class="block">Register an application that uses an <code>IotDevice</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a> in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AppService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</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="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TrackingScheduledExecutor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">newScheduler</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threadFactory,
+            <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;completionHandler)</code>
+<div class="block">Creates an <code>TrackingScheduledExecutor</code> using the supplied thread 
+ factory and a completion handler.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a> in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#addListener-org.apache.edgent.function.BiConsumer-">addListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">JobRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.services">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a> in <a href="../../../../../org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a> that return <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TopologyBuilder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html#getBuilder--">getBuilder</a></span>()</code>
+<div class="block">How the application is built.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ApplicationService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
+<div class="block">Add a topology that can be started though a control mbean.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a> in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> that return <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</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 &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#countContentsPolicy-int-">countContentsPolicy</a></span>(int&nbsp;count)</code>
+<div class="block">Returns a count-based contents policy.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#doNothing--">doNothing</a></span>()</code>
+<div class="block">A <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><code>BiConsumer</code></a> policy which does nothing.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getContentsPolicy--">getContentsPolicy</a></span>()</code>
+<div class="block">Returns the contents policy of the window.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getPartitionProcessor--">getPartitionProcessor</a></span>()</code>
+<div class="block">Returns the partition processor associated with the window.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getTriggerPolicy--">getTriggerPolicy</a></span>()</code>
+<div class="block">Returns the window's trigger policy.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#processOnInsert--">processOnInsert</a></span>()</code>
+<div class="block">Returns a trigger policy that triggers
+ processing on every insert.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#processWhenFullAndEvict-int-">processWhenFullAndEvict</a></span>(int&nbsp;size)</code>
+<div class="block">Returns a trigger policy that triggers when the size of a partition
+ equals or exceeds a value, and then evicts its contents.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#scheduleEvictIfEmpty-long-java.util.concurrent.TimeUnit-">scheduleEvictIfEmpty</a></span>(long&nbsp;time,
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">A policy which schedules a future partition eviction if the partition is empty.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#scheduleEvictOnFirstInsert-long-java.util.concurrent.TimeUnit-">scheduleEvictOnFirstInsert</a></span>(long&nbsp;time,
+                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">A policy which schedules a future partition eviction on the first insert.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#registerPartitionProcessor-org.apache.edgent.function.BiConsumer-">registerPartitionProcessor</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;windowProcessor)</code>
+<div class="block">Register a WindowProcessor.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/BiConsumer.html" target="_top">Frames</a></li>
+<li><a href="BiConsumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/BiFunction.html b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/BiFunction.html
new file mode 100644
index 0000000..8d04eb7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/BiFunction.html
@@ -0,0 +1,661 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.BiFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.function.BiFunction (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/BiFunction.html" target="_top">Frames</a></li>
+<li><a href="BiFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.function.BiFunction" class="title">Uses of Interface<br>org.apache.edgent.function.BiFunction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
+<td class="colLast">
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.http">org.apache.edgent.connectors.http</a></td>
+<td class="colLast">
+<div class="block">HTTP stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
+<td class="colLast">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.function">org.apache.edgent.function</a></td>
+<td class="colLast">
+<div class="block">Functional interfaces for lambda expressions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing</a></td>
+<td class="colLast">
+<div class="block">Plumbing for a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
+<td class="colLast">
+<div class="block">Window API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a> that return <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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 &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+             <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+             <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Create a Function that aggregates against a single <code>Numeric</code>
+ variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregateList-java.lang.String-java.lang.String-java.util.List-">mvAggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
+<div class="block">Create a Function that aggregates multiple <code>Numeric</code>
+ variables contained in an JSON object.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</code>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.http">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a> that return <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpResponders.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html#inputOn-java.lang.Integer...-">inputOn</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>...&nbsp;codes)</code>
+<div class="block">Return the input tuple on specified codes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpResponders.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html#inputOn200--">inputOn200</a></span>()</code>
+<div class="block">Return the input tuple on OK.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;com.google.gson.JsonObject,org.apache.http.client.methods.CloseableHttpResponse,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpResponders.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpResponders.html#json--">json</a></span>()</code>
+<div class="block">A HTTP response handler for <code>application/json</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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 &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request for each tuple on a stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request with body for each tuple.<br></div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-org.apache.edgent.function.BiFunction-">subscribe</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
+         int&nbsp;qos,
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[],T&gt;&nbsp;message2Tuple)</code>
+<div class="block">Subscribe to the MQTT topic(s) and create a stream of tuples of type <code>T</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.function">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> that return <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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 &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,U,R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#synchronizedBiFunction-org.apache.edgent.function.BiFunction-">synchronizedBiFunction</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,U,R&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>BiFunction</code> function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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 &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,U,R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#synchronizedBiFunction-org.apache.edgent.function.BiFunction-">synchronizedBiFunction</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,U,R&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>BiFunction</code> function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">FanIn.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#setReceiver-org.apache.edgent.function.BiFunction-">setReceiver</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</code>
+<div class="block">Set the receiver function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#FanIn-org.apache.edgent.function.BiFunction-">FanIn</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a> that return <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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>protected <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Barrier.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#receiver--">receiver</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#Aggregate-org.apache.edgent.window.Window-org.apache.edgent.function.BiFunction-">Aggregate</a></span>(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JobEvents.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html#source-org.apache.edgent.topology.Topology-org.apache.edgent.function.BiFunction-">source</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>,T&gt;&nbsp;wrapper)</code>
+<div class="block">Declares a stream populated by <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a> events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</code>
+<div class="block">Declares a stream that is a continuous, sliding, aggregation of
+ partitions in this window.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</code>
+<div class="block">Declares a stream that represents a batched aggregation of
+ partitions in this window.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+    <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with the last tuple seen on a stream of type <code>U</code>
+ with partitioning.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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 &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        int&nbsp;width,
+        <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                int&nbsp;width,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallelMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+           int&nbsp;width,
+           <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</code>
+<div class="block">Perform an analytic function on tuples in parallel.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</code>
+<div class="block">Window behaviour here is that:
+ 
+ Tuples are always inserted into the partition.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+    <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a> in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> that return <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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 &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#alwaysInsert--">alwaysInsert</a></span>()</code>
+<div class="block">Returns an insertion policy that indicates the tuple
+ is to be inserted into the partition.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getInsertionPolicy--">getInsertionPolicy</a></span>()</code>
+<div class="block">Returns the insertion policy of the window.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> with parameters of type <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</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 &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/BiFunction.html" target="_top">Frames</a></li>
+<li><a href="BiFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Consumer.html b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Consumer.html
new file mode 100644
index 0000000..201e8a7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Consumer.html
@@ -0,0 +1,1044 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.Consumer (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.function.Consumer (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/Consumer.html" target="_top">Frames</a></li>
+<li><a href="Consumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.function.Consumer" class="title">Uses of Interface<br>org.apache.edgent.function.Consumer</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.command">org.apache.edgent.connectors.command</a></td>
+<td class="colLast">
+<div class="block">Command / OS Process connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub.service">org.apache.edgent.connectors.pubsub.service</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe service.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.serial">org.apache.edgent.connectors.serial</a></td>
+<td class="colLast">
+<div class="block">Serial port connector API.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.function">org.apache.edgent.function</a></td>
+<td class="colLast">
+<div class="block">Functional interfaces for lambda expressions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet">org.apache.edgent.oplet</a></td>
+<td class="colLast">
+<div class="block">Oplets API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
+<td class="colLast">
+<div class="block">Window API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.command">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a> that return <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandWriter-java.lang.ProcessBuilder-">commandWriter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Create a <code>Consumer&lt;String&gt;</code> to write UTF8 string data to a command's input.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ResultsHandler.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html#handleResults-T-java.sql.ResultSet-java.lang.Exception-org.apache.edgent.function.Consumer-">handleResults</a></span>(<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">T</a>&nbsp;tuple,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html?is-external=true" title="class or interface in java.sql">ResultSet</a>&nbsp;resultSet,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;exc,
+             <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="type parameter in ResultsHandler">R</a>&gt;&nbsp;consumer)</code>
+<div class="block">Process the <code>ResultSet</code> and add 0 or more tuples to <code>consumer</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub.service">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a> that return <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PublishSubscribeService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
+<div class="block">Get the destination for a publisher.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ProviderPubSub.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#getPublishDestination-java.lang.String-java.lang.Class-">getPublishDestination</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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>&lt;T&gt;&nbsp;void</code></td>
+<td class="colLast"><span class="typeNameLabel">PublishSubscribeService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
+             <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</code>
+<div class="block">Add a subscriber to a published topic.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;void</code></td>
+<td class="colLast"><span class="typeNameLabel">ProviderPubSub.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#addSubscriber-java.lang.String-java.lang.Class-org.apache.edgent.function.Consumer-">addSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType,
+             <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;subscriber)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">PublishSubscribeService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ProviderPubSub.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html#removeSubscriber-java.lang.String-org.apache.edgent.function.Consumer-">removeSubscriber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+                <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;?&gt;&nbsp;subscriber)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.serial">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SerialDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html#setInitializer-org.apache.edgent.function.Consumer-">setInitializer</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a>&gt;&nbsp;initializer)</code>
+<div class="block">Set the initialization function for this port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.function">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> that return <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#discard--">discard</a></span>()</code>
+<div class="block">A Consumer that discards all items passed to it.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#synchronizedConsumer-org.apache.edgent.function.Consumer-">synchronizedConsumer</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>Consumer</code> function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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 &lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#delayedConsume-org.apache.edgent.function.Consumer-T-">delayedConsume</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;consumer,
+              T&nbsp;value)</code>
+<div class="block">Create a <code>Runnable</code> that calls
+ <code>consumer.accept(value)</code> when <code>run()</code> is called.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#synchronizedConsumer-org.apache.edgent.function.Consumer-">synchronizedConsumer</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>Consumer</code> function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a> that implement <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which counts the number of tuples peeked at.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which measures current tuple throughput and one-, five-, 
+ and fifteen-minute exponentially-weighted moving averages.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;T&gt;</span></code>
+<div class="block">Base for metrics oplets which use a single metric object.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Oplet.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">getInputs</a></span>()</code>
+<div class="block">Get the input stream data handlers for this oplet.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="type parameter in OpletContext">O</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">OpletContext.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputs--">getOutputs</a></span>()</code>
+<div class="block">Get the mechanism to submit tuples on an output port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> that implement <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;T&gt;</span></code>
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;I,O&gt;</span></code>
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a>&lt;T&gt;</span></code>
+<div class="block">Split a stream into multiple streams depending
+ on the result of a splitter function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> that return <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FanIn.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#consumer-int-">consumer</a></span>(int&nbsp;iportIndex)</code>
+<div class="block">Create a Consumer for the input port that invokes the
+ receiver and submits a generated tuple, if any, to the output.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Source.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Pipe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FanIn.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Sink.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#getSinker--">getSinker</a></span>()</code>
+<div class="block">Get the sink function that processes each tuple.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Split.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Source.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Sink.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Pipe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FanOut.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FanIn.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getInputs--">getInputs</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">Sink.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#setSinker-org.apache.edgent.function.Consumer-">setSinker</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;sinker)</code>
+<div class="block">Set the sink function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#Sink-org.apache.edgent.function.Consumer-">Sink</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;sinker)</code>
+<div class="block">Create a <code>Sink</code> oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> that implement <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a>&lt;T&gt;</span></code>
+<div class="block">Generate tuples from events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a>&lt;I,O&gt;</span></code>
+<div class="block">Map an input tuple to 0-N output tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a>&lt;I,O&gt;</span></code>
+<div class="block">Map an input tuple to 0-1 output tuple</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> that return <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="type parameter in Peek">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Peek.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html#getPeeker--">getPeeker</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Events.html#Events-org.apache.edgent.function.Consumer-">Events</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&gt;&gt;&nbsp;eventSetup)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html#Peek-org.apache.edgent.function.Consumer-">Peek</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="type parameter in Peek">T</a>&gt;&nbsp;peeker)</code>
+<div class="block">Peek oplet using a function to peek.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> with type arguments of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Events.html#Events-org.apache.edgent.function.Consumer-">Events</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&gt;&gt;&nbsp;eventSetup)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a> that implement <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a>&lt;T&gt;</span></code>
+<div class="block">Isolate upstream processing from downstream
+ processing guaranteeing tuple order.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a>&lt;T,K&gt;</span></code>
+<div class="block">Relieve pressure on upstream oplets by discarding tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a>&lt;T&gt;</span></code>
+<div class="block">Isolate upstream processing from downstream
+ processing without guaranteeing tuple order.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a> that implement <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a>&lt;T,U,K&gt;</span></code>
+<div class="block">Aggregate a window.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that implement <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">SettableForwarder</a>&lt;T&gt;</span></code>
+<div class="block">A forwarding Streamer whose destination
+ can be changed.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that return <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">SettableForwarder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html#getDestination--">getDestination</a></span>()</code>
+<div class="block">Get the destination.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Invocation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#getInputs--">getInputs</a></span>()</code>
+<div class="block">Returns the list of input stream forwarders for this invocation.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">InvocationContext.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputs--">getOutputs</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SettableForwarder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html#setDestination-org.apache.edgent.function.Consumer-">setDestination</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&gt;&nbsp;destination)</code>
+<div class="block">Change the destination.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Invocation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#setTarget-int-org.apache.edgent.function.Consumer-">setTarget</a></span>(int&nbsp;port,
+         <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">O</a>&gt;&nbsp;target)</code>
+<div class="block">Disconnects the specified port and reconnects it to the specified target.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html#SettableForwarder-org.apache.edgent.function.Consumer-">SettableForwarder</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&gt;&nbsp;destination)</code>
+<div class="block">Create with the specified destination.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with type arguments of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                 <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+                 <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
+                 int&nbsp;inputCount,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
+<div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a> that implement <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a>&lt;T&gt;</span></code>
+<div class="block">A Stream "oscilloscope" oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html#StreamScope-org.apache.edgent.function.Consumer-">StreamScope</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&nbsp;streamScope)</code>
+<div class="block">Create a new instance.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#events-org.apache.edgent.function.Consumer-">events</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&gt;&nbsp;eventSetup)</code>
+<div class="block">Declare a stream populated by an event system.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#peek-org.apache.edgent.function.Consumer-">peek</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;peeker)</code>
+<div class="block">Declare a stream that contains the same contents as this stream while
+ peeking at each element using <code>peeker</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-">sink</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;sinker)</code>
+<div class="block">Sink (terminate) this stream using a function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with type arguments of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#events-org.apache.edgent.function.Consumer-">events</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&gt;&nbsp;eventSetup)</code>
+<div class="block">Declare a stream populated by an event system.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#sink-org.apache.edgent.function.Consumer-">sink</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;sinker)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#events-org.apache.edgent.function.Consumer-">events</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&gt;&nbsp;eventSetup)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#peek-org.apache.edgent.function.Consumer-">peek</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;peeker)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with type arguments of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#events-org.apache.edgent.function.Consumer-">events</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&gt;&nbsp;eventSetup)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a> in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> that return <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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 &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictAll--">evictAll</a></span>()</code>
+<div class="block">Returns a Consumer representing an evict determiner that evict all tuples
+ from the window.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictAllAndScheduleEvictWithProcess-long-java.util.concurrent.TimeUnit-">evictAllAndScheduleEvictWithProcess</a></span>(long&nbsp;time,
+                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">An eviction policy which processes the window, evicts all tuples, and 
+ schedules the next eviction after the appropriate interval.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictOlderWithProcess-long-java.util.concurrent.TimeUnit-">evictOlderWithProcess</a></span>(long&nbsp;time,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">An eviction policy which evicts all tuples that are older than a specified time.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictOldest--">evictOldest</a></span>()</code>
+<div class="block">Returns an evict determiner that evicts the oldest tuple.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getEvictDeterminer--">getEvictDeterminer</a></span>()</code>
+<div class="block">Returns the window's eviction determiner.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</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 &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/Consumer.html" target="_top">Frames</a></li>
+<li><a href="Consumer.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Function.html b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Function.html
new file mode 100644
index 0000000..bd9c5b0
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Function.html
@@ -0,0 +1,1299 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.Function (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.function.Function (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/Function.html" target="_top">Frames</a></li>
+<li><a href="Function.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.function.Function" class="title">Uses of Interface<br>org.apache.edgent.function.Function</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors</a></td>
+<td class="colLast">
+<div class="block">Analytics focused on handling sensor data.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.http">org.apache.edgent.connectors.http</a></td>
+<td class="colLast">
+<div class="block">HTTP stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iot">org.apache.edgent.connectors.iot</a></td>
+<td class="colLast">
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
+<td class="colLast">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.serial">org.apache.edgent.connectors.serial</a></td>
+<td class="colLast">
+<div class="block">Serial port connector API.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.function">org.apache.edgent.function</a></td>
+<td class="colLast">
+<div class="block">Functional interfaces for lambda expressions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.json">org.apache.edgent.topology.json</a></td>
+<td class="colLast">
+<div class="block">Utilities for use of JSON in a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing</a></td>
+<td class="colLast">
+<div class="block">Plumbing for a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
+<td class="colLast">
+<div class="block">Window API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> that return <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ResultMap.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(ResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">MvResultMap</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MvResultMap.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/MvResultMap.html#toJsonObject--">toJsonObject</a></span>()</code>
+<div class="block">Returns a <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><code>Function</code></a> whose <code>apply(MvResultMap)</code> converts the value
+ to a <code>JsonObject</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.sensors">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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 &lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-">deadband</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand)</code>
+<div class="block">Deadband filter.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-long-java.util.concurrent.TimeUnit-">deadband</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
+        long&nbsp;maximumSuppression,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Deadband filter with maximum suppression time.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Range.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html#valueOf-java.lang.String-org.apache.edgent.function.Function-">valueOf</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toStringValue,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,T&gt;&nbsp;fromString)</code>
+<div class="block">Create a Range from a String produced by toString().</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</code>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.http">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">deleteJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
+<div class="block">Make an HTTP DELETE request with JsonObject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">getJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
+<div class="block">Make an HTTP GET request with JsonObject.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP POST request with JsonObject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP PUT request with JsonObject.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request for each tuple on a stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request for each tuple on a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request with body for each tuple.<br></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request with body for each tuple.<br></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request with body for each tuple.<br></div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+          <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</code>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.kafka">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified topic partitions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified topic partitions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified topic partitions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified topic partitions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribe-org.apache.edgent.function.Function-java.lang.String...-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribeBytes-org.apache.edgent.function.Function-java.lang.String...-">subscribeBytes</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
+<div class="block">Publish a stream's tuples as MQTT messages.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
+<div class="block">Publish a stream's tuples as MQTT messages.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
+<div class="block">Publish a stream's tuples as MQTT messages.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
+<div class="block">Publish a stream's tuples as MQTT messages.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.serial">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">SerialDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html#getSource-org.apache.edgent.function.Function-">getSource</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a>,T&gt;&nbsp;driver)</code>
+<div class="block">Create a function that can be used to source a
+ stream from a serial port device.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.function">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;T&gt;</span></code>
+<div class="block">Function that returns the same type as its argument.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> that return <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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 &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#synchronizedFunction-org.apache.edgent.function.Function-">synchronizedFunction</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,R&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>Function</code> function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#unpartitioned--">unpartitioned</a></span>()</code>
+<div class="block">Returns a constant function that returns zero (0).</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#zero--">zero</a></span>()</code>
+<div class="block">Returns a constant function that returns zero (0).</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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 &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#synchronizedFunction-org.apache.edgent.function.Function-">synchronizedFunction</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,R&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>Function</code> function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html#FlatMap-org.apache.edgent.function.Function-">FlatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">O</a>&gt;&gt;&nbsp;function)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Map.html#Map-org.apache.edgent.function.Function-">Map</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">I</a>,<a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">O</a>&gt;&nbsp;function)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html#PressureReliever-int-org.apache.edgent.function.Function-">PressureReliever</a></span>(int&nbsp;count,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">K</a>&gt;&nbsp;keyFunction)</code>
+<div class="block">Pressure reliever that maintains up to <code>count</code> most recent tuples per key.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> that return <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#getKeyFunction--">getKeyFunction</a></span>()</code>
+<div class="block">Returns the key function used to map tuples to partitions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>
+<div class="block">Declare a new stream that maps tuples from this stream into one or
+ more (or zero) tuples of a different type <code>U</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+    <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with the last tuple seen on a stream of type <code>U</code>
+ with partitioning.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with the last tuple seen on a stream of type <code>U</code>
+ with partitioning.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#last-int-org.apache.edgent.function.Function-">last</a></span>(int&nbsp;count,
+    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</code>
+<div class="block">Declare a partitioned window that continually represents the last <code>count</code>
+ tuples on this stream for each partition.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</code>
+<div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
+ tuples on this stream for each partition.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#map-org.apache.edgent.function.Function-">map</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;mapper)</code>
+<div class="block">Declare a new stream that maps (or transforms) each tuple from this stream into one
+ (or zero) tuple of a different type <code>U</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
+     <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,E&gt;&nbsp;splitter)</code>
+<div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
+ <code>splitter</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.json">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/topology/json/package-summary.html">org.apache.edgent.topology.json</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/json/package-summary.html">org.apache.edgent.topology.json</a> that return <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,byte[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#asBytes--">asBytes</a></span>()</code>
+<div class="block">Get the UTF-8 bytes representation of the JSON for a JsonObject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#asString--">asString</a></span>()</code>
+<div class="block">Get the JSON for a JsonObject.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;byte[],com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#fromBytes--">fromBytes</a></span>()</code>
+<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#fromString--">fromString</a></span>()</code>
+<div class="block">Create a new JsonObject from JSON.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,com.google.gson.JsonElement&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#unpartitioned--">unpartitioned</a></span>()</code>
+<div class="block">Returns a constant function that returns a zero (0) JsonElement.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfBoolean-java.lang.String-">valueOfBoolean</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Boolean</code> property.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfCharacter-java.lang.String-">valueOfCharacter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Character</code> property.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br><a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfNumber-java.lang.String-">valueOfNumber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Number</code> property.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonFunctions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfString-java.lang.String-">valueOfString</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>String</code> property.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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 &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrentMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#pressureReliever-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-int-">pressureReliever</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+                int&nbsp;count)</code>
+<div class="block">Relieve pressure on upstream processing by discarding tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a> with type arguments of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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 &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrentMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that return <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">T</a>,<a href="../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">K</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#getKeyFunction--">getKeyFunction</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+    <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#last-int-org.apache.edgent.function.Function-">last</a></span>(int&nbsp;count,
+    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#map-org.apache.edgent.function.Function-">map</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;mapper)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
+     <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,E&gt;&nbsp;splitter)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a> in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> that return <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getKeyFunction--">getKeyFunction</a></span>()</code>
+<div class="block">Returns the keyFunction of the window</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</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 &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html?is-external=true" title="class or interface in java.util">LinkedList</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#lastNProcessOnInsert-int-org.apache.edgent.function.Function-">lastNProcessOnInsert</a></span>(int&nbsp;count,
+                    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction)</code>
+<div class="block">Return a window that maintains the last <code>count</code> tuples inserted
+ with processing triggered on every insert.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/Function.html" target="_top">Frames</a></li>
+<li><a href="Function.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Functions.html b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Functions.html
new file mode 100644
index 0000000..fc67517
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Functions.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.function.Functions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.function.Functions (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/Functions.html" target="_top">Frames</a></li>
+<li><a href="Functions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.function.Functions" class="title">Uses of Class<br>org.apache.edgent.function.Functions</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.function.Functions</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/Functions.html" target="_top">Frames</a></li>
+<li><a href="Functions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Predicate.html b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Predicate.html
new file mode 100644
index 0000000..2d6998d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Predicate.html
@@ -0,0 +1,502 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.Predicate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.function.Predicate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/Predicate.html" target="_top">Frames</a></li>
+<li><a href="Predicate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.function.Predicate" class="title">Uses of Interface<br>org.apache.edgent.function.Predicate</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors</a></td>
+<td class="colLast">
+<div class="block">Analytics focused on handling sensor data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.function">org.apache.edgent.function</a></td>
+<td class="colLast">
+<div class="block">Functional interfaces for lambda expressions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing</a></td>
+<td class="colLast">
+<div class="block">Plumbing for a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.sensors">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a> in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> that implement <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">Deadtime</a>&lt;T&gt;</span></code>
+<div class="block">Deadtime <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><code>Predicate</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;</span></code>
+<div class="block">A generic immutable range of values and a way to 
+ check a value for containment in the range.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> that return <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</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 &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;?&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Ranges.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Ranges.html#outsideOf-org.apache.edgent.analytics.sensors.Range-">outsideOf</a></span>(<a href="../../../../../org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">Range</a>&lt;T&gt;&nbsp;range)</code>
+<div class="block">Create a Predicate whose <code>test(v)</code> behaves like <code>! range.test(v)</code></div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</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 &lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-">deadband</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand)</code>
+<div class="block">Deadband filter.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-long-java.util.concurrent.TimeUnit-">deadband</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
+        long&nbsp;maximumSuppression,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Deadband filter with maximum suppression time.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a> in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> that return <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="type parameter in FileWriterFlushConfig">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterFlushConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#getTuplePredicate--">getTuplePredicate</a></span>()</code>
+<div class="block">Get the tuple predicate configuration value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="type parameter in FileWriterCycleConfig">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#getTuplePredicate--">getTuplePredicate</a></span>()</code>
+<div class="block">Get the tuple predicate configuration value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterFlushConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newConfig-int-long-org.apache.edgent.function.Predicate-">newConfig</a></span>(int&nbsp;cntTuples,
+         long&nbsp;periodMsec,
+         <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newConfig-long-int-long-org.apache.edgent.function.Predicate-">newConfig</a></span>(long&nbsp;fileSize,
+         int&nbsp;cntTuples,
+         long&nbsp;periodMsec,
+         <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">Create a new configuration.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterFlushConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterFlushConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterFlushConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">same as <code>newConfig(0, 0, tuplePredicate)</code></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file">FileWriterCycleConfig</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileWriterCycleConfig.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileWriterCycleConfig.html#newPredicateBasedConfig-org.apache.edgent.function.Predicate-">newPredicateBasedConfig</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;&nbsp;tuplePredicate)</code>
+<div class="block">same as <code>newConfig(0, 0, 0, tuplePredicate)</code></div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.function">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a> in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> that return <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#alwaysFalse--">alwaysFalse</a></span>()</code>
+<div class="block">A Predicate that is always false</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#alwaysTrue--">alwaysTrue</a></span>()</code>
+<div class="block">A Predicate that is always true</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a> in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+       <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</code>
+<div class="block">Insert Peek oplets returned by the specified <code>Supplier</code> into 
+ the outputs of all of the oplets which satisfy the specified 
+ <code>Predicate</code> and where the output's <a href="../../../../../org/apache/edgent/graph/Connector.html#isConnected--"><code>Connector.isConnected()</code></a>
+ is true.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a> in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+       <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a> in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Filter.html#Filter-org.apache.edgent.function.Predicate-">Filter</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="type parameter in Filter">T</a>&gt;&nbsp;filter)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a> in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScope.TriggerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setCaptureByPredicate-org.apache.edgent.function.Predicate-">setCaptureByPredicate</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="type parameter in StreamScope.TriggerManager">T</a>&gt;&nbsp;predicate)</code>
+<div class="block">Capture a tuple if the <code>predicate</code> test of the tuple returns true.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScope.TriggerManager.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setPauseOn-org.apache.edgent.function.Predicate-">setPauseOn</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="type parameter in StreamScope.TriggerManager">T</a>&gt;&nbsp;predicate)</code>
+<div class="block">Set a pause-on predicate.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-">filter</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;predicate)</code>
+<div class="block">Declare a new stream that filters tuples from this stream.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a> in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a> that implement <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a>&lt;T&gt;</span></code>
+<div class="block">A generic "valve" <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><code>Predicate</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#filter-org.apache.edgent.function.Predicate-">filter</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;predicate)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/Predicate.html" target="_top">Frames</a></li>
+<li><a href="Predicate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Supplier.html b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Supplier.html
new file mode 100644
index 0000000..18b94eb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/Supplier.html
@@ -0,0 +1,914 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.Supplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.function.Supplier (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/Supplier.html" target="_top">Frames</a></li>
+<li><a href="Supplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.function.Supplier" class="title">Uses of Interface<br>org.apache.edgent.function.Supplier</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
+<td class="colLast">
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.command">org.apache.edgent.connectors.command</a></td>
+<td class="colLast">
+<div class="block">Command / OS Process connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.http">org.apache.edgent.connectors.http</a></td>
+<td class="colLast">
+<div class="block">HTTP stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
+<td class="colLast">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.serial">org.apache.edgent.connectors.serial</a></td>
+<td class="colLast">
+<div class="block">Serial port connector API.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
+<td class="colLast">
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.function">org.apache.edgent.function</a></td>
+<td class="colLast">
+<div class="block">Functional interfaces for lambda expressions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.functions">org.apache.edgent.topology.spi.functions</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
+<td class="colLast">
+<div class="block">Window API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a></span></code>
+<div class="block">Univariate aggregate for a tuple.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a></span></code>
+<div class="block">Univariate aggregate for a JSON tuple.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a> that implement <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression</a></span></code>
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat">Regression2</a></span></code>
+<div class="block">Univariate regression aggregates.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic</a></span></code>
+<div class="block">Statistic implementations.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat">Statistic2</a></span></code>
+<div class="block">Statistic implementations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.command">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a> that return <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#commandReaderList-java.lang.ProcessBuilder-">commandReaderList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Create a <code>Supplier&lt;List&lt;String&gt;&gt;</code> to ingest a command's output.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#endlessCommandReader-java.lang.ProcessBuilder-">endlessCommandReader</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Create an endless <code>Supplier&lt;String&gt;</code> for ingesting a long running command's output.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory)</code>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-java.util.Comparator-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&gt;&nbsp;comparator)</code>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname)</code>
+<div class="block">Write the contents of a stream to files.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</code>
+<div class="block">Write the contents of a stream to files subject to the control
+ of a file writer policy.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</code>
+<div class="block">Write the contents of a stream to files subject to the control
+ of a file writer policy.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.http">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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 org.apache.http.impl.client.CloseableHttpClient</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpClients.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">basic</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;user,
+     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;password)</code>
+<div class="block">Method to create a basic authentication HTTP client.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static org.apache.http.impl.client.CloseableHttpClient</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpClients.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpClients.html#basic-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">basic</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;user,
+     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;password)</code>
+<div class="block">Method to create a basic authentication HTTP client.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">deleteJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
+<div class="block">Make an HTTP DELETE request with JsonObject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">getJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
+<div class="block">Make an HTTP GET request with JsonObject.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP POST request with JsonObject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP PUT request with JsonObject.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request for each tuple on a stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request with body for each tuple.<br></div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.kafka">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#KafkaConsumer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaConsumer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
+<div class="block">Create a consumer connector for subscribing to Kafka topics
+ and creating tuples from the received messages.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#KafkaProducer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaProducer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
+<div class="block">Create a producer connector for publishing tuples to Kafka topics.s</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#MqttStreams-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">MqttStreams</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&gt;&nbsp;config)</code>
+<div class="block">Create a connector with the specified configuration.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.serial">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a> that return <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">SerialDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html#getSource-org.apache.edgent.function.Function-">getSource</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial">SerialPort</a>,T&gt;&nbsp;driver)</code>
+<div class="block">Create a function that can be used to source a
+ stream from a serial port device.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient.javax.websocket">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.function.Supplier-">Jsr356WebSocketClient</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config,
+                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;javax.websocket.WebSocketContainer&gt;&nbsp;containerFn)</code>
+<div class="block">Create a new Web Socket Client connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.function">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> that return <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#synchronizedSupplier-org.apache.edgent.function.Supplier-">synchronizedSupplier</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>Supplier</code> function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#synchronizedSupplier-org.apache.edgent.function.Supplier-">synchronizedSupplier</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;function)</code>
+<div class="block">Return a thread-safe version of a <code>Supplier</code> function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+       <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</code>
+<div class="block">Insert Peek oplets returned by the specified <code>Supplier</code> into 
+ the outputs of all of the oplets which satisfy the specified 
+ <code>Predicate</code> and where the output's <a href="../../../../../org/apache/edgent/graph/Connector.html#isConnected--"><code>Connector.isConnected()</code></a>
+ is true.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+       <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#SupplierPeriodicSource-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Supplier-">SupplierPeriodicSource</a></span>(long&nbsp;period,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+                      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#SupplierSource-org.apache.edgent.function.Supplier-">SupplierSource</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&gt;&nbsp;data)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> that return <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html#getRuntimeServiceSupplier--">getRuntimeServiceSupplier</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> that return <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#getRuntimeServiceSupplier--">getRuntimeServiceSupplier</a></span>()</code>
+<div class="block">Return a function that at execution time
+ will return a <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><code>RuntimeServices</code></a> instance
+ a stream function can use.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#generate-org.apache.edgent.function.Supplier-">generate</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data)</code>
+<div class="block">Declare an endless source stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
+    long&nbsp;period,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>
+<div class="block">Declare a new source stream that iterates over the return of
+ <code>Iterable&lt;T&gt; get()</code> from <code>data</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#generate-org.apache.edgent.function.Supplier-">generate</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.functions">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/topology/spi/functions/package-summary.html">org.apache.edgent.topology.spi.functions</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/functions/package-summary.html">org.apache.edgent.topology.spi.functions</a> that implement <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/topology/spi/functions/package-summary.html">org.apache.edgent.topology.spi.functions</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html#EndlessSupplier-org.apache.edgent.function.Supplier-">EndlessSupplier</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;&nbsp;data)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
+    long&nbsp;period,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a> in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> that return <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#insertionTimeList--">insertionTimeList</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</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 &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> with parameters of type <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/PartitionedState.html#PartitionedState-org.apache.edgent.function.Supplier-">PartitionedState</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a>&gt;&nbsp;initialState)</code>
+<div class="block">Construct with an initial state function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/Supplier.html" target="_top">Frames</a></li>
+<li><a href="Supplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/ToDoubleFunction.html b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/ToDoubleFunction.html
new file mode 100644
index 0000000..02436a6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/ToDoubleFunction.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.ToDoubleFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.function.ToDoubleFunction (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/ToDoubleFunction.html" target="_top">Frames</a></li>
+<li><a href="ToDoubleFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.function.ToDoubleFunction" class="title">Uses of Interface<br>org.apache.edgent.function.ToDoubleFunction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
+<td class="colLast">
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a> in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a> with parameters of type <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</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 &lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregate-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate-">aggregate</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+         <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+         <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>&nbsp;aggregate)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregations.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/Aggregations.html#aggregateN-java.util.Collection-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.UnivariateAggregate...-">aggregateN</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;c,
+          <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;&nbsp;getter,
+          <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Perform the specified <a href="../../../../../org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><code>UnivariateAggregate</code></a> a Collection of <code>T</code>
+ using the specified <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><code>getter</code></a> to extract the
+ variable to aggregate.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a> in <a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a> with parameters of type <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</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 &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+         <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+         <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;com.google.gson.JsonObject&gt;,K,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregateList-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregateList</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+             <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+             <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Create a Function that aggregates against a single <code>Numeric</code>
+ variable contained in an JSON object.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/ToDoubleFunction.html" target="_top">Frames</a></li>
+<li><a href="ToDoubleFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/ToIntFunction.html b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/ToIntFunction.html
new file mode 100644
index 0000000..50eb807
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/ToIntFunction.html
@@ -0,0 +1,285 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.ToIntFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.function.ToIntFunction (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/ToIntFunction.html" target="_top">Frames</a></li>
+<li><a href="ToIntFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.function.ToIntFunction" class="title">Uses of Interface<br>org.apache.edgent.function.ToIntFunction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing</a></td>
+<td class="colLast">
+<div class="block">Plumbing for a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a> in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> with parameters of type <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#Split-org.apache.edgent.function.ToIntFunction-">Split</a></span>(<a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;splitter)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
+     <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;splitter)</code>
+<div class="block">Split a stream's tuples among <code>n</code> streams as specified by
+ <code>splitter</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a> in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a> that implement <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">LoadBalancedSplitter</a>&lt;T&gt;</span></code>
+<div class="block">A Load Balanced Splitter function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a> that return <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#roundRobinSplitter-int-">roundRobinSplitter</a></span>(int&nbsp;width)</code>
+<div class="block">A round-robin splitter ToIntFunction</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a> with parameters of type <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</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 &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        int&nbsp;width,
+        <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallelMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+           int&nbsp;width,
+           <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</code>
+<div class="block">Perform an analytic function on tuples in parallel.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
+     <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;splitter)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/ToIntFunction.html" target="_top">Frames</a></li>
+<li><a href="ToIntFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/UnaryOperator.html b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/UnaryOperator.html
new file mode 100644
index 0000000..3f5656c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/UnaryOperator.html
@@ -0,0 +1,380 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.function.UnaryOperator (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.function.UnaryOperator (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/UnaryOperator.html" target="_top">Frames</a></li>
+<li><a href="UnaryOperator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.function.UnaryOperator" class="title">Uses of Interface<br>org.apache.edgent.function.UnaryOperator</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.http">org.apache.edgent.connectors.http</a></td>
+<td class="colLast">
+<div class="block">HTTP stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iot">org.apache.edgent.connectors.iot</a></td>
+<td class="colLast">
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.function">org.apache.edgent.function</a></td>
+<td class="colLast">
+<div class="block">Functional interfaces for lambda expressions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.http">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a> in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a> with parameters of type <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP POST request with JsonObject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP PUT request with JsonObject.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a> in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a> in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> with parameters of type <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+          <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</code>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.function">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a> in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> that return <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Functions.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/function/Functions.html#identity--">identity</a></span>()</code>
+<div class="block">Returns the identity function that returns its single argument.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#modify-org.apache.edgent.function.UnaryOperator-">modify</a></span>(<a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;modifier)</code>
+<div class="block">Declare a new stream that modifies each tuple from this stream into one
+ (or zero) tuple of the same type <code>T</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a> in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> with parameters of type <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#modify-org.apache.edgent.function.UnaryOperator-">modify</a></span>(<a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;modifier)</code>
+<div class="block">Declare a new stream that modifies each tuple from this stream into one
+ (or zero) tuple of the same type <code>T</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/UnaryOperator.html" target="_top">Frames</a></li>
+<li><a href="UnaryOperator.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/WrappedFunction.html b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/WrappedFunction.html
new file mode 100644
index 0000000..af90918
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/class-use/WrappedFunction.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.function.WrappedFunction (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.function.WrappedFunction (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/WrappedFunction.html" target="_top">Frames</a></li>
+<li><a href="WrappedFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.function.WrappedFunction" class="title">Uses of Class<br>org.apache.edgent.function.WrappedFunction</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.functions">org.apache.edgent.topology.spi.functions</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.topology.spi.functions">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a> in <a href="../../../../../org/apache/edgent/topology/spi/functions/package-summary.html">org.apache.edgent.topology.spi.functions</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a> in <a href="../../../../../org/apache/edgent/topology/spi/functions/package-summary.html">org.apache.edgent.topology.spi.functions</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/function/class-use/WrappedFunction.html" target="_top">Frames</a></li>
+<li><a href="WrappedFunction.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/function/package-frame.html
new file mode 100644
index 0000000..8804c09
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/package-frame.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.function (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../org/apache/edgent/function/package-summary.html" target="classFrame">org.apache.edgent.function</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="BiConsumer.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">BiConsumer</span></a></li>
+<li><a href="BiFunction.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">BiFunction</span></a></li>
+<li><a href="Consumer.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">Consumer</span></a></li>
+<li><a href="Function.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">Function</span></a></li>
+<li><a href="Predicate.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">Predicate</span></a></li>
+<li><a href="Supplier.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">Supplier</span></a></li>
+<li><a href="ToDoubleFunction.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">ToDoubleFunction</span></a></li>
+<li><a href="ToIntFunction.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">ToIntFunction</span></a></li>
+<li><a href="UnaryOperator.html" title="interface in org.apache.edgent.function" target="classFrame"><span class="interfaceName">UnaryOperator</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Functions.html" title="class in org.apache.edgent.function" target="classFrame">Functions</a></li>
+<li><a href="WrappedFunction.html" title="class in org.apache.edgent.function" target="classFrame">WrappedFunction</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/function/package-summary.html
new file mode 100644
index 0000000..c97c053
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/package-summary.html
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.function (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.function (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/services/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/graph/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.function</h1>
+<div class="docSummary">
+<div class="block">Functional interfaces for lambda expressions.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;T,U&gt;</td>
+<td class="colLast">
+<div class="block">Consumer function that takes two arguments.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,U,R&gt;</td>
+<td class="colLast">
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,R&gt;</td>
+<td class="colLast">
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Predicate function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Function that returns a double primitive.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Function that returns a int primitive.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Function that returns the same type as its argument.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function">Functions</a></td>
+<td class="colLast">
+<div class="block">Common functions and functional utilities.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a>&lt;F&gt;</td>
+<td class="colLast">
+<div class="block">A wrapped function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.function Description">Package org.apache.edgent.function Description</h2>
+<div class="block">Functional interfaces for lambda expressions.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/services/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/graph/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/function/package-tree.html
new file mode 100644
index 0000000..0a53a68
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/package-tree.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.function Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.function Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/services/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/graph/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.function</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function"><span class="typeNameLink">Functions</span></a></li>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">WrappedFunction</span></a>&lt;F&gt; (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
+<ul>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">BiConsumer</span></a>&lt;T,U&gt;</li>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">BiFunction</span></a>&lt;T,U,R&gt;</li>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Consumer</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Function</span></a>&lt;T,R&gt;
+<ul>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">UnaryOperator</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Predicate</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Supplier</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">ToIntFunction</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">ToDoubleFunction</span></a>&lt;T&gt;</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/execution/services/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/graph/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/function/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/function/package-use.html
new file mode 100644
index 0000000..471c302
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/function/package-use.html
@@ -0,0 +1,1371 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.function (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.function (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.function" class="title">Uses of Package<br>org.apache.edgent.function</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
+<td class="colLast">
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.stat">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors</a></td>
+<td class="colLast">
+<div class="block">Analytics focused on handling sensor data.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.command">org.apache.edgent.connectors.command</a></td>
+<td class="colLast">
+<div class="block">Command / OS Process connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.http">org.apache.edgent.connectors.http</a></td>
+<td class="colLast">
+<div class="block">HTTP stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iot">org.apache.edgent.connectors.iot</a></td>
+<td class="colLast">
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
+<td class="colLast">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub.service">org.apache.edgent.connectors.pubsub.service</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe service.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.serial">org.apache.edgent.connectors.serial</a></td>
+<td class="colLast">
+<div class="block">Serial port connector API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
+<td class="colLast">
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.execution.services">org.apache.edgent.execution.services</a></td>
+<td class="colLast">
+<div class="block">Execution services.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.function">org.apache.edgent.function</a></td>
+<td class="colLast">
+<div class="block">Functional interfaces for lambda expressions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet">org.apache.edgent.oplet</a></td>
+<td class="colLast">
+<div class="block">Oplets API.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.json">org.apache.edgent.topology.json</a></td>
+<td class="colLast">
+<div class="block">Utilities for use of JSON in a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing</a></td>
+<td class="colLast">
+<div class="block">Plumbing for a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.services">org.apache.edgent.topology.services</a></td>
+<td class="colLast">
+<div class="block">Services for topologies.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.functions">org.apache.edgent.topology.spi.functions</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
+<td class="colLast">
+<div class="block">Window API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.analytics.math3">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.analytics.math3">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/ToDoubleFunction.html#org.apache.edgent.analytics.math3">ToDoubleFunction</a>
+<div class="block">Function that returns a double primitive.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.analytics.math3.json">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.analytics.math3.json">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/ToDoubleFunction.html#org.apache.edgent.analytics.math3.json">ToDoubleFunction</a>
+<div class="block">Function that returns a double primitive.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.stat">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.analytics.math3.stat">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.sensors">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.analytics.sensors">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Predicate.html#org.apache.edgent.analytics.sensors">Predicate</a>
+<div class="block">Predicate function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.command">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.connectors.command">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.connectors.command">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.connectors.file">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.connectors.file">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Predicate.html#org.apache.edgent.connectors.file">Predicate</a>
+<div class="block">Predicate function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.connectors.file">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.http">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.connectors.http">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.connectors.http">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.connectors.http">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/UnaryOperator.html#org.apache.edgent.connectors.http">UnaryOperator</a>
+<div class="block">Function that returns the same type as its argument.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.connectors.iot">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/UnaryOperator.html#org.apache.edgent.connectors.iot">UnaryOperator</a>
+<div class="block">Function that returns the same type as its argument.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.connectors.iotp">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/UnaryOperator.html#org.apache.edgent.connectors.iotp">UnaryOperator</a>
+<div class="block">Function that returns the same type as its argument.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.connectors.jdbc">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.connectors.jdbc">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.kafka">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.connectors.kafka">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.connectors.kafka">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.connectors.mqtt">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.connectors.mqtt">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.connectors.mqtt">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.connectors.mqtt.iot">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/UnaryOperator.html#org.apache.edgent.connectors.mqtt.iot">UnaryOperator</a>
+<div class="block">Function that returns the same type as its argument.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub.service">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.connectors.pubsub.service">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.serial">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.connectors.serial">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.connectors.serial">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.connectors.serial">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient.javax.websocket">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.connectors.wsclient.javax.websocket">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.execution.services">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiConsumer.html#org.apache.edgent.execution.services">BiConsumer</a>
+<div class="block">Consumer function that takes two arguments.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.function">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.function">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.function">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.function">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Predicate.html#org.apache.edgent.function">Predicate</a>
+<div class="block">Predicate function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.function">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/UnaryOperator.html#org.apache.edgent.function">UnaryOperator</a>
+<div class="block">Function that returns the same type as its argument.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Predicate.html#org.apache.edgent.graph">Predicate</a>
+<div class="block">Predicate function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.graph">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Predicate.html#org.apache.edgent.graph.spi">Predicate</a>
+<div class="block">Predicate function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.graph.spi">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.metrics.oplets">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.oplet">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.oplet.core">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.oplet.core">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/ToIntFunction.html#org.apache.edgent.oplet.core">ToIntFunction</a>
+<div class="block">Function that returns a int primitive.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.oplet.functional">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.oplet.functional">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Predicate.html#org.apache.edgent.oplet.functional">Predicate</a>
+<div class="block">Predicate function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.oplet.functional">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.oplet.plumbing">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.oplet.plumbing">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.oplet.plumbing">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.window">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.oplet.window">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.oplet.window">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.providers.direct">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiConsumer.html#org.apache.edgent.providers.iot">BiConsumer</a>
+<div class="block">Consumer function that takes two arguments.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.providers.iot">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiConsumer.html#org.apache.edgent.runtime.appservice">BiConsumer</a>
+<div class="block">Consumer function that takes two arguments.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiConsumer.html#org.apache.edgent.runtime.etiao">BiConsumer</a>
+<div class="block">Consumer function that takes two arguments.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.runtime.etiao">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiConsumer.html#org.apache.edgent.runtime.jobregistry">BiConsumer</a>
+<div class="block">Consumer function that takes two arguments.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.runtime.jobregistry">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Predicate.html#org.apache.edgent.streamscope">Predicate</a>
+<div class="block">Predicate function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.streamscope.oplets">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.topology">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.topology">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.topology">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Predicate.html#org.apache.edgent.topology">Predicate</a>
+<div class="block">Predicate function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.topology">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/ToIntFunction.html#org.apache.edgent.topology">ToIntFunction</a>
+<div class="block">Function that returns a int primitive.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/UnaryOperator.html#org.apache.edgent.topology">UnaryOperator</a>
+<div class="block">Function that returns the same type as its argument.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.json">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/topology/json/package-summary.html">org.apache.edgent.topology.json</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.topology.json">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.plumbing">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.topology.plumbing">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.topology.plumbing">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Predicate.html#org.apache.edgent.topology.plumbing">Predicate</a>
+<div class="block">Predicate function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/ToIntFunction.html#org.apache.edgent.topology.plumbing">ToIntFunction</a>
+<div class="block">Function that returns a int primitive.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.services">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiConsumer.html#org.apache.edgent.topology.services">BiConsumer</a>
+<div class="block">Consumer function that takes two arguments.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.topology.spi">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.topology.spi">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/UnaryOperator.html#org.apache.edgent.topology.spi">UnaryOperator</a>
+<div class="block">Function that returns the same type as its argument.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.functions">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/topology/spi/functions/package-summary.html">org.apache.edgent.topology.spi.functions</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.topology.spi.functions">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/WrappedFunction.html#org.apache.edgent.topology.spi.functions">WrappedFunction</a>
+<div class="block">A wrapped function.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.topology.spi.graph">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.topology.spi.graph">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.topology.spi.graph">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Predicate.html#org.apache.edgent.topology.spi.graph">Predicate</a>
+<div class="block">Predicate function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.topology.spi.graph">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/ToIntFunction.html#org.apache.edgent.topology.spi.graph">ToIntFunction</a>
+<div class="block">Function that returns a int primitive.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.window">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a> used by <a href="../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiConsumer.html#org.apache.edgent.window">BiConsumer</a>
+<div class="block">Consumer function that takes two arguments.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/BiFunction.html#org.apache.edgent.window">BiFunction</a>
+<div class="block">Function that takes two arguments and returns a value.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Consumer.html#org.apache.edgent.window">Consumer</a>
+<div class="block">Function that consumes a value.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Function.html#org.apache.edgent.window">Function</a>
+<div class="block">Single argument function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/function/class-use/Supplier.html#org.apache.edgent.window">Supplier</a>
+<div class="block">Function that supplies a value.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/function/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/Connector.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/Connector.html
new file mode 100644
index 0000000..6a62ffd
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/Connector.html
@@ -0,0 +1,434 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Connector (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Connector (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Connector.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/Connector.html" target="_top">Frames</a></li>
+<li><a href="Connector.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.graph</div>
+<h2 title="Interface Connector" class="title">Interface Connector&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of the data item produced by the output port</dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Connector&lt;T&gt;</span></pre>
+<div class="block">A <code>Connector</code> represents an output port of a <code>Vertex</code>.
+ 
+ A <code>Connector</code> supports two methods to add processing for tuples
+ submitted to the port:
+ <UL>
+ <LI><a href="../../../../org/apache/edgent/graph/Connector.html#connect-org.apache.edgent.graph.Vertex-int-"><code>connect(Vertex, int)</code></a> : Connect this to an input port of another
+ <code>Vertex</code>. Any number of connections can be made. Any tuple submitted by
+ the output port will appear on all connections made through this method. For
+ any tuple <code>t</code> ordering of appearance across the connected input ports
+ is not guaranteed.</LI>
+ <LI><a href="../../../../org/apache/edgent/graph/Connector.html#peek-N-"><code>peek(Peek)</code></a> : Insert a peek after the output port and before any
+ connections made by <a href="../../../../org/apache/edgent/graph/Connector.html#connect-org.apache.edgent.graph.Vertex-int-"><code>connect(Vertex, int)</code></a>. Multiple peeks can be
+ inserted. A tuple <code>t</code> submitted by the output port will be seen by all
+ peek oplets. The ordering of the peek is guaranteed such that the peeks
+ are processed in the order they were added to this <code>Connector</code> with the
+ <code>t</code> being seen first by the first peek added.
+ <LI>
+ </UL>
+ For example with peeks <code>P1,P2,P3</code> added in that order and connections
+ <code>C1,C2</code> added, the graph will be logically:
+
+ <pre>
+ <code>
+                      --&gt;C1
+ port--&gt;P1--&gt;P2--&gt;P3--|
+                      --&gt;C2
+ </code>
+ </pre>
+ 
+ A tuple <code>t</code> submitted by the port will be peeked at by <code>P1</code>, then
+ <code>P2</code> then <code>P3</code>. After <code>P3</code> peeked at the tuple, <code>C1</code>
+ and <code>C2</code> will process the tuple in an arbitrary order.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#alias-java.lang.String-">alias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
+<div class="block">Set the alias for the connector.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#connect-org.apache.edgent.graph.Vertex-int-">connect</a></span>(<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,<a href="../../../../org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>,?&gt;&nbsp;target,
+       int&nbsp;inputPort)</code>
+<div class="block">Connect this <code>Connector</code> to the specified target's input.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#getAlias--">getAlias</a></span>()</code>
+<div class="block">Returns the alias for the connector if any.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#getTags--">getTags</a></span>()</code>
+<div class="block">Returns the set of tags associated with this connector.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#graph--">graph</a></span>()</code>
+<div class="block">Gets the <code>Graph</code> for this <code>Connector</code>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#isConnected--">isConnected</a></span>()</code>
+<div class="block">Was connect() called on this connector?</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;<a href="../../../../org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>&gt;&gt;<br><a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#peek-N-">peek</a></span>(N&nbsp;oplet)</code>
+<div class="block">Inserts a <code>Peek</code> oplet between an output port and its
+ connections.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Connector.html#tag-java.lang.String...-">tag</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</code>
+<div class="block">Adds the specified tags to the connector.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="graph--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>graph</h4>
+<pre><a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph()</pre>
+<div class="block">Gets the <code>Graph</code> for this <code>Connector</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the <code>Graph</code> for this <code>Connector</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="connect-org.apache.edgent.graph.Vertex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>connect</h4>
+<pre>void&nbsp;connect(<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,<a href="../../../../org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>,?&gt;&nbsp;target,
+             int&nbsp;inputPort)</pre>
+<div class="block">Connect this <code>Connector</code> to the specified target's input. This
+ method may be called multiple times to fan out to multiple input ports.
+ Each tuple submitted to this output port will be processed by all
+ connections.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>target</code> - the <code>Vertex</code> to connect to</dd>
+<dd><code>inputPort</code> - the index of the target's input port to connect to.</dd>
+</dl>
+</li>
+</ul>
+<a name="isConnected--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isConnected</h4>
+<pre>boolean&nbsp;isConnected()</pre>
+<div class="block">Was connect() called on this connector?</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if connected</dd>
+</dl>
+</li>
+</ul>
+<a name="peek-org.apache.edgent.oplet.core.Peek-">
+<!--   -->
+</a><a name="peek-N-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>peek</h4>
+<pre>&lt;N extends <a href="../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;<a href="../../../../org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>&gt;&nbsp;peek(N&nbsp;oplet)</pre>
+<div class="block">Inserts a <code>Peek</code> oplet between an output port and its
+ connections. This method may be called multiple times to insert multiple
+ peeks. Each tuple submitted to this output port will be seen by all peeks
+ in order of their insertion, starting with the first peek inserted.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>N</code> - Peek oplet type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>oplet</code> - Oplet to insert.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>output</code></dd>
+</dl>
+</li>
+</ul>
+<a name="tag-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tag</h4>
+<pre>void&nbsp;tag(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</pre>
+<div class="block">Adds the specified tags to the connector.  Adding the same tag 
+ multiple times will not change the result beyond the initial 
+ application. An unconnected connector can be tagged.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>values</code> - Tag values.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTags--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTags</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
+<div class="block">Returns the set of tags associated with this connector.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>set of tag values.</dd>
+</dl>
+</li>
+</ul>
+<a name="alias-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>alias</h4>
+<pre>void&nbsp;alias(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</pre>
+<div class="block">Set the alias for the connector.
+ <p>
+ The alias must be unique within the topology.
+ The alias may be used in various contexts:
+ </p>
+ <ul>
+ <li>Runtime control services for the Connector (stream/outputport)
+ are registered with this alias.</li>
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>alias</code> - the alias</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the an alias has already been set</dd>
+</dl>
+</li>
+</ul>
+<a name="getAlias--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getAlias</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
+<div class="block">Returns the alias for the connector if any.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the alias. null if one has not be 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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Connector.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/Connector.html" target="_top">Frames</a></li>
+<li><a href="Connector.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/Edge.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/Edge.html
new file mode 100644
index 0000000..b7e72f3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/Edge.html
@@ -0,0 +1,335 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Edge (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Edge (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Edge.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/Edge.html" target="_top">Frames</a></li>
+<li><a href="Edge.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.graph</div>
+<h2 title="Interface Edge" class="title">Interface Edge</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Edge</span></pre>
+<div class="block">Represents an edge between two Vertices.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Edge.html#getAlias--">getAlias</a></span>()</code>
+<div class="block">Returns the alias associated with this edge.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Edge.html#getSource--">getSource</a></span>()</code>
+<div class="block">Returns the source vertex.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Edge.html#getSourceOutputPort--">getSourceOutputPort</a></span>()</code>
+<div class="block">Returns the source output port index.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Edge.html#getTags--">getTags</a></span>()</code>
+<div class="block">Returns the set of tags associated with this edge.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Edge.html#getTarget--">getTarget</a></span>()</code>
+<div class="block">Returns the target vertex.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Edge.html#getTargetInputPort--">getTargetInputPort</a></span>()</code>
+<div class="block">Returns the target input port index.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getSource--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSource</h4>
+<pre><a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;getSource()</pre>
+<div class="block">Returns the source vertex.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the source vertex.</dd>
+</dl>
+</li>
+</ul>
+<a name="getSourceOutputPort--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSourceOutputPort</h4>
+<pre>int&nbsp;getSourceOutputPort()</pre>
+<div class="block">Returns the source output port index.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the source output port index.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTarget--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTarget</h4>
+<pre><a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;getTarget()</pre>
+<div class="block">Returns the target vertex.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the target vertex.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTargetInputPort--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTargetInputPort</h4>
+<pre>int&nbsp;getTargetInputPort()</pre>
+<div class="block">Returns the target input port index.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the target input port index.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTags--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTags</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
+<div class="block">Returns the set of tags associated with this edge.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>set of tag values.</dd>
+</dl>
+</li>
+</ul>
+<a name="getAlias--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getAlias</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
+<div class="block">Returns the alias associated with this edge.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the alias. null if none.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Edge.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/Edge.html" target="_top">Frames</a></li>
+<li><a href="Edge.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/Graph.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/Graph.html
new file mode 100644
index 0000000..b8bf8e9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/Graph.html
@@ -0,0 +1,395 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Graph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Graph.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/Graph.html" target="_top">Frames</a></li>
+<li><a href="Graph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.graph</div>
+<h2 title="Interface Graph" class="title">Interface Graph</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a>, <a href="../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Graph</span></pre>
+<div class="block">A generic directed graph of vertices, connectors and edges.
+ <p>
+ The graph consists of <a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> objects, each having
+ 0 or more input and/or output <a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph"><code>Connector</code></a> objects.
+ <a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><code>Edge</code></a> objects connect an output connector to
+ an input connector.
+ <p>
+ A vertex has an associated <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a> instance that will be executed
+ at runtime.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Graph.html#getEdges--">getEdges</a></span>()</code>
+<div class="block">Return an unmodifiable view of all edges in this graph.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Graph.html#getVertices--">getVertices</a></span>()</code>
+<div class="block">Return an unmodifiable view of all vertices in this graph.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;N,C,P&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Graph.html#insert-N-int-int-">insert</a></span>(N&nbsp;oplet,
+      int&nbsp;inputs,
+      int&nbsp;outputs)</code>
+<div class="block">Add a new unconnected <code>Vertex</code> into the graph.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Graph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a></span>(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+       <a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</code>
+<div class="block">Insert Peek oplets returned by the specified <code>Supplier</code> into 
+ the outputs of all of the oplets which satisfy the specified 
+ <code>Predicate</code> and where the output's <a href="../../../../org/apache/edgent/graph/Connector.html#isConnected--"><code>Connector.isConnected()</code></a>
+ is true.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Graph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe</a></span>(<a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;C&gt;&nbsp;output,
+    N&nbsp;oplet)</code>
+<div class="block">Create a new connected <a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;P&gt;,P&gt;<br><a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Graph.html#source-N-">source</a></span>(N&nbsp;oplet)</code>
+<div class="block">Create a new unconnected <a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified source <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="insert-org.apache.edgent.oplet.Oplet-int-int-">
+<!--   -->
+</a><a name="insert-N-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>insert</h4>
+<pre>&lt;N extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;&nbsp;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;N,C,P&gt;&nbsp;insert(N&nbsp;oplet,
+                                                int&nbsp;inputs,
+                                                int&nbsp;outputs)</pre>
+<div class="block">Add a new unconnected <code>Vertex</code> into the graph.
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>N</code> - an Oplet type</dd>
+<dd><code>C</code> - tuple type of input streams</dd>
+<dd><code>P</code> - tuple type of output streams</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>oplet</code> - the oplet to associate with the new vertex</dd>
+<dd><code>inputs</code> - the number of input connectors for the new vertex</dd>
+<dd><code>outputs</code> - the number of output connectors for the new vertex</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the newly created <code>Vertex</code> for the oplet</dd>
+</dl>
+</li>
+</ul>
+<a name="source-org.apache.edgent.oplet.core.Source-">
+<!--   -->
+</a><a name="source-N-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>source</h4>
+<pre>&lt;N extends <a href="../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;P&gt;,P&gt;&nbsp;<a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;&nbsp;source(N&nbsp;oplet)</pre>
+<div class="block">Create a new unconnected <a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified source <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.
+ <p>
+ The <code>Vertex</code> for the oplet has 0 input connectors and one output connector.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>N</code> - a Source type</dd>
+<dd><code>P</code> - tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>oplet</code> - the source oplet</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the output connector for the newly created vertex.</dd>
+</dl>
+</li>
+</ul>
+<a name="pipe-org.apache.edgent.graph.Connector-org.apache.edgent.oplet.Oplet-">
+<!--   -->
+</a><a name="pipe-org.apache.edgent.graph.Connector-N-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pipe</h4>
+<pre>&lt;N extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;&nbsp;<a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;&nbsp;pipe(<a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;C&gt;&nbsp;output,
+                                             N&nbsp;oplet)</pre>
+<div class="block">Create a new connected <a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.
+ <p>
+ The new <code>Vertex</code> has one input and one output <code>Connector</code>.
+ An <a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><code>Edge</code></a> is created connecting the specified output connector to
+ the new vertice's input connector.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>N</code> - an Oplet type</dd>
+<dd><code>C</code> - tuple type of input streams</dd>
+<dd><code>P</code> - tuple type of output streams</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>output</code> - the output connector to connect to the vertice's input connector</dd>
+<dd><code>oplet</code> - the oplet to associate with the new <code>Vertex</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the output connector for the new <code>Vertex</code></dd>
+</dl>
+</li>
+</ul>
+<a name="peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>peekAll</h4>
+<pre>void&nbsp;peekAll(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+             <a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</pre>
+<div class="block">Insert Peek oplets returned by the specified <code>Supplier</code> into 
+ the outputs of all of the oplets which satisfy the specified 
+ <code>Predicate</code> and where the output's <a href="../../../../org/apache/edgent/graph/Connector.html#isConnected--"><code>Connector.isConnected()</code></a>
+ is true.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>supplier</code> - Function which provides a Peek oplet to insert</dd>
+<dd><code>select</code> - Vertex selection Predicate</dd>
+</dl>
+</li>
+</ul>
+<a name="getVertices--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVertices</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;&nbsp;getVertices()</pre>
+<div class="block">Return an unmodifiable view of all vertices in this graph.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unmodifiable view of all vertices in this graph</dd>
+</dl>
+</li>
+</ul>
+<a name="getEdges--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getEdges</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;&nbsp;getEdges()</pre>
+<div class="block">Return an unmodifiable view of all edges in this graph.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the collection</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Graph.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/Graph.html" target="_top">Frames</a></li>
+<li><a href="Graph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/Vertex.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/Vertex.html
new file mode 100644
index 0000000..7eec178
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/Vertex.html
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Vertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Vertex (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Vertex.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/Vertex.html" target="_top">Frames</a></li>
+<li><a href="Vertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.graph</div>
+<h2 title="Interface Vertex" class="title">Interface Vertex&lt;N extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>N</code> - the type of the <code>Oplet</code></dd>
+<dd><code>C</code> - Data type the oplet consumes in its input ports.</dd>
+<dd><code>P</code> - Data type the oplet produces on its output ports.</dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">AbstractVertex</a>, <a href="../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Vertex&lt;N extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;</span></pre>
+<div class="block">A <code>Vertex</code> in a graph.
+ <p>
+ A <code>Vertex</code> has an <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a> instance
+ that will be executed at runtime and zero or
+ more input ports and zero or more output ports.
+ Each output port is represented by a <a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph"><code>Connector</code></a> instance.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Vertex.html#addOutput--">addOutput</a></span>()</code>
+<div class="block">Add an output port to the vertex.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Vertex.html#getConnectors--">getConnectors</a></span>()</code>
+<div class="block">Get the vertice's collection of output connectors.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">N</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Vertex.html#getInstance--">getInstance</a></span>()</code>
+<div class="block">Get the instance of the oplet that will be executed.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/graph/Vertex.html#graph--">graph</a></span>()</code>
+<div class="block">Get the vertice's <a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="graph--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>graph</h4>
+<pre><a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph()</pre>
+<div class="block">Get the vertice's <a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the graph</dd>
+</dl>
+</li>
+</ul>
+<a name="getInstance--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInstance</h4>
+<pre><a href="../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">N</a>&nbsp;getInstance()</pre>
+<div class="block">Get the instance of the oplet that will be executed.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the oplet</dd>
+</dl>
+</li>
+</ul>
+<a name="getConnectors--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConnectors</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;&gt;&nbsp;getConnectors()</pre>
+<div class="block">Get the vertice's collection of output connectors.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an immutable collection of the output connectors.</dd>
+</dl>
+</li>
+</ul>
+<a name="addOutput--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>addOutput</h4>
+<pre><a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;&nbsp;addOutput()</pre>
+<div class="block">Add an output port to the vertex.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>Connector</code> representing the output port.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Vertex.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/Vertex.html" target="_top">Frames</a></li>
+<li><a href="Vertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Connector.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Connector.html
new file mode 100644
index 0000000..74f2a11
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Connector.html
@@ -0,0 +1,314 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.graph.Connector (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.graph.Connector (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/class-use/Connector.html" target="_top">Frames</a></li>
+<li><a href="Connector.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.graph.Connector" class="title">Uses of Interface<br>org.apache.edgent.graph.Connector</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a> in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> that return <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Vertex.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Vertex.html#addOutput--">addOutput</a></span>()</code>
+<div class="block">Add an output port to the vertex.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;<a href="../../../../../org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>&gt;&gt;<br><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../../org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Connector.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Connector.html#peek-N-">peek</a></span>(N&nbsp;oplet)</code>
+<div class="block">Inserts a <code>Peek</code> oplet between an output port and its
+ connections.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;C&gt;&nbsp;output,
+    N&nbsp;oplet)</code>
+<div class="block">Create a new connected <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;P&gt;,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#source-N-">source</a></span>(N&nbsp;oplet)</code>
+<div class="block">Create a new unconnected <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified source <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="type parameter in Vertex">P</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Vertex.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Vertex.html#getConnectors--">getConnectors</a></span>()</code>
+<div class="block">Get the vertice's collection of output connectors.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</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>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;C&gt;&nbsp;output,
+    N&nbsp;oplet)</code>
+<div class="block">Create a new connected <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a> in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> that return <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</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>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;C&gt;&nbsp;output,
+    N&nbsp;oplet)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;P&gt;,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#source-N-">source</a></span>(N&nbsp;oplet)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> with parameters of type <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</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>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;C&gt;&nbsp;output,
+    N&nbsp;oplet)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> with parameters of type <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#DirectEdge-org.apache.edgent.graph.Connector-org.apache.edgent.graph.Vertex-int-org.apache.edgent.graph.Vertex-int-">DirectEdge</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;?&gt;&nbsp;connector,
+          <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;source,
+          int&nbsp;sourcePort,
+          <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;target,
+          int&nbsp;targetPort)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</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>protected &lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">G</a>,U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#derived-org.apache.edgent.graph.Connector-">derived</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;U&gt;&nbsp;connector)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#ConnectorStream-G-org.apache.edgent.graph.Connector-">ConnectorStream</a></span>(<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">G</a>&nbsp;topology,
+               <a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;connector)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/class-use/Connector.html" target="_top">Frames</a></li>
+<li><a href="Connector.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Edge.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Edge.html
new file mode 100644
index 0000000..3f54501
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Edge.html
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.graph.Edge (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.graph.Edge (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/class-use/Edge.html" target="_top">Frames</a></li>
+<li><a href="Edge.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.graph.Edge" class="title">Uses of Interface<br>org.apache.edgent.graph.Edge</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph.model">org.apache.edgent.runtime.etiao.graph.model</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a> in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#getEdges--">getEdges</a></span>()</code>
+<div class="block">Return an unmodifiable view of all edges in this graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a> in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> that implement <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></span></code>
+<div class="block">This class provides a simple implementation of the <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><code>Edge</code></a> interface in
+ the context of a <code>DirectProvider</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getEdges--">getEdges</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph.model">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a> with parameters of type <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#EdgeType-org.apache.edgent.graph.Edge-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">EdgeType</a></span>(<a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&nbsp;value,
+        org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/class-use/Edge.html" target="_top">Frames</a></li>
+<li><a href="Edge.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Graph.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Graph.html
new file mode 100644
index 0000000..2228769
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Graph.html
@@ -0,0 +1,354 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.graph.Graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.graph.Graph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/class-use/Graph.html" target="_top">Frames</a></li>
+<li><a href="Graph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.graph.Graph" class="title">Uses of Interface<br>org.apache.edgent.graph.Graph</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph.model">org.apache.edgent.runtime.etiao.graph.model</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a> in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> that return <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Vertex.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Vertex.html#graph--">graph</a></span>()</code>
+<div class="block">Get the vertice's <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Connector.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Connector.html#graph--">graph</a></span>()</code>
+<div class="block">Gets the <code>Graph</code> for this <code>Connector</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a> in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> that implement <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a>&lt;G&gt;</span></code>
+<div class="block">A skeletal implementation of the <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a> in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> that return <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DirectTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html#graph--">graph</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with parameters of type <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Executable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#createJob-org.apache.edgent.graph.Graph-java.lang.String-java.lang.String-">createJob</a></span>(<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> that implement <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></span></code>
+<div class="block"><code>DirectGraph</code> is a <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> that
+ is executed in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph.model">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a> with parameters of type <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#GraphType-org.apache.edgent.graph.Graph-">GraphType</a></span>(<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph)</code>
+<div class="block">Create an instance of <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#GraphType-org.apache.edgent.graph.Graph-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">GraphType</a></span>(<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;g,
+         org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>
+<div class="block">Create an instance of <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a> using the specified 
+ <code>IdMapper</code> to generate unique object identifiers.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> that return <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#graph--">graph</a></span>()</code>
+<div class="block">Get the underlying graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that return <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</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>protected <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#graph--">graph</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/class-use/Graph.html" target="_top">Frames</a></li>
+<li><a href="Graph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Vertex.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Vertex.html
new file mode 100644
index 0000000..0e06f94
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/class-use/Vertex.html
@@ -0,0 +1,368 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.graph.Vertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.graph.Vertex (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/class-use/Vertex.html" target="_top">Frames</a></li>
+<li><a href="Vertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.graph.Vertex" class="title">Uses of Interface<br>org.apache.edgent.graph.Vertex</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph.model">org.apache.edgent.runtime.etiao.graph.model</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a> in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> that return <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Edge.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Edge.html#getSource--">getSource</a></span>()</code>
+<div class="block">Returns the source vertex.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Edge.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Edge.html#getTarget--">getTarget</a></span>()</code>
+<div class="block">Returns the target vertex.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;N,C,P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#insert-N-int-int-">insert</a></span>(N&nbsp;oplet,
+      int&nbsp;inputs,
+      int&nbsp;outputs)</code>
+<div class="block">Add a new unconnected <code>Vertex</code> into the graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#getVertices--">getVertices</a></span>()</code>
+<div class="block">Return an unmodifiable view of all vertices in this graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Connector.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Connector.html#connect-org.apache.edgent.graph.Vertex-int-">connect</a></span>(<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,<a href="../../../../../org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>,?&gt;&nbsp;target,
+       int&nbsp;inputPort)</code>
+<div class="block">Connect this <code>Connector</code> to the specified target's input.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> with type arguments of type <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+       <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</code>
+<div class="block">Insert Peek oplets returned by the specified <code>Supplier</code> into 
+ the outputs of all of the oplets which satisfy the specified 
+ <code>Predicate</code> and where the output's <a href="../../../../../org/apache/edgent/graph/Connector.html#isConnected--"><code>Connector.isConnected()</code></a>
+ is true.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a> in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> that implement <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">AbstractVertex</a>&lt;OP extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;</span></code>
+<div class="block">Placeholder for a skeletal implementation of the <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> that return <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectEdge.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#getSource--">getSource</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectEdge.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#getTarget--">getTarget</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> with type arguments of type <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+       <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> with parameters of type <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#DirectEdge-org.apache.edgent.graph.Connector-org.apache.edgent.graph.Vertex-int-org.apache.edgent.graph.Vertex-int-">DirectEdge</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;?&gt;&nbsp;connector,
+          <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;source,
+          int&nbsp;sourcePort,
+          <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;target,
+          int&nbsp;targetPort)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#DirectEdge-org.apache.edgent.graph.Connector-org.apache.edgent.graph.Vertex-int-org.apache.edgent.graph.Vertex-int-">DirectEdge</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;?&gt;&nbsp;connector,
+          <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;source,
+          int&nbsp;sourcePort,
+          <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;target,
+          int&nbsp;targetPort)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> that implement <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getVertices--">getVertices</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph.model">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a> with parameters of type <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html#VertexType-org.apache.edgent.graph.Vertex-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">VertexType</a></span>(<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&nbsp;value,
+          org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/class-use/Vertex.html" target="_top">Frames</a></li>
+<li><a href="Vertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/package-frame.html
new file mode 100644
index 0000000..6fb5ab6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/package-frame.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../org/apache/edgent/graph/package-summary.html" target="classFrame">org.apache.edgent.graph</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="Connector.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Connector</span></a></li>
+<li><a href="Edge.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Edge</span></a></li>
+<li><a href="Graph.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Graph</span></a></li>
+<li><a href="Vertex.html" title="interface in org.apache.edgent.graph" target="classFrame"><span class="interfaceName">Vertex</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/package-summary.html
new file mode 100644
index 0000000..4d9a586
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/package-summary.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.graph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/graph/spi/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.graph</h1>
+<div class="docSummary">
+<div class="block">Low-level graph building API.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A <code>Connector</code> represents an output port of a <code>Vertex</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></td>
+<td class="colLast">
+<div class="block">Represents an edge between two Vertices.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></td>
+<td class="colLast">
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;N extends <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;</td>
+<td class="colLast">
+<div class="block">A <code>Vertex</code> in a graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.graph Description">Package org.apache.edgent.graph Description</h2>
+<div class="block">Low-level graph building API.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/graph/spi/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/package-tree.html
new file mode 100644
index 0000000..6b5a44c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/package-tree.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/graph/spi/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.graph</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.graph.<a href="../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Connector</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.graph.<a href="../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Edge</span></a></li>
+<li type="circle">org.apache.edgent.graph.<a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Graph</span></a></li>
+<li type="circle">org.apache.edgent.graph.<a href="../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Vertex</span></a>&lt;N,C,P&gt;</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/function/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/graph/spi/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/package-use.html
new file mode 100644
index 0000000..492dfd5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/package-use.html
@@ -0,0 +1,372 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.graph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.graph" class="title">Uses of Package<br>org.apache.edgent.graph</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph.model">org.apache.edgent.runtime.etiao.graph.model</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> used by <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Connector.html#org.apache.edgent.graph">Connector</a>
+<div class="block">A <code>Connector</code> represents an output port of a <code>Vertex</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Edge.html#org.apache.edgent.graph">Edge</a>
+<div class="block">Represents an edge between two Vertices.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Graph.html#org.apache.edgent.graph">Graph</a>
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Vertex.html#org.apache.edgent.graph">Vertex</a>
+<div class="block">A <code>Vertex</code> in a graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> used by <a href="../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Connector.html#org.apache.edgent.graph.spi">Connector</a>
+<div class="block">A <code>Connector</code> represents an output port of a <code>Vertex</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Edge.html#org.apache.edgent.graph.spi">Edge</a>
+<div class="block">Represents an edge between two Vertices.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Graph.html#org.apache.edgent.graph.spi">Graph</a>
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Vertex.html#org.apache.edgent.graph.spi">Vertex</a>
+<div class="block">A <code>Vertex</code> in a graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> used by <a href="../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Graph.html#org.apache.edgent.providers.direct">Graph</a>
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> used by <a href="../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Graph.html#org.apache.edgent.runtime.etiao">Graph</a>
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> used by <a href="../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Edge.html#org.apache.edgent.runtime.etiao.graph">Edge</a>
+<div class="block">Represents an edge between two Vertices.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Graph.html#org.apache.edgent.runtime.etiao.graph">Graph</a>
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Vertex.html#org.apache.edgent.runtime.etiao.graph">Vertex</a>
+<div class="block">A <code>Vertex</code> in a graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph.model">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> used by <a href="../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Edge.html#org.apache.edgent.runtime.etiao.graph.model">Edge</a>
+<div class="block">Represents an edge between two Vertices.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Graph.html#org.apache.edgent.runtime.etiao.graph.model">Graph</a>
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Vertex.html#org.apache.edgent.runtime.etiao.graph.model">Vertex</a>
+<div class="block">A <code>Vertex</code> in a graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> used by <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Graph.html#org.apache.edgent.topology">Graph</a>
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> used by <a href="../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Connector.html#org.apache.edgent.topology.spi.graph">Connector</a>
+<div class="block">A <code>Connector</code> represents an output port of a <code>Vertex</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/graph/class-use/Graph.html#org.apache.edgent.topology.spi.graph">Graph</a>
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/graph/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/AbstractGraph.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/AbstractGraph.html
new file mode 100644
index 0000000..4bc0d5f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/AbstractGraph.html
@@ -0,0 +1,388 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractGraph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractGraph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractGraph.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/AbstractGraph.html" target="_top">Frames</a></li>
+<li><a href="AbstractGraph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.graph.spi</div>
+<h2 title="Class AbstractGraph" class="title">Class AbstractGraph&lt;G&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.graph.spi.AbstractGraph&lt;G&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>G</code> - unnecessary?</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractGraph&lt;G&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></pre>
+<div class="block">A skeletal implementation of the <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#AbstractGraph--">AbstractGraph</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+       <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</code>
+<div class="block">Insert Peek oplets returned by the specified <code>Supplier</code> into 
+ the outputs of all of the oplets which satisfy the specified 
+ <code>Predicate</code> and where the output's <a href="../../../../../org/apache/edgent/graph/Connector.html#isConnected--"><code>Connector.isConnected()</code></a>
+ is true.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;C&gt;&nbsp;output,
+    N&nbsp;oplet)</code>
+<div class="block">Create a new connected <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;P&gt;,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#source-N-">source</a></span>(N&nbsp;oplet)</code>
+<div class="block">Create a new unconnected <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified source <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.graph.Graph">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.graph.<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></h3>
+<code><a href="../../../../../org/apache/edgent/graph/Graph.html#getEdges--">getEdges</a>, <a href="../../../../../org/apache/edgent/graph/Graph.html#getVertices--">getVertices</a>, <a href="../../../../../org/apache/edgent/graph/Graph.html#insert-N-int-int-">insert</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractGraph--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractGraph</h4>
+<pre>public&nbsp;AbstractGraph()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="source-org.apache.edgent.oplet.core.Source-">
+<!--   -->
+</a><a name="source-N-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>source</h4>
+<pre>public&nbsp;&lt;N extends <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;P&gt;,P&gt;&nbsp;<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;&nbsp;source(N&nbsp;oplet)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Graph.html#source-N-">Graph</a></code></span></div>
+<div class="block">Create a new unconnected <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified source <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.
+ <p>
+ The <code>Vertex</code> for the oplet has 0 input connectors and one output connector.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/graph/Graph.html#source-N-">source</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>N</code> - a Source type</dd>
+<dd><code>P</code> - tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>oplet</code> - the source oplet</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the output connector for the newly created vertex.</dd>
+</dl>
+</li>
+</ul>
+<a name="pipe-org.apache.edgent.graph.Connector-org.apache.edgent.oplet.Oplet-">
+<!--   -->
+</a><a name="pipe-org.apache.edgent.graph.Connector-N-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pipe</h4>
+<pre>public&nbsp;&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;&nbsp;<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;&nbsp;pipe(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;C&gt;&nbsp;output,
+                                                    N&nbsp;oplet)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Graph.html#pipe-org.apache.edgent.graph.Connector-N-">Graph</a></code></span></div>
+<div class="block">Create a new connected <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.
+ <p>
+ The new <code>Vertex</code> has one input and one output <code>Connector</code>.
+ An <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><code>Edge</code></a> is created connecting the specified output connector to
+ the new vertice's input connector.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/graph/Graph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>N</code> - an Oplet type</dd>
+<dd><code>C</code> - tuple type of input streams</dd>
+<dd><code>P</code> - tuple type of output streams</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>output</code> - the output connector to connect to the vertice's input connector</dd>
+<dd><code>oplet</code> - the oplet to associate with the new <code>Vertex</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the output connector for the new <code>Vertex</code></dd>
+</dl>
+</li>
+</ul>
+<a name="peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>peekAll</h4>
+<pre>public&nbsp;void&nbsp;peekAll(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+                    <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Graph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">Graph</a></code></span></div>
+<div class="block">Insert Peek oplets returned by the specified <code>Supplier</code> into 
+ the outputs of all of the oplets which satisfy the specified 
+ <code>Predicate</code> and where the output's <a href="../../../../../org/apache/edgent/graph/Connector.html#isConnected--"><code>Connector.isConnected()</code></a>
+ is true.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/graph/Graph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>supplier</code> - Function which provides a Peek oplet to insert</dd>
+<dd><code>select</code> - Vertex selection Predicate</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractGraph.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/AbstractGraph.html" target="_top">Frames</a></li>
+<li><a href="AbstractGraph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/AbstractVertex.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/AbstractVertex.html
new file mode 100644
index 0000000..d6cf863
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/AbstractVertex.html
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractVertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractVertex (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractVertex.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/AbstractVertex.html" target="_top">Frames</a></li>
+<li><a href="AbstractVertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>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">org.apache.edgent.graph.spi</div>
+<h2 title="Class AbstractVertex" class="title">Class AbstractVertex&lt;OP extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.graph.spi.AbstractVertex&lt;OP,I,O&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>OP</code> - Oplet type associated with this vertex.</dd>
+<dd><code>I</code> - Data container type for input tuples.</dd>
+<dd><code>O</code> - Data container type for output tuples.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;OP,I,O&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractVertex&lt;OP extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;OP,I,O&gt;</pre>
+<div class="block">Placeholder for a skeletal implementation of the <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractVertex.html#AbstractVertex--">AbstractVertex</a></span>()</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.graph.Vertex">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.graph.<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a></h3>
+<code><a href="../../../../../org/apache/edgent/graph/Vertex.html#addOutput--">addOutput</a>, <a href="../../../../../org/apache/edgent/graph/Vertex.html#getConnectors--">getConnectors</a>, <a href="../../../../../org/apache/edgent/graph/Vertex.html#getInstance--">getInstance</a>, <a href="../../../../../org/apache/edgent/graph/Vertex.html#graph--">graph</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractVertex--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractVertex</h4>
+<pre>public&nbsp;AbstractVertex()</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractVertex.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/AbstractVertex.html" target="_top">Frames</a></li>
+<li><a href="AbstractVertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#methods.inherited.from.class.java.lang.Object">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li>Method</li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/DirectEdge.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/DirectEdge.html
new file mode 100644
index 0000000..8800a1a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/DirectEdge.html
@@ -0,0 +1,428 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DirectEdge (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DirectEdge (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectEdge.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/DirectEdge.html" target="_top">Frames</a></li>
+<li><a href="DirectEdge.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.graph.spi</div>
+<h2 title="Class DirectEdge" class="title">Class DirectEdge</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.graph.spi.DirectEdge</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DirectEdge</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></pre>
+<div class="block">This class provides a simple implementation of the <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><code>Edge</code></a> interface in
+ the context of a <code>DirectProvider</code>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#DirectEdge--">DirectEdge</a></span>()</code>
+<div class="block">Create disconnected edge.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#DirectEdge-org.apache.edgent.graph.Connector-org.apache.edgent.graph.Vertex-int-org.apache.edgent.graph.Vertex-int-">DirectEdge</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;?&gt;&nbsp;connector,
+          <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;source,
+          int&nbsp;sourcePort,
+          <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;target,
+          int&nbsp;targetPort)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#getAlias--">getAlias</a></span>()</code>
+<div class="block">Returns the alias associated with this edge.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#getSource--">getSource</a></span>()</code>
+<div class="block">Returns the source vertex.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#getSourceOutputPort--">getSourceOutputPort</a></span>()</code>
+<div class="block">Returns the source output port index.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#getTags--">getTags</a></span>()</code>
+<div class="block">Returns the set of tags associated with this edge.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#getTarget--">getTarget</a></span>()</code>
+<div class="block">Returns the target vertex.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html#getTargetInputPort--">getTargetInputPort</a></span>()</code>
+<div class="block">Returns the target input port index.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DirectEdge-org.apache.edgent.graph.Connector-org.apache.edgent.graph.Vertex-int-org.apache.edgent.graph.Vertex-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DirectEdge</h4>
+<pre>public&nbsp;DirectEdge(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;?&gt;&nbsp;connector,
+                  <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;source,
+                  int&nbsp;sourcePort,
+                  <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;target,
+                  int&nbsp;targetPort)</pre>
+</li>
+</ul>
+<a name="DirectEdge--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DirectEdge</h4>
+<pre>public&nbsp;DirectEdge()</pre>
+<div class="block">Create disconnected edge.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getSource--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSource</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;getSource()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html#getSource--">Edge</a></code></span></div>
+<div class="block">Returns the source vertex.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/graph/Edge.html#getSource--">getSource</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the source vertex.</dd>
+</dl>
+</li>
+</ul>
+<a name="getSourceOutputPort--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSourceOutputPort</h4>
+<pre>public&nbsp;int&nbsp;getSourceOutputPort()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html#getSourceOutputPort--">Edge</a></code></span></div>
+<div class="block">Returns the source output port index.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/graph/Edge.html#getSourceOutputPort--">getSourceOutputPort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the source output port index.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTarget--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTarget</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&nbsp;getTarget()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html#getTarget--">Edge</a></code></span></div>
+<div class="block">Returns the target vertex.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/graph/Edge.html#getTarget--">getTarget</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the target vertex.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTargetInputPort--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTargetInputPort</h4>
+<pre>public&nbsp;int&nbsp;getTargetInputPort()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html#getTargetInputPort--">Edge</a></code></span></div>
+<div class="block">Returns the target input port index.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/graph/Edge.html#getTargetInputPort--">getTargetInputPort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the target input port index.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTags--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTags</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html#getTags--">Edge</a></code></span></div>
+<div class="block">Returns the set of tags associated with this edge.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/graph/Edge.html#getTags--">getTags</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>set of tag values.</dd>
+</dl>
+</li>
+</ul>
+<a name="getAlias--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getAlias</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html#getAlias--">Edge</a></code></span></div>
+<div class="block">Returns the alias associated with this edge.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/graph/Edge.html#getAlias--">getAlias</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the alias. null if none.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectEdge.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/DirectEdge.html" target="_top">Frames</a></li>
+<li><a href="DirectEdge.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/class-use/AbstractGraph.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/class-use/AbstractGraph.html
new file mode 100644
index 0000000..0d2f6f0
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/class-use/AbstractGraph.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.graph.spi.AbstractGraph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.graph.spi.AbstractGraph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/class-use/AbstractGraph.html" target="_top">Frames</a></li>
+<li><a href="AbstractGraph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.graph.spi.AbstractGraph" class="title">Uses of Class<br>org.apache.edgent.graph.spi.AbstractGraph</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></span></code>
+<div class="block"><code>DirectGraph</code> is a <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> that
+ is executed in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/class-use/AbstractGraph.html" target="_top">Frames</a></li>
+<li><a href="AbstractGraph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/class-use/AbstractVertex.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/class-use/AbstractVertex.html
new file mode 100644
index 0000000..9f46e34
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/class-use/AbstractVertex.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.graph.spi.AbstractVertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.graph.spi.AbstractVertex (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/class-use/AbstractVertex.html" target="_top">Frames</a></li>
+<li><a href="AbstractVertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.graph.spi.AbstractVertex" class="title">Uses of Class<br>org.apache.edgent.graph.spi.AbstractVertex</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">AbstractVertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">AbstractVertex</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">AbstractVertex</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a>&lt;N extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/class-use/AbstractVertex.html" target="_top">Frames</a></li>
+<li><a href="AbstractVertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/class-use/DirectEdge.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/class-use/DirectEdge.html
new file mode 100644
index 0000000..d2e1e7b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/class-use/DirectEdge.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.graph.spi.DirectEdge (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.graph.spi.DirectEdge (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/class-use/DirectEdge.html" target="_top">Frames</a></li>
+<li><a href="DirectEdge.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.graph.spi.DirectEdge" class="title">Uses of Class<br>org.apache.edgent.graph.spi.DirectEdge</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.graph.spi.DirectEdge</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/class-use/DirectEdge.html" target="_top">Frames</a></li>
+<li><a href="DirectEdge.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/AbstractGraphJob.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/AbstractGraphJob.html
new file mode 100644
index 0000000..18f5a97
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/AbstractGraphJob.html
@@ -0,0 +1,479 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractGraphJob (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractGraphJob (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractGraphJob.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" target="_top">Frames</a></li>
+<li><a href="AbstractGraphJob.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.graph.spi.execution</div>
+<h2 title="Class AbstractGraphJob" class="title">Class AbstractGraphJob</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.graph.spi.execution.AbstractGraphJob</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractGraphJob</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></pre>
+<div class="block">Placeholder for a skeletal implementation of the <a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.edgent.execution.Job">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.edgent.execution.<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></h3>
+<code><a href="../../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>, <a href="../../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>, <a href="../../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#AbstractGraphJob--">AbstractGraphJob</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#completeTransition--">completeTransition</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getCurrentState--">getCurrentState</a></span>()</code>
+<div class="block">Retrieves the current state of this job.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getHealth--">getHealth</a></span>()</code>
+<div class="block">Returns the summarized health indicator of the graph nodes.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getLastError--">getLastError</a></span>()</code>
+<div class="block">Returns the last error message caught by the current job execution.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getNextState--">getNextState</a></span>()</code>
+<div class="block">Retrieves the next execution state when this job makes a state 
+ transition.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#inTransition--">inTransition</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setHealth-org.apache.edgent.execution.Job.Health-">setHealth</a></span>(<a href="../../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&nbsp;value)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setLastError-java.lang.String-">setLastError</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setNextState-org.apache.edgent.execution.Job.State-">setNextState</a></span>(<a href="../../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;value)</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></span>(<a href="../../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</code>
+<div class="block">Initiates an execution state change.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.execution.Job">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.execution.<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></h3>
+<code><a href="../../../../../../org/apache/edgent/execution/Job.html#complete--">complete</a>, <a href="../../../../../../org/apache/edgent/execution/Job.html#complete-long-java.util.concurrent.TimeUnit-">complete</a>, <a href="../../../../../../org/apache/edgent/execution/Job.html#getId--">getId</a>, <a href="../../../../../../org/apache/edgent/execution/Job.html#getName--">getName</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractGraphJob--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractGraphJob</h4>
+<pre>protected&nbsp;AbstractGraphJob()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getCurrentState--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentState</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;getCurrentState()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/Job.html#getCurrentState--">Job</a></code></span></div>
+<div class="block">Retrieves the current state of this job.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/Job.html#getCurrentState--">getCurrentState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the current state.</dd>
+</dl>
+</li>
+</ul>
+<a name="getNextState--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNextState</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;getNextState()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/Job.html#getNextState--">Job</a></code></span></div>
+<div class="block">Retrieves the next execution state when this job makes a state 
+ transition.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/Job.html#getNextState--">getNextState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the destination state while in a state transition; 
+      otherwise the same as <a href="../../../../../../org/apache/edgent/execution/Job.html#getCurrentState--"><code>Job.getCurrentState()</code></a>.</dd>
+</dl>
+</li>
+</ul>
+<a name="stateChange-org.apache.edgent.execution.Job.Action-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stateChange</h4>
+<pre>public abstract&nbsp;void&nbsp;stateChange(<a href="../../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/Job.html#stateChange-org.apache.edgent.execution.Job.Action-">Job</a></code></span></div>
+<div class="block">Initiates an execution state change.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/Job.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>action</code> - which triggers the state change.</dd>
+</dl>
+</li>
+</ul>
+<a name="getHealth--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHealth</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&nbsp;getHealth()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/Job.html#getHealth--">Job</a></code></span></div>
+<div class="block">Returns the summarized health indicator of the graph nodes.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/Job.html#getHealth--">getHealth</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the summarized Job node health.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastError</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLastError()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/Job.html#getLastError--">Job</a></code></span></div>
+<div class="block">Returns the last error message caught by the current job execution.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/Job.html#getLastError--">getLastError</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the last error message or an empty string if no error has 
+      been caught.</dd>
+</dl>
+</li>
+</ul>
+<a name="inTransition--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>inTransition</h4>
+<pre>protected&nbsp;boolean&nbsp;inTransition()</pre>
+</li>
+</ul>
+<a name="setNextState-org.apache.edgent.execution.Job.State-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setNextState</h4>
+<pre>protected&nbsp;void&nbsp;setNextState(<a href="../../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;value)</pre>
+</li>
+</ul>
+<a name="completeTransition--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>completeTransition</h4>
+<pre>protected&nbsp;void&nbsp;completeTransition()</pre>
+</li>
+</ul>
+<a name="setHealth-org.apache.edgent.execution.Job.Health-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setHealth</h4>
+<pre>protected&nbsp;void&nbsp;setHealth(<a href="../../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&nbsp;value)</pre>
+</li>
+</ul>
+<a name="setLastError-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setLastError</h4>
+<pre>protected&nbsp;void&nbsp;setLastError(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractGraphJob.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" target="_top">Frames</a></li>
+<li><a href="AbstractGraphJob.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/class-use/AbstractGraphJob.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/class-use/AbstractGraphJob.html
new file mode 100644
index 0000000..7f30c42
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/class-use/AbstractGraphJob.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.graph.spi.execution.AbstractGraphJob (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.graph.spi.execution.AbstractGraphJob (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/graph/spi/execution/class-use/AbstractGraphJob.html" target="_top">Frames</a></li>
+<li><a href="AbstractGraphJob.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.graph.spi.execution.AbstractGraphJob" class="title">Uses of Class<br>org.apache.edgent.graph.spi.execution.AbstractGraphJob</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a> in <a href="../../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a> in <a href="../../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></span></code>
+<div class="block">Etiao runtime implementation of the <a href="../../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/graph/spi/execution/class-use/AbstractGraphJob.html" target="_top">Frames</a></li>
+<li><a href="AbstractGraphJob.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-frame.html
new file mode 100644
index 0000000..6e39be9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/edgent/graph/spi/execution/package-summary.html" target="classFrame">org.apache.edgent.graph.spi.execution</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution" target="classFrame">AbstractGraphJob</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-summary.html
new file mode 100644
index 0000000..3f992d2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-summary.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.graph.spi.execution (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/graph/spi/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.graph.spi.execution</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></td>
+<td class="colLast">
+<div class="block">Placeholder for a skeletal implementation of the <a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/graph/spi/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-tree.html
new file mode 100644
index 0000000..dbe6d06
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi.execution Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.graph.spi.execution Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/graph/spi/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.graph.spi.execution</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.graph.spi.execution.<a href="../../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution"><span class="typeNameLink">AbstractGraphJob</span></a> (implements org.apache.edgent.execution.<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/graph/spi/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-use.html
new file mode 100644
index 0000000..2506d74
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/execution/package-use.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.graph.spi.execution (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.graph.spi.execution (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.graph.spi.execution" class="title">Uses of Package<br>org.apache.edgent.graph.spi.execution</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a> used by <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/graph/spi/execution/class-use/AbstractGraphJob.html#org.apache.edgent.runtime.etiao">AbstractGraphJob</a>
+<div class="block">Placeholder for a skeletal implementation of the <a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/graph/spi/execution/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-frame.html
new file mode 100644
index 0000000..4df6fe1
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-frame.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/graph/spi/package-summary.html" target="classFrame">org.apache.edgent.graph.spi</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AbstractGraph.html" title="class in org.apache.edgent.graph.spi" target="classFrame">AbstractGraph</a></li>
+<li><a href="AbstractVertex.html" title="class in org.apache.edgent.graph.spi" target="classFrame">AbstractVertex</a></li>
+<li><a href="DirectEdge.html" title="class in org.apache.edgent.graph.spi" target="classFrame">DirectEdge</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-summary.html
new file mode 100644
index 0000000..b468cdd
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-summary.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 (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.graph.spi (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/graph/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.graph.spi</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a>&lt;G&gt;</td>
+<td class="colLast">
+<div class="block">A skeletal implementation of the <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">AbstractVertex</a>&lt;OP extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;</td>
+<td class="colLast">
+<div class="block">Placeholder for a skeletal implementation of the <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi">DirectEdge</a></td>
+<td class="colLast">
+<div class="block">This class provides a simple implementation of the <a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><code>Edge</code></a> interface in
+ the context of a <code>DirectProvider</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/graph/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/spi/execution/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-tree.html
new file mode 100644
index 0000000..af70cd0
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-tree.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.graph.spi Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.graph.spi Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/graph/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/spi/execution/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.graph.spi</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.graph.spi.<a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">AbstractGraph</span></a>&lt;G&gt; (implements org.apache.edgent.graph.<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>)</li>
+<li type="circle">org.apache.edgent.graph.spi.<a href="../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">AbstractVertex</span></a>&lt;OP,I,O&gt; (implements org.apache.edgent.graph.<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;N,C,P&gt;)</li>
+<li type="circle">org.apache.edgent.graph.spi.<a href="../../../../../org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">DirectEdge</span></a> (implements org.apache.edgent.graph.<a href="../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/graph/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/graph/spi/execution/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-use.html
new file mode 100644
index 0000000..6835e15
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/graph/spi/package-use.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.graph.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.graph.spi (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.graph.spi" class="title">Uses of Package<br>org.apache.edgent.graph.spi</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> used by <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/graph/spi/class-use/AbstractGraph.html#org.apache.edgent.runtime.etiao.graph">AbstractGraph</a>
+<div class="block">A skeletal implementation of the <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/graph/spi/class-use/AbstractVertex.html#org.apache.edgent.runtime.etiao.graph">AbstractVertex</a>
+<div class="block">Placeholder for a skeletal implementation of the <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/graph/spi/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/MetricObjectNameFactory.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/MetricObjectNameFactory.html
new file mode 100644
index 0000000..a104dac
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/MetricObjectNameFactory.html
@@ -0,0 +1,502 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MetricObjectNameFactory (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MetricObjectNameFactory (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MetricObjectNameFactory.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/MetricObjectNameFactory.html" target="_top">Frames</a></li>
+<li><a href="MetricObjectNameFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.metrics</div>
+<h2 title="Class MetricObjectNameFactory" class="title">Class MetricObjectNameFactory</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.metrics.MetricObjectNameFactory</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>com.codahale.metrics.ObjectNameFactory</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MetricObjectNameFactory</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements com.codahale.metrics.ObjectNameFactory</pre>
+<div class="block">A factory of metric <code>ObjectName</code> instances. 
+ <p>
+ The implementation relies on unique metric names generated by
+ <a href="../../../../org/apache/edgent/oplet/OpletContext.html#uniquify-java.lang.String-"><code>OpletContext.uniquify(String)</code></a> to
+ successfully parse the job and oplet id.</div>
+</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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_JOBID">KEY_JOBID</a></span></code>
+<div class="block">The <code>jobId</code> property key.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_NAME">KEY_NAME</a></span></code>
+<div class="block">The <code>name</code> property key.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_OPID">KEY_OPID</a></span></code>
+<div class="block">The <code>opId</code> (oplet id) property key.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_TYPE">KEY_TYPE</a></span></code>
+<div class="block">The <code>type</code> property key.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#PREFIX_JOBID">PREFIX_JOBID</a></span></code>
+<div class="block">The prefix of the job id as serialized in the metric name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#PREFIX_OPID">PREFIX_OPID</a></span></code>
+<div class="block">The prefix of the oplet id as serialized in the metric name.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#TYPE_PREFIX">TYPE_PREFIX</a></span></code>
+<div class="block">Prefix of all metric types.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#MetricObjectNameFactory--">MetricObjectNameFactory</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#addKeyProperties-java.lang.String-java.util.Map-">addKeyProperties</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;buf,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;properties)</code>
+<div class="block">Extracts job and oplet identifier values from the specified buffer and 
+ adds the <a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_JOBID"><code>KEY_JOBID</code></a> and <a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_OPID"><code>KEY_OPID</code></a> key properties to the 
+ specified properties map.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/javax/management/ObjectName.html?is-external=true" title="class or interface in javax.management">ObjectName</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#createName-java.lang.String-java.lang.String-java.lang.String-">createName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;domain,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Creates a JMX <code>ObjectName</code> from the given domain, metric type, 
+ and metric name.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="TYPE_PREFIX">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TYPE_PREFIX</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE_PREFIX</pre>
+<div class="block">Prefix of all metric types.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.edgent.metrics.MetricObjectNameFactory.TYPE_PREFIX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="KEY_NAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>KEY_NAME</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> KEY_NAME</pre>
+<div class="block">The <code>name</code> property key.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.edgent.metrics.MetricObjectNameFactory.KEY_NAME">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="KEY_TYPE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>KEY_TYPE</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> KEY_TYPE</pre>
+<div class="block">The <code>type</code> property key.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.edgent.metrics.MetricObjectNameFactory.KEY_TYPE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="KEY_JOBID">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>KEY_JOBID</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> KEY_JOBID</pre>
+<div class="block">The <code>jobId</code> property key.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.edgent.metrics.MetricObjectNameFactory.KEY_JOBID">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="KEY_OPID">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>KEY_OPID</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> KEY_OPID</pre>
+<div class="block">The <code>opId</code> (oplet id) property key.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.edgent.metrics.MetricObjectNameFactory.KEY_OPID">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PREFIX_JOBID">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>PREFIX_JOBID</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PREFIX_JOBID</pre>
+<div class="block">The prefix of the job id as serialized in the metric name.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.edgent.metrics.MetricObjectNameFactory.PREFIX_JOBID">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="PREFIX_OPID">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PREFIX_OPID</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> PREFIX_OPID</pre>
+<div class="block">The prefix of the oplet id as serialized in the metric name.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.edgent.metrics.MetricObjectNameFactory.PREFIX_OPID">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="MetricObjectNameFactory--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>MetricObjectNameFactory</h4>
+<pre>public&nbsp;MetricObjectNameFactory()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="createName-java.lang.String-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createName</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/ObjectName.html?is-external=true" title="class or interface in javax.management">ObjectName</a>&nbsp;createName(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;domain,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Creates a JMX <code>ObjectName</code> from the given domain, metric type, 
+ and metric name.
+ <p>
+ If the metric name is an ObjectName pattern, or has a format which does
+ not correspond to a valid ObjectName, this implementation attempts to 
+ create an ObjectName using the quoted metric name instead.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>createName</code>&nbsp;in interface&nbsp;<code>com.codahale.metrics.ObjectNameFactory</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - the value of the "type" key property in the object name, 
+      which represents the type of metric.</dd>
+<dd><code>domain</code> - the domain part of the object name.</dd>
+<dd><code>name</code> - the value of the "name" key property in the object name,
+      which represents the metric name.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</a></code> - wrapping a MalformedObjectNameException if 
+      the implementation cannot create a valid object name.</dd>
+</dl>
+</li>
+</ul>
+<a name="addKeyProperties-java.lang.String-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>addKeyProperties</h4>
+<pre>protected&nbsp;void&nbsp;addKeyProperties(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;buf,
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;properties)</pre>
+<div class="block">Extracts job and oplet identifier values from the specified buffer and 
+ adds the <a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_JOBID"><code>KEY_JOBID</code></a> and <a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html#KEY_OPID"><code>KEY_OPID</code></a> key properties to the 
+ specified properties map.  
+ <p>
+ Assumes that the job and oplet identifiers are concatenated (possibly with 
+ other strings as well) using '.' as a separator.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>buf</code> - contains serialized job and oplet identifiers separated</dd>
+<dd><code>properties</code> - key property map</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MetricObjectNameFactory.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/MetricObjectNameFactory.html" target="_top">Frames</a></li>
+<li><a href="MetricObjectNameFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/Metrics.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/Metrics.html
new file mode 100644
index 0000000..60688c6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/Metrics.html
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Metrics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Metrics (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Metrics.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/Metrics.html" target="_top">Frames</a></li>
+<li><a href="Metrics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.metrics</div>
+<h2 title="Class Metrics" class="title">Class Metrics</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.metrics.Metrics</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Metrics</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">This interface contains utility methods for manipulating metrics.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/Metrics.html#Metrics--">Metrics</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/Metrics.html#counter-org.apache.edgent.topology.Topology-">counter</a></span>(<a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
+<div class="block">Add counter metrics to all the topology's streams.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/Metrics.html#counter-org.apache.edgent.topology.TStream-">counter</a></span>(<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream)</code>
+<div class="block">Increment a counter metric when peeking at each tuple.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/Metrics.html#rateMeter-org.apache.edgent.topology.TStream-">rateMeter</a></span>(<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream)</code>
+<div class="block">Measure current tuple throughput and calculate one-, five-, and
+ fifteen-minute exponentially-weighted moving averages.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Metrics--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Metrics</h4>
+<pre>public&nbsp;Metrics()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="counter-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>counter</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;counter(<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream)</pre>
+<div class="block">Increment a counter metric when peeking at each tuple.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - TStream tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - to stream to instrument</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><code>TStream</code></a> containing the input tuples</dd>
+</dl>
+</li>
+</ul>
+<a name="rateMeter-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>rateMeter</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;rateMeter(<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream)</pre>
+<div class="block">Measure current tuple throughput and calculate one-, five-, and
+ fifteen-minute exponentially-weighted moving averages.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - TStream tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - to stream to instrument</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><code>TStream</code></a> containing the input tuples</dd>
+</dl>
+</li>
+</ul>
+<a name="counter-org.apache.edgent.topology.Topology-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>counter</h4>
+<pre>public static&nbsp;void&nbsp;counter(<a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</pre>
+<div class="block">Add counter metrics to all the topology's streams.
+ <p>
+ <a href="../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets"><code>CounterOp</code></a> oplets are inserted between every two graph
+ vertices with the following exceptions:
+ <ul>
+ <li>Oplets are only inserted upstream from a FanOut oplet.</li>
+ <li>If a chain of Peek oplets exists between oplets A and B, a Metric 
+ oplet is inserted after the last Peek, right upstream from oplet B.</li>
+ <li>If a chain a Peek oplets is followed by a FanOut, a metric oplet is 
+ inserted between the last Peek and the FanOut oplet.</li>
+ <li>Oplets are not inserted immediately downstream from another 
+ <code>CounterOp</code> oplet (but they are inserted upstream from one.)</li>
+ </ul>
+ The implementation is not idempotent: Calling the method twice 
+ will insert a new set of metric oplets into the graph.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>t</code> - The topology</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/graph/Graph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-"><code>Graph.peekAll()</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Metrics.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/Metrics.html" target="_top">Frames</a></li>
+<li><a href="Metrics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/MetricsSetup.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/MetricsSetup.html
new file mode 100644
index 0000000..6492d5c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/MetricsSetup.html
@@ -0,0 +1,345 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MetricsSetup (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MetricsSetup (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MetricsSetup.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/MetricsSetup.html" target="_top">Frames</a></li>
+<li><a href="MetricsSetup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.metrics</div>
+<h2 title="Class MetricsSetup" class="title">Class MetricsSetup</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.metrics.MetricsSetup</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">MetricsSetup</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Utility helpers for configuring and starting a Metric <code>JmxReporter</code>
+ or a <code>ConsoleReporter</code>.
+ <p>
+ This class is not thread safe.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html#registerWith-javax.management.MBeanServer-">registerWith</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a>&nbsp;mBeanServer)</code>
+<div class="block">Use the specified <code>MBeanServer</code> with this metric setup.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html#startConsoleReporter--">startConsoleReporter</a></span>()</code>
+<div class="block">Starts the metric <code>ConsoleReporter</code> polling every second.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html#startCSVReporter-java.lang.String-">startCSVReporter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathMetrics)</code>
+<div class="block">Starts the metric <code>CsvReporter</code>.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html#startJMXReporter-java.lang.String-">startJMXReporter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jmxDomainName)</code>
+<div class="block">Starts the metric <code>JMXReporter</code>.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html#withRegistry-org.apache.edgent.execution.services.ServiceContainer-com.codahale.metrics.MetricRegistry-">withRegistry</a></span>(<a href="../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services,
+            com.codahale.metrics.MetricRegistry&nbsp;registry)</code>
+<div class="block">Returns a new <a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><code>MetricsSetup</code></a> for configuring metrics.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="withRegistry-org.apache.edgent.execution.services.ServiceContainer-com.codahale.metrics.MetricRegistry-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>withRegistry</h4>
+<pre>public static&nbsp;<a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a>&nbsp;withRegistry(<a href="../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services,
+                                        com.codahale.metrics.MetricRegistry&nbsp;registry)</pre>
+<div class="block">Returns a new <a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><code>MetricsSetup</code></a> for configuring metrics.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>services</code> - ServiceContainer to use to add services to</dd>
+<dd><code>registry</code> - the registry to use for the application</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><code>MetricsSetup</code></a> instance</dd>
+</dl>
+</li>
+</ul>
+<a name="registerWith-javax.management.MBeanServer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerWith</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a>&nbsp;registerWith(<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a>&nbsp;mBeanServer)</pre>
+<div class="block">Use the specified <code>MBeanServer</code> with this metric setup.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mBeanServer</code> - the MBean server used by the metric JMX reporter</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this</dd>
+</dl>
+</li>
+</ul>
+<a name="startJMXReporter-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startJMXReporter</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a>&nbsp;startJMXReporter(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jmxDomainName)</pre>
+<div class="block">Starts the metric <code>JMXReporter</code>. If no MBeanServer was set, use 
+ the virtual machine's platform MBeanServer.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jmxDomainName</code> - JMX domain name to use when creating JMX MXBean object names.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this</dd>
+</dl>
+</li>
+</ul>
+<a name="startCSVReporter-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startCSVReporter</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a>&nbsp;startCSVReporter(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathMetrics)</pre>
+<div class="block">Starts the metric <code>CsvReporter</code>. If no MBeanServer was set, use the
+ virtual machine's platform MBeanServer.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pathMetrics</code> - pathname where the metric files are stored. If the path does
+            not exist or is null is created in a standard directory,
+            called metrics</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this</dd>
+</dl>
+</li>
+</ul>
+<a name="startConsoleReporter--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>startConsoleReporter</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a>&nbsp;startConsoleReporter()</pre>
+<div class="block">Starts the metric <code>ConsoleReporter</code> polling every second.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/MetricsSetup.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/MetricsSetup.html" target="_top">Frames</a></li>
+<li><a href="MetricsSetup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/class-use/MetricObjectNameFactory.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/class-use/MetricObjectNameFactory.html
new file mode 100644
index 0000000..d7806df
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/class-use/MetricObjectNameFactory.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.MetricObjectNameFactory (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.metrics.MetricObjectNameFactory (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/class-use/MetricObjectNameFactory.html" target="_top">Frames</a></li>
+<li><a href="MetricObjectNameFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.metrics.MetricObjectNameFactory" class="title">Uses of Class<br>org.apache.edgent.metrics.MetricObjectNameFactory</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.metrics.MetricObjectNameFactory</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/class-use/MetricObjectNameFactory.html" target="_top">Frames</a></li>
+<li><a href="MetricObjectNameFactory.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/class-use/Metrics.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/class-use/Metrics.html
new file mode 100644
index 0000000..9e2649c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/class-use/Metrics.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.Metrics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.metrics.Metrics (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/class-use/Metrics.html" target="_top">Frames</a></li>
+<li><a href="Metrics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.metrics.Metrics" class="title">Uses of Class<br>org.apache.edgent.metrics.Metrics</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.metrics.Metrics</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/class-use/Metrics.html" target="_top">Frames</a></li>
+<li><a href="Metrics.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/class-use/MetricsSetup.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/class-use/MetricsSetup.html
new file mode 100644
index 0000000..c790f3a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/class-use/MetricsSetup.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.MetricsSetup (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.metrics.MetricsSetup (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/class-use/MetricsSetup.html" target="_top">Frames</a></li>
+<li><a href="MetricsSetup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.metrics.MetricsSetup" class="title">Uses of Class<br>org.apache.edgent.metrics.MetricsSetup</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics">org.apache.edgent.metrics</a></td>
+<td class="colLast">
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.metrics">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a> in <a href="../../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a> that return <a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html#registerWith-javax.management.MBeanServer-">registerWith</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a>&nbsp;mBeanServer)</code>
+<div class="block">Use the specified <code>MBeanServer</code> with this metric setup.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html#startConsoleReporter--">startConsoleReporter</a></span>()</code>
+<div class="block">Starts the metric <code>ConsoleReporter</code> polling every second.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html#startCSVReporter-java.lang.String-">startCSVReporter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;pathMetrics)</code>
+<div class="block">Starts the metric <code>CsvReporter</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html#startJMXReporter-java.lang.String-">startJMXReporter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jmxDomainName)</code>
+<div class="block">Starts the metric <code>JMXReporter</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MetricsSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html#withRegistry-org.apache.edgent.execution.services.ServiceContainer-com.codahale.metrics.MetricRegistry-">withRegistry</a></span>(<a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services,
+            com.codahale.metrics.MetricRegistry&nbsp;registry)</code>
+<div class="block">Returns a new <a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><code>MetricsSetup</code></a> for configuring metrics.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/class-use/MetricsSetup.html" target="_top">Frames</a></li>
+<li><a href="MetricsSetup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/CounterOp.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/CounterOp.html
new file mode 100644
index 0000000..53f1d2a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/CounterOp.html
@@ -0,0 +1,397 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CounterOp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="CounterOp (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CounterOp.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/CounterOp.html" target="_top">Frames</a></li>
+<li><a href="CounterOp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.metrics.oplets</div>
+<h2 title="Class CounterOp" class="title">Class CounterOp&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Peek</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.metrics.oplets.CounterOp&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">CounterOp&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;T&gt;</pre>
+<div class="block">A metrics oplet which counts the number of tuples peeked at.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.metrics.oplets.CounterOp">Serialized Form</a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html#METRIC_NAME">METRIC_NAME</a></span></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html#CounterOp--">CounterOp</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected com.codahale.metrics.Metric</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html#getMetric--">getMetric</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html#peek-T-">peek</a></span>(<a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="type parameter in CounterOp">T</a>&nbsp;tuple)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.metrics.oplets.<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#close--">close</a>, <a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#getMetricName--">getMetricName</a>, <a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Peek">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Peek.html#accept-T-">accept</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="METRIC_NAME">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>METRIC_NAME</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> METRIC_NAME</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.metrics.oplets.CounterOp.METRIC_NAME">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="CounterOp--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CounterOp</h4>
+<pre>public&nbsp;CounterOp()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="peek-java.lang.Object-">
+<!--   -->
+</a><a name="peek-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>peek</h4>
+<pre>protected&nbsp;void&nbsp;peek(<a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="type parameter in CounterOp">T</a>&nbsp;tuple)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Peek.html#peek-T-">peek</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;<a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="type parameter in CounterOp">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getMetric--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getMetric</h4>
+<pre>protected&nbsp;com.codahale.metrics.Metric&nbsp;getMetric()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#getMetric--">getMetric</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;<a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="type parameter in CounterOp">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/CounterOp.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/CounterOp.html" target="_top">Frames</a></li>
+<li><a href="CounterOp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/RateMeter.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/RateMeter.html
new file mode 100644
index 0000000..f7bd324
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/RateMeter.html
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>RateMeter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="RateMeter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RateMeter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/RateMeter.html" target="_top">Frames</a></li>
+<li><a href="RateMeter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.metrics.oplets</div>
+<h2 title="Class RateMeter" class="title">Class RateMeter&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Peek</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.metrics.oplets.RateMeter&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">RateMeter&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;T&gt;</pre>
+<div class="block">A metrics oplet which measures current tuple throughput and one-, five-, 
+ and fifteen-minute exponentially-weighted moving averages.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.metrics.oplets.RateMeter">Serialized Form</a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html#METRIC_NAME">METRIC_NAME</a></span></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html#RateMeter--">RateMeter</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected com.codahale.metrics.Metric</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html#getMetric--">getMetric</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html#peek-T-">peek</a></span>(<a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="type parameter in RateMeter">T</a>&nbsp;tuple)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.metrics.oplets.<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#close--">close</a>, <a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#getMetricName--">getMetricName</a>, <a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Peek">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Peek.html#accept-T-">accept</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="METRIC_NAME">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>METRIC_NAME</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> METRIC_NAME</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.metrics.oplets.RateMeter.METRIC_NAME">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="RateMeter--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RateMeter</h4>
+<pre>public&nbsp;RateMeter()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="peek-java.lang.Object-">
+<!--   -->
+</a><a name="peek-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>peek</h4>
+<pre>protected&nbsp;void&nbsp;peek(<a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="type parameter in RateMeter">T</a>&nbsp;tuple)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Peek.html#peek-T-">peek</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;<a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="type parameter in RateMeter">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getMetric--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getMetric</h4>
+<pre>protected&nbsp;com.codahale.metrics.Metric&nbsp;getMetric()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#getMetric--">getMetric</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;<a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="type parameter in RateMeter">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/RateMeter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/RateMeter.html" target="_top">Frames</a></li>
+<li><a href="RateMeter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html
new file mode 100644
index 0000000..ad00a66
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html
@@ -0,0 +1,396 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SingleMetricAbstractOplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SingleMetricAbstractOplet (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":6,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SingleMetricAbstractOplet.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" target="_top">Frames</a></li>
+<li><a href="SingleMetricAbstractOplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.metrics.oplets</div>
+<h2 title="Class SingleMetricAbstractOplet" class="title">Class SingleMetricAbstractOplet&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Peek</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>, <a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">SingleMetricAbstractOplet&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;T&gt;</pre>
+<div class="block">Base for metrics oplets which use a single metric object.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#SingleMetricAbstractOplet-java.lang.String-">SingleMetricAbstractOplet</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected abstract com.codahale.metrics.Metric</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#getMetric--">getMetric</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#getMetricName--">getMetricName</a></span>()</code>
+<div class="block">Returns the name of the metric used by this oplet for registration.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>,<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Peek">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Peek.html#accept-T-">accept</a>, <a href="../../../../../org/apache/edgent/oplet/core/Peek.html#peek-T-">peek</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SingleMetricAbstractOplet-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SingleMetricAbstractOplet</h4>
+<pre>protected&nbsp;SingleMetricAbstractOplet(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getMetricName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetricName</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMetricName()</pre>
+<div class="block">Returns the name of the metric used by this oplet for registration.
+ The name uniquely identifies the metric in the <code>MetricRegistry</code>.
+ <p>
+ The name of the metric is <code>null</code> prior to oplet initialization,
+ or if this oplet has not been initialized with a 
+ <code>MetricRegistry</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the name of the metric used by this oplet.</dd>
+</dl>
+</li>
+</ul>
+<a name="getMetric--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMetric</h4>
+<pre>protected abstract&nbsp;com.codahale.metrics.Metric&nbsp;getMetric()</pre>
+</li>
+</ul>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public final&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>,<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>,<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>,<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public final&nbsp;void&nbsp;close()
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SingleMetricAbstractOplet.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" target="_top">Frames</a></li>
+<li><a href="SingleMetricAbstractOplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/class-use/CounterOp.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/class-use/CounterOp.html
new file mode 100644
index 0000000..e192897
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/class-use/CounterOp.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.oplets.CounterOp (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.metrics.oplets.CounterOp (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/metrics/oplets/class-use/CounterOp.html" target="_top">Frames</a></li>
+<li><a href="CounterOp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.metrics.oplets.CounterOp" class="title">Uses of Class<br>org.apache.edgent.metrics.oplets.CounterOp</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.metrics.oplets.CounterOp</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/metrics/oplets/class-use/CounterOp.html" target="_top">Frames</a></li>
+<li><a href="CounterOp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/class-use/RateMeter.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/class-use/RateMeter.html
new file mode 100644
index 0000000..d6fe832
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/class-use/RateMeter.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.oplets.RateMeter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.metrics.oplets.RateMeter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/metrics/oplets/class-use/RateMeter.html" target="_top">Frames</a></li>
+<li><a href="RateMeter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.metrics.oplets.RateMeter" class="title">Uses of Class<br>org.apache.edgent.metrics.oplets.RateMeter</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.metrics.oplets.RateMeter</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/metrics/oplets/class-use/RateMeter.html" target="_top">Frames</a></li>
+<li><a href="RateMeter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/class-use/SingleMetricAbstractOplet.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/class-use/SingleMetricAbstractOplet.html
new file mode 100644
index 0000000..222085a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/class-use/SingleMetricAbstractOplet.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/metrics/oplets/class-use/SingleMetricAbstractOplet.html" target="_top">Frames</a></li>
+<li><a href="SingleMetricAbstractOplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet" class="title">Uses of Class<br>org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a> in <a href="../../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a> in <a href="../../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which counts the number of tuples peeked at.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which measures current tuple throughput and one-, five-, 
+ and fifteen-minute exponentially-weighted moving averages.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/metrics/oplets/class-use/SingleMetricAbstractOplet.html" target="_top">Frames</a></li>
+<li><a href="SingleMetricAbstractOplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-frame.html
new file mode 100644
index 0000000..ff7765d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-frame.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/metrics/oplets/package-summary.html" target="classFrame">org.apache.edgent.metrics.oplets</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="CounterOp.html" title="class in org.apache.edgent.metrics.oplets" target="classFrame">CounterOp</a></li>
+<li><a href="RateMeter.html" title="class in org.apache.edgent.metrics.oplets" target="classFrame">RateMeter</a></li>
+<li><a href="SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets" target="classFrame">SingleMetricAbstractOplet</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-summary.html
new file mode 100644
index 0000000..94f57f7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-summary.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.metrics.oplets (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/metrics/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.metrics.oplets</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A metrics oplet which counts the number of tuples peeked at.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A metrics oplet which measures current tuple throughput and one-, five-, 
+ and fifteen-minute exponentially-weighted moving averages.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Base for metrics oplets which use a single metric object.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/metrics/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-tree.html
new file mode 100644
index 0000000..b9d2d26
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-tree.html
@@ -0,0 +1,156 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.metrics.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/metrics/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.metrics.oplets</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Pipe</span></a>&lt;I,O&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Peek</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.metrics.oplets.<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">SingleMetricAbstractOplet</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.metrics.oplets.<a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">CounterOp</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.metrics.oplets.<a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">RateMeter</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/metrics/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-use.html
new file mode 100644
index 0000000..2b9bc35
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/oplets/package-use.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 (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.metrics.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.metrics.oplets (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.metrics.oplets" class="title">Uses of Package<br>org.apache.edgent.metrics.oplets</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a> used by <a href="../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/metrics/oplets/class-use/SingleMetricAbstractOplet.html#org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>
+<div class="block">Base for metrics oplets which use a single metric object.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/metrics/oplets/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-frame.html
new file mode 100644
index 0000000..043a68e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-frame.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../org/apache/edgent/metrics/package-summary.html" target="classFrame">org.apache.edgent.metrics</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics" target="classFrame">MetricObjectNameFactory</a></li>
+<li><a href="Metrics.html" title="class in org.apache.edgent.metrics" target="classFrame">Metrics</a></li>
+<li><a href="MetricsSetup.html" title="class in org.apache.edgent.metrics" target="classFrame">MetricsSetup</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-summary.html
new file mode 100644
index 0000000..e98abd2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-summary.html
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.metrics (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/graph/spi/execution/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/metrics/oplets/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.metrics</h1>
+<div class="docSummary">
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics">MetricObjectNameFactory</a></td>
+<td class="colLast">
+<div class="block">A factory of metric <code>ObjectName</code> instances.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics">Metrics</a></td>
+<td class="colLast">
+<div class="block">This interface contains utility methods for manipulating metrics.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics">MetricsSetup</a></td>
+<td class="colLast">
+<div class="block">Utility helpers for configuring and starting a Metric <code>JmxReporter</code>
+ or a <code>ConsoleReporter</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.metrics Description">Package org.apache.edgent.metrics Description</h2>
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.  Uses the external
+ Java Metrics library.<p>
+ 
+ For more information about Metrics see
+ <a href="http://metrics.dropwizard.io/3.1.0/">http://metrics.dropwizard.io/3.1.0/</a>.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/graph/spi/execution/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/metrics/oplets/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-tree.html
new file mode 100644
index 0000000..3f71b81
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-tree.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.metrics Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.metrics Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/graph/spi/execution/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/metrics/oplets/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.metrics</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.metrics.<a href="../../../../org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">MetricObjectNameFactory</span></a> (implements com.codahale.metrics.ObjectNameFactory)</li>
+<li type="circle">org.apache.edgent.metrics.<a href="../../../../org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Metrics</span></a></li>
+<li type="circle">org.apache.edgent.metrics.<a href="../../../../org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">MetricsSetup</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/graph/spi/execution/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/metrics/oplets/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-use.html
new file mode 100644
index 0000000..03f6a39
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/metrics/package-use.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.metrics (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.metrics (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.metrics" class="title">Uses of Package<br>org.apache.edgent.metrics</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics">org.apache.edgent.metrics</a></td>
+<td class="colLast">
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a> used by <a href="../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/metrics/class-use/MetricsSetup.html#org.apache.edgent.metrics">MetricsSetup</a>
+<div class="block">Utility helpers for configuring and starting a Metric <code>JmxReporter</code>
+ or a <code>ConsoleReporter</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/metrics/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/JobContext.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/JobContext.html
new file mode 100644
index 0000000..d50a392
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/JobContext.html
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JobContext (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobContext.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/JobContext.html" target="_top">Frames</a></li>
+<li><a href="JobContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet</div>
+<h2 title="Interface JobContext" class="title">Interface JobContext</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">JobContext</span></pre>
+<div class="block">Information about an oplet invocation's job.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/JobContext.html#getId--">getId</a></span>()</code>
+<div class="block">Get the runtime identifier for the job containing this <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/JobContext.html#getName--">getName</a></span>()</code>
+<div class="block">Get the name of the job containing this <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getId</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
+<div class="block">Get the runtime identifier for the job containing this <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The job identifier for the application being executed.</dd>
+</dl>
+</li>
+</ul>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getName</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block">Get the name of the job containing this <a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The job name for the application being executed.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobContext.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/JobContext.html" target="_top">Frames</a></li>
+<li><a href="JobContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/Oplet.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/Oplet.html
new file mode 100644
index 0000000..de13079
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/Oplet.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Oplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Oplet (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Oplet.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/Oplet.html" target="_top">Frames</a></li>
+<li><a href="Oplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet</div>
+<h2 title="Interface Oplet" class="title">Interface Oplet&lt;I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>I</code> - Data container type for input tuples.</dd>
+<dd><code>O</code> - Data container type for output tuples.</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>, <a href="../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a>, <a href="../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a>, <a href="../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>, <a href="../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a>, <a href="../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>, <a href="../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a>, <a href="../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a>, <a href="../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a>, <a href="../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a>, <a href="../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a>, <a href="../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>, <a href="../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a>, <a href="../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>, <a href="../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>, <a href="../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a>, <a href="../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a>, <a href="../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Publish</a>, <a href="../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a>, <a href="../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>, <a href="../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>, <a href="../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>, <a href="../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a>, <a href="../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a>, <a href="../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a>, <a href="../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a>, <a href="../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a>, <a href="../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Oplet&lt;I,O&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></pre>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports. An input port may be
+ connected with any number of streams from other oplets. An output port may
+ connected to any number of input ports on other oplets.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">getInputs</a></span>()</code>
+<div class="block">Get the input stream data handlers for this oplet.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>,<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">O</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>void&nbsp;initialize(<a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>,<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">O</a>&gt;&nbsp;context)
+         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - on failure</dd>
+</dl>
+</li>
+</ul>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>void&nbsp;start()</pre>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+</li>
+</ul>
+<a name="getInputs--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getInputs</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>&gt;&gt;&nbsp;getInputs()</pre>
+<div class="block">Get the input stream data handlers for this oplet. The number of handlers
+ must equal the number of configured input ports. Each tuple
+ arriving on an input port will be sent to the stream handler for that
+ input port.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of consumers</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Oplet.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/Oplet.html" target="_top">Frames</a></li>
+<li><a href="Oplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/OpletContext.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/OpletContext.html
new file mode 100644
index 0000000..3c52cc5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/OpletContext.html
@@ -0,0 +1,427 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>OpletContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="OpletContext (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/OpletContext.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/OpletContext.html" target="_top">Frames</a></li>
+<li><a href="OpletContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet</div>
+<h2 title="Interface OpletContext" class="title">Interface OpletContext&lt;I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>I</code> - tuple type of input streams</dd>
+<dd><code>O</code> - tuple type of output streams</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a>, <a href="../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">OpletContext&lt;I,O&gt;</span>
+extends <a href="../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></pre>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.
+ <P>
+ At execution time an oplet uses its invocation context to retrieve 
+ provided <a href="../../../../org/apache/edgent/oplet/OpletContext.html#getService-java.lang.Class-"><code>services</code></a>, 
+ <a href="../../../../org/apache/edgent/oplet/OpletContext.html#getOutputs--"><code>output ports</code></a> for tuple submission
+ and <a href="../../../../org/apache/edgent/oplet/OpletContext.html#getJobContext--"><code>job</code></a> information.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getId--">getId</a></span>()</code>
+<div class="block">Get the unique identifier (within the running job)
+ for this oplet.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getInputCount--">getInputCount</a></span>()</code>
+<div class="block">Get the number of connected inputs to this oplet.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getJobContext--">getJobContext</a></span>()</code>
+<div class="block">Get the job hosting this oplet.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getOutputContext--">getOutputContext</a></span>()</code>
+<div class="block">Get the oplet's output port context information.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getOutputCount--">getOutputCount</a></span>()</code>
+<div class="block">Get the number of connected outputs to this oplet.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="type parameter in OpletContext">O</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getOutputs--">getOutputs</a></span>()</code>
+<div class="block">Get the mechanism to submit tuples on an output port.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#getService-java.lang.Class-">getService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
+<div class="block">Get a service for this invocation.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OpletContext.html#uniquify-java.lang.String-">uniquify</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Creates a unique name within the context of the current runtime.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getId</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
+<div class="block">Get the unique identifier (within the running job)
+ for this oplet.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unique identifier for this oplet</dd>
+</dl>
+</li>
+</ul>
+<a name="getService-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getService</h4>
+<pre>&lt;T&gt;&nbsp;T&nbsp;getService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
+<div class="block">Get a service for this invocation.
+ <P>
+ These services must be provided by all implementations:
+ </P>
+ <UL>
+ <LI>
+ <code>java.util.concurrent.ThreadFactory</code> - Thread factory, runtime code should
+ create new threads using this factory.
+ </LI>
+ <LI>
+ <code>java.util.concurrent.ScheduledExecutorService</code> - Scheduler, runtime code should
+ execute asynchronous and repeating tasks using this scheduler. 
+ </LI>
+ </UL>
+ <P>
+ Get a service for this oplet invocation.
+ 
+ An invocation of an oplet may get access to services,
+ which provide specific functionality, such as metrics.
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/execution/services/RuntimeServices.html#getService-java.lang.Class-">getService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - service class type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceClass</code> - Type of the service required.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Service of type implementing <code>serviceClass</code> if the 
+      container this invocation runs in supports that service, 
+      otherwise <code>null</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getInputCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputCount</h4>
+<pre>int&nbsp;getInputCount()</pre>
+<div class="block">Get the number of connected inputs to this oplet.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>number of connected inputs to this oplet.</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputCount</h4>
+<pre>int&nbsp;getOutputCount()</pre>
+<div class="block">Get the number of connected outputs to this oplet.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>number of connected outputs to this oplet.</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputs</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="type parameter in OpletContext">O</a>&gt;&gt;&nbsp;getOutputs()</pre>
+<div class="block">Get the mechanism to submit tuples on an output port.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of consumers</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputContext--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputContext</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;getOutputContext()</pre>
+<div class="block">Get the oplet's output port context information.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of <a href="../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet"><code>OutputPortContext</code></a>, one for each output port.</dd>
+</dl>
+</li>
+</ul>
+<a name="getJobContext--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJobContext</h4>
+<pre><a href="../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;getJobContext()</pre>
+<div class="block">Get the job hosting this oplet.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><a href="../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet"><code>JobContext</code></a> hosting this oplet invocation.</dd>
+</dl>
+</li>
+</ul>
+<a name="uniquify-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>uniquify</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uniquify(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Creates a unique name within the context of the current runtime.
+ <p>
+ The default implementation adds a suffix composed of the package 
+ name of this interface, the current job and oplet identifiers, 
+ all separated by periods (<code>'.'</code>).  Developers should use this 
+ method to avoid name clashes when they store or register the name in 
+ an external container or registry.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name (possibly non-unique)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unique name within the context of the current runtime.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/OpletContext.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/OpletContext.html" target="_top">Frames</a></li>
+<li><a href="OpletContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/OutputPortContext.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/OutputPortContext.html
new file mode 100644
index 0000000..9b48ee0
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/OutputPortContext.html
@@ -0,0 +1,231 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>OutputPortContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="OutputPortContext (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/OutputPortContext.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/OutputPortContext.html" target="_top">Frames</a></li>
+<li><a href="OutputPortContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet</div>
+<h2 title="Interface OutputPortContext" class="title">Interface OutputPortContext</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">OutputPortContext</span></pre>
+<div class="block">Information about an oplet output port.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/oplet/OutputPortContext.html#getAlias--">getAlias</a></span>()</code>
+<div class="block">Get the alias of the output port if any.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getAlias--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getAlias</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
+<div class="block">Get the alias of the output port if any.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the alias; null if none.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/OutputPortContext.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/OutputPortContext.html" target="_top">Frames</a></li>
+<li><a href="OutputPortContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/JobContext.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/JobContext.html
new file mode 100644
index 0000000..c30a5d3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/JobContext.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.oplet.JobContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.oplet.JobContext (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/class-use/JobContext.html" target="_top">Frames</a></li>
+<li><a href="JobContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.oplet.JobContext" class="title">Uses of Interface<br>org.apache.edgent.oplet.JobContext</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet">org.apache.edgent.oplet</a></td>
+<td class="colLast">
+<div class="block">Oplets API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a> in <a href="../../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> that return <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></code></td>
+<td class="colLast"><span class="typeNameLabel">OpletContext.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getJobContext--">getJobContext</a></span>()</code>
+<div class="block">Get the job hosting this oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that implement <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></span></code>
+<div class="block">Etiao runtime implementation of the <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that return <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractContext.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#getJobContext--">getJobContext</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Invocation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#initialize-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+          <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services)</code>
+<div class="block">Initialize the invocation.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#AbstractContext-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-">AbstractContext</a></span>(<a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+               <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                 <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+                 <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
+                 int&nbsp;inputCount,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
+<div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/class-use/JobContext.html" target="_top">Frames</a></li>
+<li><a href="JobContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/Oplet.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/Oplet.html
new file mode 100644
index 0000000..7273a66
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/Oplet.html
@@ -0,0 +1,667 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.oplet.Oplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.oplet.Oplet (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/class-use/Oplet.html" target="_top">Frames</a></li>
+<li><a href="Oplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.oplet.Oplet" class="title">Uses of Interface<br>org.apache.edgent.oplet.Oplet</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub.oplets">org.apache.edgent.connectors.pubsub.oplets</a></td>
+<td class="colLast">
+<div class="block">Oplets supporting publish subscribe service.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph.model">org.apache.edgent.runtime.etiao.graph.model</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a> that implement <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Publish</a>&lt;T&gt;</span></code>
+<div class="block">Publish a stream to a PublishSubscribeService service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> with type parameters of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;</span></code>
+<div class="block">A <code>Vertex</code> in a graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> with type parameters of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</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>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;N,C,P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#insert-N-int-int-">insert</a></span>(N&nbsp;oplet,
+      int&nbsp;inputs,
+      int&nbsp;outputs)</code>
+<div class="block">Add a new unconnected <code>Vertex</code> into the graph.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;C&gt;&nbsp;output,
+    N&nbsp;oplet)</code>
+<div class="block">Create a new connected <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/Graph.html#getVertices--">getVertices</a></span>()</code>
+<div class="block">Return an unmodifiable view of all vertices in this graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> with type parameters of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">AbstractVertex</a>&lt;OP extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;</span></code>
+<div class="block">Placeholder for a skeletal implementation of the <a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> interface,
+ to minimize the effort required to implement the interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> with type parameters of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</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>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe</a></span>(<a href="../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;C&gt;&nbsp;output,
+    N&nbsp;oplet)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a> that implement <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which counts the number of tuples peeked at.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which measures current tuple throughput and one-, five-, 
+ and fifteen-minute exponentially-weighted moving averages.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;T&gt;</span></code>
+<div class="block">Base for metrics oplets which use a single metric object.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> that implement <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;I,O&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;T,U&gt;</span></code>
+<div class="block">FanIn oplet, merges multiple input ports into a single output port.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;T&gt;</span></code>
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;I,O&gt;</span></code>
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;T&gt;</span></code>
+<div class="block">Sink a stream by processing each tuple through
+ a <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><code>Consumer</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a>&lt;T&gt;</span></code>
+<div class="block">Split a stream into multiple streams depending
+ on the result of a splitter function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a>&lt;T&gt;</span></code>
+<div class="block">Union oplet, merges multiple input ports
+ into a single output port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> that implement <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a>&lt;T&gt;</span></code>
+<div class="block">Generate tuples from events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a>&lt;I,O&gt;</span></code>
+<div class="block">Map an input tuple to 0-N output tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a>&lt;I,O&gt;</span></code>
+<div class="block">Map an input tuple to 0-1 output tuple</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a> that implement <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a>&lt;T&gt;</span></code>
+<div class="block">A tuple synchronization barrier.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a>&lt;T&gt;</span></code>
+<div class="block">Isolate upstream processing from downstream
+ processing guaranteeing tuple order.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a>&lt;T,K&gt;</span></code>
+<div class="block">Relieve pressure on upstream oplets by discarding tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a>&lt;T&gt;</span></code>
+<div class="block">Isolate upstream processing from downstream
+ processing without guaranteeing tuple order.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a> that implement <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a>&lt;T,U,K&gt;</span></code>
+<div class="block">Aggregate a window.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with type parameters of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a>&lt;T extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;</span></code>
+<div class="block">An <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a> invocation in the context of the 
+ <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">ETIAO</a> runtime.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with type parameters of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</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>&lt;T extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;<br><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a>&lt;T,I,O&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Executable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#addOpletInvocation-T-int-int-">addOpletInvocation</a></span>(T&nbsp;oplet,
+                  int&nbsp;inputs,
+                  int&nbsp;outputs)</code>
+<div class="block">Creates a new <code>Invocation</code> associated with the specified oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> with type parameters of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a>&lt;N extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> with type parameters of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</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>&lt;OP extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a>&lt;OP,C,P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#insert-OP-int-int-">insert</a></span>(OP&nbsp;oplet,
+      int&nbsp;inputs,
+      int&nbsp;outputs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectGraph.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getVertices--">getVertices</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph.model">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html#InvocationType-org.apache.edgent.oplet.Oplet-">InvocationType</a></span>(<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="type parameter in InvocationType">I</a>,<a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="type parameter in InvocationType">O</a>&gt;&nbsp;value)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a> with type arguments of type <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html#VertexType-org.apache.edgent.graph.Vertex-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">VertexType</a></span>(<a href="../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&nbsp;value,
+          org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a> in <a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a> that implement <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a>&lt;T&gt;</span></code>
+<div class="block">A Stream "oscilloscope" oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/class-use/Oplet.html" target="_top">Frames</a></li>
+<li><a href="Oplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/OpletContext.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/OpletContext.html
new file mode 100644
index 0000000..cf0c424
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/OpletContext.html
@@ -0,0 +1,423 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.oplet.OpletContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.oplet.OpletContext (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/class-use/OpletContext.html" target="_top">Frames</a></li>
+<li><a href="OpletContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.oplet.OpletContext" class="title">Uses of Interface<br>org.apache.edgent.oplet.OpletContext</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub.oplets">org.apache.edgent.connectors.pubsub.oplets</a></td>
+<td class="colLast">
+<div class="block">Oplets supporting publish subscribe service.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet">org.apache.edgent.oplet</a></td>
+<td class="colLast">
+<div class="block">Oplets API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a> in <a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Publish.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="type parameter in Publish">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a> in <a href="../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SingleMetricAbstractOplet.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>,<a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a> in <a href="../../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Oplet.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">I</a>,<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="type parameter in Oplet">O</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a> in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> that return <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">O</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractOplet.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Pipe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractOplet.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">O</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Union.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Union.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Split.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">FanIn.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Source.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">PeriodicSource.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a> in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SupplierSource.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">SupplierPeriodicSource.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a> in <a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Barrier.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">UnorderedIsolate.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">PressureReliever.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Isolate.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a> in <a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Aggregate.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that implement <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a>&lt;I,O&gt;</span></code>
+<div class="block">Provides a skeletal implementation of the <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><code>OpletContext</code></a>
+ interface.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a>&lt;I,O&gt;</span></code>
+<div class="block">Context information for the <code>Oplet</code>'s execution context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a> in <a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScope.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>,<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&nbsp;context)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/class-use/OpletContext.html" target="_top">Frames</a></li>
+<li><a href="OpletContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/OutputPortContext.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/OutputPortContext.html
new file mode 100644
index 0000000..4a3f86c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/class-use/OutputPortContext.html
@@ -0,0 +1,229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.oplet.OutputPortContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.oplet.OutputPortContext (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/class-use/OutputPortContext.html" target="_top">Frames</a></li>
+<li><a href="OutputPortContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.oplet.OutputPortContext" class="title">Uses of Interface<br>org.apache.edgent.oplet.OutputPortContext</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet">org.apache.edgent.oplet</a></td>
+<td class="colLast">
+<div class="block">Oplets API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a> in <a href="../../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">OpletContext.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputContext--">getOutputContext</a></span>()</code>
+<div class="block">Get the oplet's output port context information.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a> in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">InvocationContext.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputContext--">getOutputContext</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with parameters of type <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Invocation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#setContext-int-org.apache.edgent.oplet.OutputPortContext-">setContext</a></span>(int&nbsp;port,
+          <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&nbsp;context)</code>
+<div class="block">Set the specified output port's context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> with type arguments of type <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                 <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+                 <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
+                 int&nbsp;inputCount,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
+<div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/class-use/OutputPortContext.html" target="_top">Frames</a></li>
+<li><a href="OutputPortContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/AbstractOplet.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/AbstractOplet.html
new file mode 100644
index 0000000..8bb99c3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/AbstractOplet.html
@@ -0,0 +1,319 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractOplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractOplet (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractOplet.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/AbstractOplet.html" target="_top">Frames</a></li>
+<li><a href="AbstractOplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.core</div>
+<h2 title="Class AbstractOplet" class="title">Class AbstractOplet&lt;I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.core.AbstractOplet&lt;I,O&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>, <a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>, <a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>, <a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractOplet&lt;I,O&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#AbstractOplet--">AbstractOplet</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">O</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">O</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.Oplet">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractOplet--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractOplet</h4>
+<pre>public&nbsp;AbstractOplet()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">O</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">O</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="getOpletContext--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getOpletContext</h4>
+<pre>public final&nbsp;<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="type parameter in AbstractOplet">O</a>&gt;&nbsp;getOpletContext()</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractOplet.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/AbstractOplet.html" target="_top">Frames</a></li>
+<li><a href="AbstractOplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/FanIn.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/FanIn.html
new file mode 100644
index 0000000..3edd8ac
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/FanIn.html
@@ -0,0 +1,465 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FanIn (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FanIn (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FanIn.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/FanIn.html" target="_top">Frames</a></li>
+<li><a href="FanIn.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.core</div>
+<h2 title="Class FanIn" class="title">Class FanIn&lt;T,U&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,U&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.core.FanIn&lt;T,U&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type of input streams</dd>
+<dd><code>U</code> - Tuple type of output stream</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,U&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a>, <a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FanIn&lt;T,U&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;T,U&gt;</pre>
+<div class="block">FanIn oplet, merges multiple input ports into a single output port.
+ <P>
+ For each tuple received, <code>receiver.apply(T tuple, Integer index)</code>
+ is called. <code>index</code> is the tuple's input stream's index, where
+ <code>this</code> is index 0 followed by <code>others</code> in their order.
+ <code>receiver</code> either returns a tuple to emit on the output
+ stream or null.
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#FanIn--">FanIn</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#FanIn-org.apache.edgent.function.BiFunction-">FanIn</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#consumer-int-">consumer</a></span>(int&nbsp;iportIndex)</code>
+<div class="block">Create a Consumer for the input port that invokes the
+ receiver and submits a generated tuple, if any, to the output.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getInputs--">getInputs</a></span>()</code>
+<div class="block">Get the input stream data handlers for this oplet.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#setReceiver-org.apache.edgent.function.BiFunction-">setReceiver</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</code>
+<div class="block">Set the receiver function.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#submit-U-">submit</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&nbsp;tuple)</code>
+<div class="block">Submit a tuple to single output.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FanIn--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FanIn</h4>
+<pre>public&nbsp;FanIn()</pre>
+</li>
+</ul>
+<a name="FanIn-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FanIn</h4>
+<pre>public&nbsp;FanIn(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="setReceiver-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setReceiver</h4>
+<pre>protected&nbsp;void&nbsp;setReceiver(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;receiver)</pre>
+<div class="block">Set the receiver function.  Must be called no later than as part
+ of <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#initialize-org.apache.edgent.oplet.OpletContext-"><code>initialize(OpletContext)</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>receiver</code> - function to receive tuples</dd>
+</dl>
+</li>
+</ul>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+</li>
+</ul>
+<a name="getInputs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputs</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;&gt;&nbsp;getInputs()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
+<div class="block">Get the input stream data handlers for this oplet. The number of handlers
+ must equal the number of configured input ports. Each tuple
+ arriving on an input port will be sent to the stream handler for that
+ input port.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of consumers</dd>
+</dl>
+</li>
+</ul>
+<a name="consumer-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>consumer</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">T</a>&gt;&nbsp;consumer(int&nbsp;iportIndex)</pre>
+<div class="block">Create a Consumer for the input port that invokes the
+ receiver and submits a generated tuple, if any, to the output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>iportIndex</code> - index of the input port</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Consumer</dd>
+</dl>
+</li>
+</ul>
+<a name="getDestination--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDestination</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&gt;&nbsp;getDestination()</pre>
+</li>
+</ul>
+<a name="submit-java.lang.Object-">
+<!--   -->
+</a><a name="submit-U-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submit</h4>
+<pre>protected&nbsp;void&nbsp;submit(<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="type parameter in FanIn">U</a>&nbsp;tuple)</pre>
+<div class="block">Submit a tuple to single output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Tuple to be submitted.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FanIn.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/FanIn.html" target="_top">Frames</a></li>
+<li><a href="FanIn.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/FanOut.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/FanOut.html
new file mode 100644
index 0000000..c495aff
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/FanOut.html
@@ -0,0 +1,371 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FanOut (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FanOut (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FanOut.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/FanOut.html" target="_top">Frames</a></li>
+<li><a href="FanOut.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.core</div>
+<h2 title="Class FanOut" class="title">Class FanOut&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.core.FanOut&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">FanOut&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;T,T&gt;
+implements <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.core.FanOut">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html#FanOut--">FanOut</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html#accept-T-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html#getInputs--">getInputs</a></span>()</code>
+<div class="block">Get the input stream data handlers for this oplet.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a>, <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FanOut--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FanOut</h4>
+<pre>public&nbsp;FanOut()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInputs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputs</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;&gt;&nbsp;getInputs()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
+<div class="block">Get the input stream data handlers for this oplet. The number of handlers
+ must equal the number of configured input ports. Each tuple
+ arriving on an input port will be sent to the stream handler for that
+ input port.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">getInputs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of consumers</dd>
+</dl>
+</li>
+</ul>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">accept</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FanOut.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/FanOut.html" target="_top">Frames</a></li>
+<li><a href="FanOut.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Peek.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Peek.html
new file mode 100644
index 0000000..c0a1213
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Peek.html
@@ -0,0 +1,351 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Peek (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Peek (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Peek.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Peek.html" target="_top">Frames</a></li>
+<li><a href="Peek.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.core</div>
+<h2 title="Class Peek" class="title">Class Peek&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.core.Peek&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of the tuple.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a>, <a href="../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">Peek&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;T,T&gt;</pre>
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.
+ 
+ <a href="../../../../../org/apache/edgent/oplet/core/Peek.html#peek-T-"><code>peek(Object)</code></a> is called before the tuple is forwarded
+ and it is intended that the peek be a low cost operation
+ such as increasing a metric.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.core.Peek">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Peek.html#Peek--">Peek</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Peek.html#accept-T-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="type parameter in Peek">T</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Peek.html#peek-T-">peek</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="type parameter in Peek">T</a>&nbsp;tuple)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Peek--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Peek</h4>
+<pre>public&nbsp;Peek()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public final&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="type parameter in Peek">T</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="peek-java.lang.Object-">
+<!--   -->
+</a><a name="peek-T-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>peek</h4>
+<pre>protected abstract&nbsp;void&nbsp;peek(<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="type parameter in Peek">T</a>&nbsp;tuple)</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Peek.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Peek.html" target="_top">Frames</a></li>
+<li><a href="Peek.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/PeriodicSource.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/PeriodicSource.html
new file mode 100644
index 0000000..46180da
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/PeriodicSource.html
@@ -0,0 +1,494 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PeriodicSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PeriodicSource (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PeriodicSource.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/PeriodicSource.html" target="_top">Frames</a></li>
+<li><a href="PeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.core</div>
+<h2 title="Class PeriodicSource" class="title">Class PeriodicSource&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Source</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.core.PeriodicSource&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">PeriodicSource&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;
+implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#PeriodicSource-long-java.util.concurrent.TimeUnit-">PeriodicSource</a></span>(long&nbsp;period,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#fetchTuples--">fetchTuples</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#getPeriod--">getPeriod</a></span>()</code>
+<div class="block">Get the period.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#getRunnable--">getRunnable</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#getUnit--">getUnit</a></span>()</code>
+<div class="block">Get the time unit for <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--"><code>PeriodMXBean.getPeriod()</code></a>.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#run--">run</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#setPeriod-long-">setPeriod</a></span>(long&nbsp;period)</code>
+<div class="block">Set the period.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod</a></span>(long&nbsp;period,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Set the period and unit</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Source">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#submit-T-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PeriodicSource-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PeriodicSource</h4>
+<pre>protected&nbsp;PeriodicSource(long&nbsp;period,
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="type parameter in PeriodicSource">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getRunnable--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRunnable</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;getRunnable()</pre>
+</li>
+</ul>
+<a name="fetchTuples--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fetchTuples</h4>
+<pre>protected abstract&nbsp;void&nbsp;fetchTuples()
+                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/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="run--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getPeriod--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeriod</h4>
+<pre>public&nbsp;long&nbsp;getPeriod()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--">PeriodMXBean</a></code></span></div>
+<div class="block">Get the period.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--">getPeriod</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>period</dd>
+</dl>
+</li>
+</ul>
+<a name="getUnit--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getUnit</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;getUnit()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getUnit--">PeriodMXBean</a></code></span></div>
+<div class="block">Get the time unit for <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getPeriod--"><code>PeriodMXBean.getPeriod()</code></a>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#getUnit--">getUnit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>time unit</dd>
+</dl>
+</li>
+</ul>
+<a name="setPeriod-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPeriod</h4>
+<pre>public&nbsp;void&nbsp;setPeriod(long&nbsp;period)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-">PeriodMXBean</a></code></span></div>
+<div class="block">Set the period.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-">setPeriod</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>period</code> - the period</dd>
+</dl>
+</li>
+</ul>
+<a name="setPeriod-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setPeriod</h4>
+<pre>public&nbsp;void&nbsp;setPeriod(long&nbsp;period,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-java.util.concurrent.TimeUnit-">PeriodMXBean</a></code></span></div>
+<div class="block">Set the period and unit</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>period</code> - the period</dd>
+<dd><code>unit</code> - the <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a> of <code>period</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PeriodicSource.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/PeriodicSource.html" target="_top">Frames</a></li>
+<li><a href="PeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Pipe.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Pipe.html
new file mode 100644
index 0000000..2f36eb1
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Pipe.html
@@ -0,0 +1,413 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Pipe (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Pipe (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Pipe.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Pipe.html" target="_top">Frames</a></li>
+<li><a href="Pipe.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.core</div>
+<h2 title="Class Pipe" class="title">Class Pipe&lt;I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.core.Pipe&lt;I,O&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>I</code> - Data container type for input tuples.</dd>
+<dd><code>O</code> - Data container type for output tuples.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;I&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a>, <a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a>, <a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a>, <a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a>, <a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a>, <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>, <a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a>, <a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">Pipe&lt;I,O&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;I,O&gt;
+implements <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;I&gt;</pre>
+<div class="block">Pipe oplet with a single input and output.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.core.Pipe">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#Pipe--">Pipe</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a></span>()</code>
+<div class="block">Get the input stream data handlers for this oplet.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&nbsp;tuple)</code>
+<div class="block">Submit a tuple to single output.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.function.Consumer">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a></h3>
+<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">accept</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Pipe--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Pipe</h4>
+<pre>public&nbsp;Pipe()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInputs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputs</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>&gt;&gt;&nbsp;getInputs()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
+<div class="block">Get the input stream data handlers for this oplet. The number of handlers
+ must equal the number of configured input ports. Each tuple
+ arriving on an input port will be sent to the stream handler for that
+ input port.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">getInputs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>,<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of consumers</dd>
+</dl>
+</li>
+</ul>
+<a name="getDestination--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDestination</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt;&nbsp;getDestination()</pre>
+</li>
+</ul>
+<a name="submit-java.lang.Object-">
+<!--   -->
+</a><a name="submit-O-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>submit</h4>
+<pre>protected&nbsp;void&nbsp;submit(<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&nbsp;tuple)</pre>
+<div class="block">Submit a tuple to single output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Tuple to be submitted.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Pipe.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Pipe.html" target="_top">Frames</a></li>
+<li><a href="Pipe.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/ProcessSource.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/ProcessSource.html
new file mode 100644
index 0000000..65968da
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/ProcessSource.html
@@ -0,0 +1,370 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ProcessSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ProcessSource (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":6,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ProcessSource.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/ProcessSource.html" target="_top">Frames</a></li>
+<li><a href="ProcessSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.core</div>
+<h2 title="Class ProcessSource" class="title">Class ProcessSource&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Source</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.core.ProcessSource&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">ProcessSource&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;
+implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html#ProcessSource--">ProcessSource</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html#getRunnable--">getRunnable</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected abstract void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html#process--">process</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html#run--">run</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Source">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#submit-T-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ProcessSource--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ProcessSource</h4>
+<pre>public&nbsp;ProcessSource()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="type parameter in ProcessSource">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getRunnable--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRunnable</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;getRunnable()</pre>
+</li>
+</ul>
+<a name="process--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>process</h4>
+<pre>protected abstract&nbsp;void&nbsp;process()
+                         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/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="run--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;run()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ProcessSource.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/ProcessSource.html" target="_top">Frames</a></li>
+<li><a href="ProcessSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Sink.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Sink.html
new file mode 100644
index 0000000..1889363
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Sink.html
@@ -0,0 +1,412 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Sink (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Sink (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Sink.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Sink.html" target="_top">Frames</a></li>
+<li><a href="Sink.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.core</div>
+<h2 title="Class Sink" class="title">Class Sink&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.core.Sink&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Publish</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Sink&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</pre>
+<div class="block">Sink a stream by processing each tuple through
+ a <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><code>Consumer</code></a>.
+ If the <code>sinker</code> function implements <code>AutoCloseable</code>
+ then when this oplet is closed <code>sinker.close()</code> is called.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#Sink--">Sink</a></span>()</code>
+<div class="block">Create a  <code>Sink</code> that discards all tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#Sink-org.apache.edgent.function.Consumer-">Sink</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;sinker)</code>
+<div class="block">Create a <code>Sink</code> oplet.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#getInputs--">getInputs</a></span>()</code>
+<div class="block">Get the input stream data handlers for this oplet.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#getSinker--">getSinker</a></span>()</code>
+<div class="block">Get the sink function that processes each tuple.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#setSinker-org.apache.edgent.function.Consumer-">setSinker</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;sinker)</code>
+<div class="block">Set the sink function.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a>, <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Sink--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Sink</h4>
+<pre>public&nbsp;Sink()</pre>
+<div class="block">Create a  <code>Sink</code> that discards all tuples.
+ The sink function can be changed using
+ <a href="../../../../../org/apache/edgent/oplet/core/Sink.html#setSinker-org.apache.edgent.function.Consumer-"><code>setSinker(Consumer)</code></a>.</div>
+</li>
+</ul>
+<a name="Sink-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Sink</h4>
+<pre>public&nbsp;Sink(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;sinker)</pre>
+<div class="block">Create a <code>Sink</code> oplet.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sinker</code> - Processing to be performed on each tuple.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getInputs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputs</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&gt;&nbsp;getInputs()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
+<div class="block">Get the input stream data handlers for this oplet. The number of handlers
+ must equal the number of configured input ports. Each tuple
+ arriving on an input port will be sent to the stream handler for that
+ input port.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of consumers</dd>
+</dl>
+</li>
+</ul>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/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="setSinker-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSinker</h4>
+<pre>protected&nbsp;void&nbsp;setSinker(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;sinker)</pre>
+<div class="block">Set the sink function.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sinker</code> - Processing to be performed on each tuple.</dd>
+</dl>
+</li>
+</ul>
+<a name="getSinker--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getSinker</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="type parameter in Sink">T</a>&gt;&nbsp;getSinker()</pre>
+<div class="block">Get the sink function that processes each tuple.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>function that processes each tuple.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Sink.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Sink.html" target="_top">Frames</a></li>
+<li><a href="Sink.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Source.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Source.html
new file mode 100644
index 0000000..22c84b6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Source.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Source (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Source (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Source.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Source.html" target="_top">Frames</a></li>
+<li><a href="Source.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.core</div>
+<h2 title="Class Source" class="title">Class Source&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.core.Source&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a>, <a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>, <a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">Source&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#Source--">Source</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getDestination--">getDestination</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getInputs--">getInputs</a></span>()</code>
+<div class="block">Get the input stream data handlers for this oplet.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Source.html#submit-T-">submit</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&nbsp;tuple)</code>
+<div class="block">Submit a tuple to single output.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.Oplet">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.AutoCloseable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Source--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Source</h4>
+<pre>public&nbsp;Source()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="getDestination--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDestination</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&gt;&nbsp;getDestination()</pre>
+</li>
+</ul>
+<a name="submit-java.lang.Object-">
+<!--   -->
+</a><a name="submit-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submit</h4>
+<pre>protected&nbsp;void&nbsp;submit(<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="type parameter in Source">T</a>&nbsp;tuple)</pre>
+<div class="block">Submit a tuple to single output.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Tuple to be submitted.</dd>
+</dl>
+</li>
+</ul>
+<a name="getInputs--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getInputs</h4>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&gt;&nbsp;getInputs()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
+<div class="block">Get the input stream data handlers for this oplet. The number of handlers
+ must equal the number of configured input ports. Each tuple
+ arriving on an input port will be sent to the stream handler for that
+ input port.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of consumers</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Source.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Source.html" target="_top">Frames</a></li>
+<li><a href="Source.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Split.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Split.html
new file mode 100644
index 0000000..c014f91
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Split.html
@@ -0,0 +1,413 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Split (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Split (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Split.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Split.html" target="_top">Frames</a></li>
+<li><a href="Split.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.core</div>
+<h2 title="Class Split" class="title">Class Split&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.core.Split&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of the tuple.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Split&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;T,T&gt;
+implements <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</pre>
+<div class="block">Split a stream into multiple streams depending
+ on the result of a splitter function.
+ <BR>
+ For each tuple a function is called:
+ <UL>
+ <LI>If the return is negative the tuple is dropped.</LI>
+ <LI>Otherwise the return value is modded by the number of
+ output ports and the result is the output port index
+ the tuple is submitted to.</LI>
+ </UL></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.core.Split">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#Split-org.apache.edgent.function.ToIntFunction-">Split</a></span>(<a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;splitter)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#accept-T-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#getInputs--">getInputs</a></span>()</code>
+<div class="block">Get the input stream data handlers for this oplet.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Split.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Split-org.apache.edgent.function.ToIntFunction-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Split</h4>
+<pre>public&nbsp;Split(<a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;splitter)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInputs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputs</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;&gt;&nbsp;getInputs()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">Oplet</a></code></span></div>
+<div class="block">Get the input stream data handlers for this oplet. The number of handlers
+ must equal the number of configured input ports. Each tuple
+ arriving on an input port will be sent to the stream handler for that
+ input port.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#getInputs--">getInputs</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of consumers</dd>
+</dl>
+</li>
+</ul>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">accept</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Split.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Split.html" target="_top">Frames</a></li>
+<li><a href="Split.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Union.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Union.html
new file mode 100644
index 0000000..0749c69
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/Union.html
@@ -0,0 +1,365 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Union (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Union (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Union.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Union.html" target="_top">Frames</a></li>
+<li><a href="Union.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.core</div>
+<h2 title="Class Union" class="title">Class Union&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,U&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.FanIn</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.core.Union&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">Union&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;T,T&gt;</pre>
+<div class="block">Union oplet, merges multiple input ports
+ into a single output port.
+ 
+ Processing for each input is identical
+ and just submits the tuple to the single output.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Union.html#Union--">Union</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Union.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Union.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/core/Union.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.FanIn">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#consumer-int-">consumer</a>, <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#setReceiver-org.apache.edgent.function.BiFunction-">setReceiver</a>, <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#submit-U-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Union--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Union</h4>
+<pre>public&nbsp;Union()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#start--">start</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#close--">close</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>,<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="type parameter in Union">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Union.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/Union.html" target="_top">Frames</a></li>
+<li><a href="Union.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/AbstractOplet.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/AbstractOplet.html
new file mode 100644
index 0000000..b2149d2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/AbstractOplet.html
@@ -0,0 +1,431 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.AbstractOplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.AbstractOplet (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/AbstractOplet.html" target="_top">Frames</a></li>
+<li><a href="AbstractOplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.core.AbstractOplet" class="title">Uses of Class<br>org.apache.edgent.oplet.core.AbstractOplet</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub.oplets">org.apache.edgent.connectors.pubsub.oplets</a></td>
+<td class="colLast">
+<div class="block">Oplets supporting publish subscribe service.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Publish</a>&lt;T&gt;</span></code>
+<div class="block">Publish a stream to a PublishSubscribeService service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which counts the number of tuples peeked at.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which measures current tuple throughput and one-, five-, 
+ and fifteen-minute exponentially-weighted moving averages.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;T&gt;</span></code>
+<div class="block">Base for metrics oplets which use a single metric object.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;T,U&gt;</span></code>
+<div class="block">FanIn oplet, merges multiple input ports into a single output port.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;T&gt;</span></code>
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;I,O&gt;</span></code>
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;T&gt;</span></code>
+<div class="block">Sink a stream by processing each tuple through
+ a <a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><code>Consumer</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a>&lt;T&gt;</span></code>
+<div class="block">Split a stream into multiple streams depending
+ on the result of a splitter function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a>&lt;T&gt;</span></code>
+<div class="block">Union oplet, merges multiple input ports
+ into a single output port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a>&lt;T&gt;</span></code>
+<div class="block">Generate tuples from events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a>&lt;I,O&gt;</span></code>
+<div class="block">Map an input tuple to 0-N output tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a>&lt;I,O&gt;</span></code>
+<div class="block">Map an input tuple to 0-1 output tuple</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a>&lt;T&gt;</span></code>
+<div class="block">A tuple synchronization barrier.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a>&lt;T&gt;</span></code>
+<div class="block">Isolate upstream processing from downstream
+ processing guaranteeing tuple order.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a>&lt;T,K&gt;</span></code>
+<div class="block">Relieve pressure on upstream oplets by discarding tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a>&lt;T&gt;</span></code>
+<div class="block">Isolate upstream processing from downstream
+ processing without guaranteeing tuple order.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a>&lt;T,U,K&gt;</span></code>
+<div class="block">Aggregate a window.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a> in <a href="../../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a>&lt;T&gt;</span></code>
+<div class="block">A Stream "oscilloscope" oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/AbstractOplet.html" target="_top">Frames</a></li>
+<li><a href="AbstractOplet.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/FanIn.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/FanIn.html
new file mode 100644
index 0000000..8a3cead
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/FanIn.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.FanIn (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.FanIn (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/FanIn.html" target="_top">Frames</a></li>
+<li><a href="FanIn.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.core.FanIn" class="title">Uses of Class<br>org.apache.edgent.oplet.core.FanIn</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a> in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a> in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a>&lt;T&gt;</span></code>
+<div class="block">Union oplet, merges multiple input ports
+ into a single output port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a> in <a href="../../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a> in <a href="../../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a>&lt;T&gt;</span></code>
+<div class="block">A tuple synchronization barrier.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a> in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</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>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;fanin,
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+<div class="block">Declare a stream that contains the output of the specified 
+ <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a> in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</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>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;fanin,
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/FanIn.html" target="_top">Frames</a></li>
+<li><a href="FanIn.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/FanOut.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/FanOut.html
new file mode 100644
index 0000000..6744715
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/FanOut.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.FanOut (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.FanOut (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/FanOut.html" target="_top">Frames</a></li>
+<li><a href="FanOut.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.core.FanOut" class="title">Uses of Class<br>org.apache.edgent.oplet.core.FanOut</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.core.FanOut</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/FanOut.html" target="_top">Frames</a></li>
+<li><a href="FanOut.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Peek.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Peek.html
new file mode 100644
index 0000000..119cf8e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Peek.html
@@ -0,0 +1,302 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Peek (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Peek (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Peek.html" target="_top">Frames</a></li>
+<li><a href="Peek.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.core.Peek" class="title">Uses of Class<br>org.apache.edgent.oplet.core.Peek</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a> in <a href="../../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> with type parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</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>&lt;N extends <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>&gt;&gt;<br><a href="../../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Connector.html" title="type parameter in Connector">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Connector.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/Connector.html#peek-N-">peek</a></span>(N&nbsp;oplet)</code>
+<div class="block">Inserts a <code>Peek</code> oplet between an output port and its
+ connections.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> with type arguments of type <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/Graph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a></span>(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+       <a href="../../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</code>
+<div class="block">Insert Peek oplets returned by the specified <code>Supplier</code> into 
+ the outputs of all of the oplets which satisfy the specified 
+ <code>Predicate</code> and where the output's <a href="../../../../../../org/apache/edgent/graph/Connector.html#isConnected--"><code>Connector.isConnected()</code></a>
+ is true.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a> in <a href="../../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> with type arguments of type <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraph.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a></span>(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;? extends <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;?&gt;&gt;&nbsp;supplier,
+       <a href="../../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;?,?,?&gt;&gt;&nbsp;select)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a> in <a href="../../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a> in <a href="../../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which counts the number of tuples peeked at.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which measures current tuple throughput and one-, five-, 
+ and fifteen-minute exponentially-weighted moving averages.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;T&gt;</span></code>
+<div class="block">Base for metrics oplets which use a single metric object.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a>&lt;T&gt;</span></code>
+<div class="block">Functional peek oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a> in <a href="../../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a> in <a href="../../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a>&lt;T&gt;</span></code>
+<div class="block">A Stream "oscilloscope" oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Peek.html" target="_top">Frames</a></li>
+<li><a href="Peek.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/PeriodicSource.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/PeriodicSource.html
new file mode 100644
index 0000000..77cae51
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/PeriodicSource.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.PeriodicSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.PeriodicSource (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/PeriodicSource.html" target="_top">Frames</a></li>
+<li><a href="PeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.core.PeriodicSource" class="title">Uses of Class<br>org.apache.edgent.oplet.core.PeriodicSource</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/PeriodicSource.html" target="_top">Frames</a></li>
+<li><a href="PeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Pipe.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Pipe.html
new file mode 100644
index 0000000..9e28c4b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Pipe.html
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Pipe (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Pipe (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Pipe.html" target="_top">Frames</a></li>
+<li><a href="Pipe.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.core.Pipe" class="title">Uses of Class<br>org.apache.edgent.oplet.core.Pipe</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">CounterOp</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which counts the number of tuples peeked at.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">RateMeter</a>&lt;T&gt;</span></code>
+<div class="block">A metrics oplet which measures current tuple throughput and one-, five-, 
+ and fifteen-minute exponentially-weighted moving averages.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;T&gt;</span></code>
+<div class="block">Base for metrics oplets which use a single metric object.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;T&gt;</span></code>
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a>&lt;I,O&gt;</span></code>
+<div class="block">Map an input tuple to 0-N output tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a>&lt;I,O&gt;</span></code>
+<div class="block">Map an input tuple to 0-1 output tuple</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a>&lt;T&gt;</span></code>
+<div class="block">Isolate upstream processing from downstream
+ processing guaranteeing tuple order.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a>&lt;T,K&gt;</span></code>
+<div class="block">Relieve pressure on upstream oplets by discarding tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a>&lt;T&gt;</span></code>
+<div class="block">Isolate upstream processing from downstream
+ processing without guaranteeing tuple order.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a>&lt;T,U,K&gt;</span></code>
+<div class="block">Aggregate a window.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a>&lt;T&gt;</span></code>
+<div class="block">A Stream "oscilloscope" oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</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>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/TStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">pipe</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;pipe)</code>
+<div class="block">Declare a stream that contains the output of the specified <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><code>Pipe</code></a>
+ oplet applied to this stream.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a> in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with type parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</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>protected &lt;N extends <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;,U&gt;<br><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#connectPipe-N-">connectPipe</a></span>(N&nbsp;pipeOp)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</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>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">pipe</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;pipe)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Pipe.html" target="_top">Frames</a></li>
+<li><a href="Pipe.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/ProcessSource.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/ProcessSource.html
new file mode 100644
index 0000000..8fac054
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/ProcessSource.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.ProcessSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.ProcessSource (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/ProcessSource.html" target="_top">Frames</a></li>
+<li><a href="ProcessSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.core.ProcessSource" class="title">Uses of Class<br>org.apache.edgent.oplet.core.ProcessSource</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/ProcessSource.html" target="_top">Frames</a></li>
+<li><a href="ProcessSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Sink.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Sink.html
new file mode 100644
index 0000000..3fe564c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Sink.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Sink (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Sink (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Sink.html" target="_top">Frames</a></li>
+<li><a href="Sink.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.core.Sink" class="title">Uses of Class<br>org.apache.edgent.oplet.core.Sink</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub.oplets">org.apache.edgent.connectors.pubsub.oplets</a></td>
+<td class="colLast">
+<div class="block">Oplets supporting publish subscribe service.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a> in <a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a> in <a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets">Publish</a>&lt;T&gt;</span></code>
+<div class="block">Publish a stream to a PublishSubscribeService service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a> in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.oplet.core.Sink-">sink</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;oplet)</code>
+<div class="block">Sink (terminate) this stream using a oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a> in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#sink-org.apache.edgent.oplet.core.Sink-">sink</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;oplet)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Sink.html" target="_top">Frames</a></li>
+<li><a href="Sink.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Source.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Source.html
new file mode 100644
index 0000000..4523920
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Source.html
@@ -0,0 +1,277 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Source (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Source (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Source.html" target="_top">Frames</a></li>
+<li><a href="Source.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.core.Source" class="title">Uses of Class<br>org.apache.edgent.oplet.core.Source</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a> in <a href="../../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a> with type parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</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>&lt;N extends <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;P&gt;,P&gt;<br><a href="../../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Graph.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/Graph.html#source-N-">source</a></span>(N&nbsp;oplet)</code>
+<div class="block">Create a new unconnected <a href="../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><code>Vertex</code></a> associated with the
+ specified source <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a> in <a href="../../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a> with type parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</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>&lt;N extends <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;P&gt;,P&gt;<br><a href="../../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractGraph.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#source-N-">source</a></span>(N&nbsp;oplet)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a> in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a> in <a href="../../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a> in <a href="../../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a>&lt;T&gt;</span></code>
+<div class="block">Generate tuples from events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a>&lt;T&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a> in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with type parameters of type <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</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>protected &lt;N extends <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;,T&gt;<br><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#sourceStream-N-">sourceStream</a></span>(N&nbsp;sourceOp)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Source.html" target="_top">Frames</a></li>
+<li><a href="Source.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Split.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Split.html
new file mode 100644
index 0000000..00f33d1
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Split.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Split (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Split (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Split.html" target="_top">Frames</a></li>
+<li><a href="Split.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.core.Split" class="title">Uses of Class<br>org.apache.edgent.oplet.core.Split</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.core.Split</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Split.html" target="_top">Frames</a></li>
+<li><a href="Split.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Union.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Union.html
new file mode 100644
index 0000000..788916c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/class-use/Union.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.core.Union (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.core.Union (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Union.html" target="_top">Frames</a></li>
+<li><a href="Union.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.core.Union" class="title">Uses of Class<br>org.apache.edgent.oplet.core.Union</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.core.Union</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/core/class-use/Union.html" target="_top">Frames</a></li>
+<li><a href="Union.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-frame.html
new file mode 100644
index 0000000..718d137
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-frame.html
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.core (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/oplet/core/package-summary.html" target="classFrame">org.apache.edgent.oplet.core</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AbstractOplet.html" title="class in org.apache.edgent.oplet.core" target="classFrame">AbstractOplet</a></li>
+<li><a href="FanIn.html" title="class in org.apache.edgent.oplet.core" target="classFrame">FanIn</a></li>
+<li><a href="FanOut.html" title="class in org.apache.edgent.oplet.core" target="classFrame">FanOut</a></li>
+<li><a href="Peek.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Peek</a></li>
+<li><a href="PeriodicSource.html" title="class in org.apache.edgent.oplet.core" target="classFrame">PeriodicSource</a></li>
+<li><a href="Pipe.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Pipe</a></li>
+<li><a href="ProcessSource.html" title="class in org.apache.edgent.oplet.core" target="classFrame">ProcessSource</a></li>
+<li><a href="Sink.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Sink</a></li>
+<li><a href="Source.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Source</a></li>
+<li><a href="Split.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Split</a></li>
+<li><a href="Union.html" title="class in org.apache.edgent.oplet.core" target="classFrame">Union</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-summary.html
new file mode 100644
index 0000000..0f1ff81
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-summary.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.core (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.oplet.core (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.oplet.core</h1>
+<div class="docSummary">
+<div class="block">Core primitive oplets.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;I,O&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;T,U&gt;</td>
+<td class="colLast">
+<div class="block">FanIn oplet, merges multiple input ports into a single output port.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">FanOut</a>&lt;T&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>&lt;T&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;I,O&gt;</td>
+<td class="colLast">
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a>&lt;T&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Sink a stream by processing each tuple through
+ a <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><code>Consumer</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">Split</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Split a stream into multiple streams depending
+ on the result of a splitter function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core">Union</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Union oplet, merges multiple input ports
+ into a single output port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.oplet.core Description">Package org.apache.edgent.oplet.core Description</h2>
+<div class="block">Core primitive oplets.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-tree.html
new file mode 100644
index 0000000..0b5019c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-tree.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 (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.core Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.oplet.core Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.oplet.core</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">FanIn</span></a>&lt;T,U&gt;
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Union</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">FanOut</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Pipe</span></a>&lt;I,O&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Peek</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Sink</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Source</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">PeriodicSource</span></a>&lt;T&gt; (implements org.apache.edgent.execution.mbeans.<a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">ProcessSource</span></a>&lt;T&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Split</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-use.html
new file mode 100644
index 0000000..cf6396f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/core/package-use.html
@@ -0,0 +1,482 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.oplet.core (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.oplet.core (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.oplet.core" class="title">Uses of Package<br>org.apache.edgent.oplet.core</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub.oplets">org.apache.edgent.connectors.pubsub.oplets</a></td>
+<td class="colLast">
+<div class="block">Oplets supporting publish subscribe service.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub.oplets">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> used by <a href="../../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/AbstractOplet.html#org.apache.edgent.connectors.pubsub.oplets">AbstractOplet</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Sink.html#org.apache.edgent.connectors.pubsub.oplets">Sink</a>
+<div class="block">Sink a stream by processing each tuple through
+ a <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><code>Consumer</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> used by <a href="../../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Peek.html#org.apache.edgent.graph">Peek</a>
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Source.html#org.apache.edgent.graph">Source</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> used by <a href="../../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Peek.html#org.apache.edgent.graph.spi">Peek</a>
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Source.html#org.apache.edgent.graph.spi">Source</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> used by <a href="../../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/AbstractOplet.html#org.apache.edgent.metrics.oplets">AbstractOplet</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Peek.html#org.apache.edgent.metrics.oplets">Peek</a>
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Pipe.html#org.apache.edgent.metrics.oplets">Pipe</a>
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> used by <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/AbstractOplet.html#org.apache.edgent.oplet.core">AbstractOplet</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/FanIn.html#org.apache.edgent.oplet.core">FanIn</a>
+<div class="block">FanIn oplet, merges multiple input ports into a single output port.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Pipe.html#org.apache.edgent.oplet.core">Pipe</a>
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Source.html#org.apache.edgent.oplet.core">Source</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> used by <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/AbstractOplet.html#org.apache.edgent.oplet.functional">AbstractOplet</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Peek.html#org.apache.edgent.oplet.functional">Peek</a>
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/PeriodicSource.html#org.apache.edgent.oplet.functional">PeriodicSource</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Pipe.html#org.apache.edgent.oplet.functional">Pipe</a>
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/ProcessSource.html#org.apache.edgent.oplet.functional">ProcessSource</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Source.html#org.apache.edgent.oplet.functional">Source</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> used by <a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/AbstractOplet.html#org.apache.edgent.oplet.plumbing">AbstractOplet</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/FanIn.html#org.apache.edgent.oplet.plumbing">FanIn</a>
+<div class="block">FanIn oplet, merges multiple input ports into a single output port.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Pipe.html#org.apache.edgent.oplet.plumbing">Pipe</a>
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.window">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> used by <a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/AbstractOplet.html#org.apache.edgent.oplet.window">AbstractOplet</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Pipe.html#org.apache.edgent.oplet.window">Pipe</a>
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> used by <a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/AbstractOplet.html#org.apache.edgent.streamscope.oplets">AbstractOplet</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Peek.html#org.apache.edgent.streamscope.oplets">Peek</a>
+<div class="block">Oplet that allows a peek at each tuple and always forwards a tuple onto
+ its single output port.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Pipe.html#org.apache.edgent.streamscope.oplets">Pipe</a>
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> used by <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/FanIn.html#org.apache.edgent.topology">FanIn</a>
+<div class="block">FanIn oplet, merges multiple input ports into a single output port.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Pipe.html#org.apache.edgent.topology">Pipe</a>
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Sink.html#org.apache.edgent.topology">Sink</a>
+<div class="block">Sink a stream by processing each tuple through
+ a <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><code>Consumer</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a> used by <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/FanIn.html#org.apache.edgent.topology.spi.graph">FanIn</a>
+<div class="block">FanIn oplet, merges multiple input ports into a single output port.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Pipe.html#org.apache.edgent.topology.spi.graph">Pipe</a>
+<div class="block">Pipe oplet with a single input and output.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Sink.html#org.apache.edgent.topology.spi.graph">Sink</a>
+<div class="block">Sink a stream by processing each tuple through
+ a <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><code>Consumer</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/core/class-use/Source.html#org.apache.edgent.topology.spi.graph">Source</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/core/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Events.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Events.html
new file mode 100644
index 0000000..345d47b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Events.html
@@ -0,0 +1,368 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Events (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Events (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Events.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/Events.html" target="_top">Frames</a></li>
+<li><a href="Events.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.functional</div>
+<h2 title="Class Events" class="title">Class Events&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Source</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.functional.Events&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Data container type for output tuples.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Events&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;
+implements <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</pre>
+<div class="block">Generate tuples from events.
+ This oplet implements <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><code>Consumer</code></a> which
+ can be called directly from an event handler,
+ listener or callback.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.functional.Events">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Events.html#Events-org.apache.edgent.function.Consumer-">Events</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&gt;&gt;&nbsp;eventSetup)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Events.html#accept-T-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Events.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Events.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Source">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#submit-T-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Events-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Events</h4>
+<pre>public&nbsp;Events(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&gt;&gt;&nbsp;eventSetup)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/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="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">accept</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Events.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/Events.html" target="_top">Frames</a></li>
+<li><a href="Events.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Filter.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Filter.html
new file mode 100644
index 0000000..5ad14da
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Filter.html
@@ -0,0 +1,333 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Filter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Filter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Filter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/Filter.html" target="_top">Frames</a></li>
+<li><a href="Filter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.functional</div>
+<h2 title="Class Filter" class="title">Class Filter&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.functional.Filter&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Filter&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;T,T&gt;</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.functional.Filter">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Filter.html#Filter-org.apache.edgent.function.Predicate-">Filter</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="type parameter in Filter">T</a>&gt;&nbsp;filter)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Filter.html#accept-T-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="type parameter in Filter">T</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Filter.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Filter-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Filter</h4>
+<pre>public&nbsp;Filter(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="type parameter in Filter">T</a>&gt;&nbsp;filter)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="type parameter in Filter">T</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Filter.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/Filter.html" target="_top">Frames</a></li>
+<li><a href="Filter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/FlatMap.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/FlatMap.html
new file mode 100644
index 0000000..240e005
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/FlatMap.html
@@ -0,0 +1,345 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>FlatMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="FlatMap (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FlatMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/FlatMap.html" target="_top">Frames</a></li>
+<li><a href="FlatMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.functional</div>
+<h2 title="Class FlatMap" class="title">Class FlatMap&lt;I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.functional.FlatMap&lt;I,O&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>I</code> - Data container type for input tuples.</dd>
+<dd><code>O</code> - Data container type for output tuples.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;I&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">FlatMap&lt;I,O&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;I,O&gt;</pre>
+<div class="block">Map an input tuple to 0-N output tuples.
+ 
+ Uses a function that returns an iterable
+ to map the input tuple. The return value
+ of the function's apply method is
+ iterated through with each returned
+ value being submitted as an output tuple.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.functional.FlatMap">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html#FlatMap-org.apache.edgent.function.Function-">FlatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">O</a>&gt;&gt;&nbsp;function)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html#accept-I-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="FlatMap-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>FlatMap</h4>
+<pre>public&nbsp;FlatMap(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">O</a>&gt;&gt;&nbsp;function)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-I-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/FlatMap.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/FlatMap.html" target="_top">Frames</a></li>
+<li><a href="FlatMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Map.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Map.html
new file mode 100644
index 0000000..81e003f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Map.html
@@ -0,0 +1,339 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Map (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Map (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Map.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/Map.html" target="_top">Frames</a></li>
+<li><a href="Map.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.functional</div>
+<h2 title="Class Map" class="title">Class Map&lt;I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.functional.Map&lt;I,O&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>I</code> - Data container type for input tuples.</dd>
+<dd><code>O</code> - Data container type for output tuples.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;I&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Map&lt;I,O&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;I,O&gt;</pre>
+<div class="block">Map an input tuple to 0-1 output tuple</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.functional.Map">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Map.html#Map-org.apache.edgent.function.Function-">Map</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">I</a>,<a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">O</a>&gt;&nbsp;function)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Map.html#accept-I-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">I</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Map.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Map-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Map</h4>
+<pre>public&nbsp;Map(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">I</a>,<a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">O</a>&gt;&nbsp;function)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-I-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">I</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Map.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/Map.html" target="_top">Frames</a></li>
+<li><a href="Map.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Peek.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Peek.html
new file mode 100644
index 0000000..8808d19
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/Peek.html
@@ -0,0 +1,372 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Peek (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Peek (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Peek.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/Peek.html" target="_top">Frames</a></li>
+<li><a href="Peek.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.functional</div>
+<h2 title="Class Peek" class="title">Class Peek&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Peek</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.functional.Peek&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Peek&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;T&gt;</pre>
+<div class="block">Functional peek oplet.
+ 
+ Each peek calls <code>peeker.accept(tuple)</code>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.functional.Peek">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html#Peek-org.apache.edgent.function.Consumer-">Peek</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="type parameter in Peek">T</a>&gt;&nbsp;peeker)</code>
+<div class="block">Peek oplet using a function to peek.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="type parameter in Peek">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html#getPeeker--">getPeeker</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html#peek-T-">peek</a></span>(<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="type parameter in Peek">T</a>&nbsp;tuple)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Peek">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Peek.html#accept-T-">accept</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Peek-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Peek</h4>
+<pre>public&nbsp;Peek(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="type parameter in Peek">T</a>&gt;&nbsp;peeker)</pre>
+<div class="block">Peek oplet using a function to peek.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>peeker</code> - Function that peeks at the tuple.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getPeeker--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPeeker</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="type parameter in Peek">T</a>&gt;&nbsp;getPeeker()</pre>
+</li>
+</ul>
+<a name="peek-java.lang.Object-">
+<!--   -->
+</a><a name="peek-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>peek</h4>
+<pre>protected&nbsp;void&nbsp;peek(<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="type parameter in Peek">T</a>&nbsp;tuple)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Peek.html#peek-T-">peek</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="type parameter in Peek">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Peek.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/Peek.html" target="_top">Frames</a></li>
+<li><a href="Peek.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/SupplierPeriodicSource.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/SupplierPeriodicSource.html
new file mode 100644
index 0000000..4035dfb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/SupplierPeriodicSource.html
@@ -0,0 +1,364 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SupplierPeriodicSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SupplierPeriodicSource (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SupplierPeriodicSource.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" target="_top">Frames</a></li>
+<li><a href="SupplierPeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.functional</div>
+<h2 title="Class SupplierPeriodicSource" class="title">Class SupplierPeriodicSource&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Source</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.PeriodicSource</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.functional.SupplierPeriodicSource&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SupplierPeriodicSource&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>&lt;T&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#SupplierPeriodicSource-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Supplier-">SupplierPeriodicSource</a></span>(long&nbsp;period,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+                      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;data)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#fetchTuples--">fetchTuples</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.PeriodicSource">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#getPeriod--">getPeriod</a>, <a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#getRunnable--">getRunnable</a>, <a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#getUnit--">getUnit</a>, <a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#run--">run</a>, <a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#setPeriod-long-">setPeriod</a>, <a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#setPeriod-long-java.util.concurrent.TimeUnit-">setPeriod</a>, <a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#start--">start</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Source">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#submit-T-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SupplierPeriodicSource-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SupplierPeriodicSource</h4>
+<pre>public&nbsp;SupplierPeriodicSource(long&nbsp;period,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+                              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;data)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/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="fetchTuples--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>fetchTuples</h4>
+<pre>public&nbsp;void&nbsp;fetchTuples()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html#fetchTuples--">fetchTuples</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core">PeriodicSource</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="type parameter in SupplierPeriodicSource">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SupplierPeriodicSource.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" target="_top">Frames</a></li>
+<li><a href="SupplierPeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/SupplierSource.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/SupplierSource.html
new file mode 100644
index 0000000..d1e5cd3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/SupplierSource.html
@@ -0,0 +1,372 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SupplierSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SupplierSource (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SupplierSource.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/SupplierSource.html" target="_top">Frames</a></li>
+<li><a href="SupplierSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.functional</div>
+<h2 title="Class SupplierSource" class="title">Class SupplierSource&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Source</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.ProcessSource</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.functional.SupplierSource&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">SupplierSource&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a>&lt;T&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#SupplierSource--">SupplierSource</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#SupplierSource-org.apache.edgent.function.Supplier-">SupplierSource</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&gt;&nbsp;data)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html#process--">process</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.ProcessSource">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html#getRunnable--">getRunnable</a>, <a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html#run--">run</a>, <a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html#start--">start</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Source">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Source.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Source.html#submit-T-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SupplierSource--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SupplierSource</h4>
+<pre>public&nbsp;SupplierSource()</pre>
+</li>
+</ul>
+<a name="SupplierSource-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SupplierSource</h4>
+<pre>public&nbsp;SupplierSource(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&gt;&nbsp;data)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>,<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Source.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/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="process--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>process</h4>
+<pre>public&nbsp;void&nbsp;process()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html#process--">process</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core">ProcessSource</a>&lt;<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="type parameter in SupplierSource">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SupplierSource.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/SupplierSource.html" target="_top">Frames</a></li>
+<li><a href="SupplierSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Events.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Events.html
new file mode 100644
index 0000000..b6cc188
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Events.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.Events (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Events (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/Events.html" target="_top">Frames</a></li>
+<li><a href="Events.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.functional.Events" class="title">Uses of Class<br>org.apache.edgent.oplet.functional.Events</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.functional.Events</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/Events.html" target="_top">Frames</a></li>
+<li><a href="Events.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Filter.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Filter.html
new file mode 100644
index 0000000..51ba152
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Filter.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.Filter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Filter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/Filter.html" target="_top">Frames</a></li>
+<li><a href="Filter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.functional.Filter" class="title">Uses of Class<br>org.apache.edgent.oplet.functional.Filter</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.functional.Filter</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/Filter.html" target="_top">Frames</a></li>
+<li><a href="Filter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/FlatMap.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/FlatMap.html
new file mode 100644
index 0000000..f84fa6c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/FlatMap.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.FlatMap (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.FlatMap (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/FlatMap.html" target="_top">Frames</a></li>
+<li><a href="FlatMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.functional.FlatMap" class="title">Uses of Class<br>org.apache.edgent.oplet.functional.FlatMap</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.functional.FlatMap</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/FlatMap.html" target="_top">Frames</a></li>
+<li><a href="FlatMap.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Map.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Map.html
new file mode 100644
index 0000000..cedfaf2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Map.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.Map (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Map (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/Map.html" target="_top">Frames</a></li>
+<li><a href="Map.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.functional.Map" class="title">Uses of Class<br>org.apache.edgent.oplet.functional.Map</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.functional.Map</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/Map.html" target="_top">Frames</a></li>
+<li><a href="Map.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Peek.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Peek.html
new file mode 100644
index 0000000..0556afe
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/Peek.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.Peek (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.Peek (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/Peek.html" target="_top">Frames</a></li>
+<li><a href="Peek.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.functional.Peek" class="title">Uses of Class<br>org.apache.edgent.oplet.functional.Peek</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a> in <a href="../../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a> in <a href="../../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a>&lt;T&gt;</span></code>
+<div class="block">A Stream "oscilloscope" oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/Peek.html" target="_top">Frames</a></li>
+<li><a href="Peek.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/SupplierPeriodicSource.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/SupplierPeriodicSource.html
new file mode 100644
index 0000000..7e90c1b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/SupplierPeriodicSource.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.SupplierPeriodicSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.SupplierPeriodicSource (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/SupplierPeriodicSource.html" target="_top">Frames</a></li>
+<li><a href="SupplierPeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.functional.SupplierPeriodicSource" class="title">Uses of Class<br>org.apache.edgent.oplet.functional.SupplierPeriodicSource</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.functional.SupplierPeriodicSource</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/SupplierPeriodicSource.html" target="_top">Frames</a></li>
+<li><a href="SupplierPeriodicSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/SupplierSource.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/SupplierSource.html
new file mode 100644
index 0000000..64b4af7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/class-use/SupplierSource.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.functional.SupplierSource (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.functional.SupplierSource (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/SupplierSource.html" target="_top">Frames</a></li>
+<li><a href="SupplierSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.functional.SupplierSource" class="title">Uses of Class<br>org.apache.edgent.oplet.functional.SupplierSource</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.functional.SupplierSource</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/functional/class-use/SupplierSource.html" target="_top">Frames</a></li>
+<li><a href="SupplierSource.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-frame.html
new file mode 100644
index 0000000..78c37eb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-frame.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.functional (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html" target="classFrame">org.apache.edgent.oplet.functional</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Events.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">Events</a></li>
+<li><a href="Filter.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">Filter</a></li>
+<li><a href="FlatMap.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">FlatMap</a></li>
+<li><a href="Map.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">Map</a></li>
+<li><a href="Peek.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">Peek</a></li>
+<li><a href="SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">SupplierPeriodicSource</a></li>
+<li><a href="SupplierSource.html" title="class in org.apache.edgent.oplet.functional" target="classFrame">SupplierSource</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-summary.html
new file mode 100644
index 0000000..f0cfb3d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-summary.html
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.functional (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.oplet.functional (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.oplet.functional</h1>
+<div class="docSummary">
+<div class="block">Oplets that process tuples using functions.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">Events</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Generate tuples from events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">Filter</a>&lt;T&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">FlatMap</a>&lt;I,O&gt;</td>
+<td class="colLast">
+<div class="block">Map an input tuple to 0-N output tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">Map</a>&lt;I,O&gt;</td>
+<td class="colLast">
+<div class="block">Map an input tuple to 0-1 output tuple</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Functional peek oplet.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional">SupplierPeriodicSource</a>&lt;T&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional">SupplierSource</a>&lt;T&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.oplet.functional Description">Package org.apache.edgent.oplet.functional Description</h2>
+<div class="block">Oplets that process tuples using functions.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-tree.html
new file mode 100644
index 0000000..f122301
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-tree.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.functional Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.oplet.functional Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.oplet.functional</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Pipe</span></a>&lt;I,O&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Filter</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">FlatMap</span></a>&lt;I,O&gt;</li>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Map</span></a>&lt;I,O&gt;</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Peek</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Peek</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Source</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Events</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">PeriodicSource</span></a>&lt;T&gt; (implements org.apache.edgent.execution.mbeans.<a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
+<ul>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">SupplierPeriodicSource</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">ProcessSource</span></a>&lt;T&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
+<ul>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">SupplierSource</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/core/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-use.html
new file mode 100644
index 0000000..085f582
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/functional/package-use.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.oplet.functional (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.oplet.functional (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.oplet.functional" class="title">Uses of Package<br>org.apache.edgent.oplet.functional</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a> used by <a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/oplet/functional/class-use/Peek.html#org.apache.edgent.streamscope.oplets">Peek</a>
+<div class="block">Functional peek oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/functional/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-frame.html
new file mode 100644
index 0000000..65c1a7c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-frame.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../org/apache/edgent/oplet/package-summary.html" target="classFrame">org.apache.edgent.oplet</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="JobContext.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">JobContext</span></a></li>
+<li><a href="Oplet.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">Oplet</span></a></li>
+<li><a href="OpletContext.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">OpletContext</span></a></li>
+<li><a href="OutputPortContext.html" title="interface in org.apache.edgent.oplet" target="classFrame"><span class="interfaceName">OutputPortContext</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-summary.html
new file mode 100644
index 0000000..bcfffc6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-summary.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.oplet (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/metrics/oplets/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/oplet/core/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.oplet</h1>
+<div class="docSummary">
+<div class="block">Oplets API.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></td>
+<td class="colLast">
+<div class="block">Information about an oplet invocation's job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;</td>
+<td class="colLast">
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;I,O&gt;</td>
+<td class="colLast">
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a></td>
+<td class="colLast">
+<div class="block">Information about an oplet output port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.oplet Description">Package org.apache.edgent.oplet Description</h2>
+<div class="block">Oplets API.
+ <P>
+ An oplet is a stream processor that can have 0-N input ports and 0-M output ports.
+ Tuples on streams connected to an oplet's input port are delivered to the oplet for processing.
+ The oplet submits tuples to its output ports which results in the tuples
+ being present on the connected streams.
+ </P></div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/metrics/oplets/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/oplet/core/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-tree.html
new file mode 100644
index 0000000..a84a878
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-tree.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.oplet Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/metrics/oplets/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/oplet/core/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.oplet</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">AutoCloseable</span></a>
+<ul>
+<li type="circle">org.apache.edgent.oplet.<a href="../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Oplet</span></a>&lt;I,O&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.<a href="../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">JobContext</span></a></li>
+<li type="circle">org.apache.edgent.oplet.<a href="../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">OutputPortContext</span></a></li>
+<li type="circle">org.apache.edgent.execution.services.<a href="../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">RuntimeServices</span></a>
+<ul>
+<li type="circle">org.apache.edgent.oplet.<a href="../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">OpletContext</span></a>&lt;I,O&gt;</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/metrics/oplets/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/oplet/core/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-use.html
new file mode 100644
index 0000000..b91fc8d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/package-use.html
@@ -0,0 +1,504 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.oplet (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.oplet (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.oplet" class="title">Uses of Package<br>org.apache.edgent.oplet</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub.oplets">org.apache.edgent.connectors.pubsub.oplets</a></td>
+<td class="colLast">
+<div class="block">Oplets supporting publish subscribe service.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.graph.spi">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet">org.apache.edgent.oplet</a></td>
+<td class="colLast">
+<div class="block">Oplets API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.core">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph.model">org.apache.edgent.runtime.etiao.graph.model</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub.oplets">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.connectors.pubsub.oplets">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/OpletContext.html#org.apache.edgent.connectors.pubsub.oplets">OpletContext</a>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.graph">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.graph.spi">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.graph.spi">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.metrics.oplets">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/OpletContext.html#org.apache.edgent.metrics.oplets">OpletContext</a>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/JobContext.html#org.apache.edgent.oplet">JobContext</a>
+<div class="block">Information about an oplet invocation's job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/OpletContext.html#org.apache.edgent.oplet">OpletContext</a>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/OutputPortContext.html#org.apache.edgent.oplet">OutputPortContext</a>
+<div class="block">Information about an oplet output port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.oplet.core">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/OpletContext.html#org.apache.edgent.oplet.core">OpletContext</a>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.oplet.functional">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/OpletContext.html#org.apache.edgent.oplet.functional">OpletContext</a>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.oplet.plumbing">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/OpletContext.html#org.apache.edgent.oplet.plumbing">OpletContext</a>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.window">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.oplet.window">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/OpletContext.html#org.apache.edgent.oplet.window">OpletContext</a>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/JobContext.html#org.apache.edgent.runtime.etiao">JobContext</a>
+<div class="block">Information about an oplet invocation's job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.runtime.etiao">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/OpletContext.html#org.apache.edgent.runtime.etiao">OpletContext</a>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/OutputPortContext.html#org.apache.edgent.runtime.etiao">OutputPortContext</a>
+<div class="block">Information about an oplet output port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.runtime.etiao.graph">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph.model">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.runtime.etiao.graph.model">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a> used by <a href="../../../../org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/Oplet.html#org.apache.edgent.streamscope.oplets">Oplet</a>
+<div class="block">Generic API for an oplet that processes streaming data on 0-N input ports
+ and produces 0-M output streams on its output ports.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/oplet/class-use/OpletContext.html#org.apache.edgent.streamscope.oplets">OpletContext</a>
+<div class="block">Context information for the <code>Oplet</code>'s invocation context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/oplet/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/Barrier.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/Barrier.html
new file mode 100644
index 0000000..1843b43
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/Barrier.html
@@ -0,0 +1,409 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Barrier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Barrier (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Barrier.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/Barrier.html" target="_top">Frames</a></li>
+<li><a href="Barrier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.plumbing</div>
+<h2 title="Class Barrier" class="title">Class Barrier&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;T,U&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.FanIn</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.plumbing.Barrier&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of the tuple.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Barrier&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</pre>
+<div class="block">A tuple synchronization barrier.
+ <P>
+ <code>Barrier</code> has n input ports with tuple type <code>T</code>
+ and one output port with tuple type <code>List&lt;T&gt;</code>.
+ Once the oplet receives one tuple on each of its input ports,
+ it generates an output tuple containing one tuple from each input port.
+ It then awaits receiving the next collection of tuples.
+ Input port 0's tuple is in list[0], port 1's tuple in list[1], and so on.
+ </P><P>
+ Each input port has an associated queue of size <code>queueCapacity</code>.
+ The input port's <code>Consumer&lt;T&gt;.accept()</code> will block if it's queue is full. 
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#Barrier-int-">Barrier</a></span>(int&nbsp;queueCapacity)</code>
+<div class="block">Create a new instance.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#accept-T-int-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&nbsp;tuple,
+      int&nbsp;iportIndex)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#receiver--">receiver</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.FanIn">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#consumer-int-">consumer</a>, <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#setReceiver-org.apache.edgent.function.BiFunction-">setReceiver</a>, <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#submit-U-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Barrier-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Barrier</h4>
+<pre>public&nbsp;Barrier(int&nbsp;queueCapacity)</pre>
+<div class="block">Create a new instance.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>queueCapacity</code> - size of each input port's blocking queue</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#start--">start</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="receiver--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>receiver</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;&nbsp;receiver()</pre>
+</li>
+</ul>
+<a name="accept-java.lang.Object-int-">
+<!--   -->
+</a><a name="accept-T-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>protected&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&nbsp;tuple,
+                      int&nbsp;iportIndex)</pre>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html#close--">close</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="type parameter in Barrier">T</a>&gt;&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Barrier.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/Barrier.html" target="_top">Frames</a></li>
+<li><a href="Barrier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/Isolate.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/Isolate.html
new file mode 100644
index 0000000..155b76c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/Isolate.html
@@ -0,0 +1,417 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Isolate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Isolate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Isolate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/Isolate.html" target="_top">Frames</a></li>
+<li><a href="Isolate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.plumbing</div>
+<h2 title="Class Isolate" class="title">Class Isolate&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.plumbing.Isolate&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of the tuple.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Isolate&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;T,T&gt;</pre>
+<div class="block">Isolate upstream processing from downstream
+ processing guaranteeing tuple order.
+ Input tuples are placed at the tail of a queue
+ and dedicated thread removes them from the
+ head and is used for downstream processing.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.plumbing.Isolate">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html#Isolate--">Isolate</a></span>()</code>
+<div class="block">Create a new Isolate oplet.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html#Isolate-int-">Isolate</a></span>(int&nbsp;queueCapacity)</code>
+<div class="block">Create a new Isolate oplet.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html#accept-T-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Isolate--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Isolate</h4>
+<pre>public&nbsp;Isolate()</pre>
+<div class="block">Create a new Isolate oplet.
+ <BR>
+ Same as Isolate(Integer.MAX_VALUE).</div>
+</li>
+</ul>
+<a name="Isolate-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Isolate</h4>
+<pre>public&nbsp;Isolate(int&nbsp;queueCapacity)</pre>
+<div class="block">Create a new Isolate oplet.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>queueCapacity</code> - size of the queue between the input stream
+          and the output stream.
+          <a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html#accept-T-"><code>accept</code></a> blocks when the queue is full.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">Oplet</a></code></span></div>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#start--">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Isolate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/Isolate.html" target="_top">Frames</a></li>
+<li><a href="Isolate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/PressureReliever.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/PressureReliever.html
new file mode 100644
index 0000000..afef2ce
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/PressureReliever.html
@@ -0,0 +1,409 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PressureReliever (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PressureReliever (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PressureReliever.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/PressureReliever.html" target="_top">Frames</a></li>
+<li><a href="PressureReliever.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.plumbing</div>
+<h2 title="Class PressureReliever" class="title">Class PressureReliever&lt;T,K&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.plumbing.PressureReliever&lt;T,K&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type.</dd>
+<dd><code>K</code> - Key type.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">PressureReliever&lt;T,K&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;T,T&gt;</pre>
+<div class="block">Relieve pressure on upstream oplets by discarding tuples.
+ This oplet ensures that upstream processing is not
+ constrained by any delay in downstream processing,
+ for example by a sink oplet not being able to connect
+ to its external system.
+ When downstream processing cannot keep up with the input rate
+ this oplet maintains a defined window of the most recent
+ tuples and discards any earlier tuples using arrival order.
+ <P>
+ A window partition is maintained for each key seen
+ on the input stream. Any tuple arriving on the input
+ stream is inserted into the window. Asynchronously
+ tuples are taken from the window using FIFO and
+ submitted downstream. The submission of tuples maintains
+ order within a partition but not across partitions.
+ </P>
+ <P>
+ Tuples are  <B>discarded and not</B> submitted to the
+ output port if the downstream processing cannot keep up
+ the incoming tuple rate.
+ </P>
+ <UL>
+ <LI>For a <a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html#PressureReliever-int-org.apache.edgent.function.Function-"><code>count</code></a>
+ <code>PressureReliever</code> up to last (most recent) <code>N</code> tuples
+ are maintained in a window partition.
+ <BR> Asynchronous tuple submission removes the last (oldest) tuple in the partition
+ before submitting it downstream.
+ <BR> If when an input tuple is processed the window partition contains N tuples, then
+ the first (oldest) tuple in the partition is discarded before the input tuple is inserted into the window.
+ </UL>
+ <P>
+ Insertion of the oplet into a stream disconnects the
+ upstream processing from the downstream processing,
+ so that downstream processing is executed on a different
+ thread to the thread that processed the input tuple.
+ </P></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.plumbing.PressureReliever">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html#PressureReliever-int-org.apache.edgent.function.Function-">PressureReliever</a></span>(int&nbsp;count,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">K</a>&gt;&nbsp;keyFunction)</code>
+<div class="block">Pressure reliever that maintains up to <code>count</code> most recent tuples per key.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html#accept-T-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PressureReliever-int-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PressureReliever</h4>
+<pre>public&nbsp;PressureReliever(int&nbsp;count,
+                        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">K</a>&gt;&nbsp;keyFunction)</pre>
+<div class="block">Pressure reliever that maintains up to <code>count</code> most recent tuples per key.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>count</code> - Number of tuples to maintain where downstream processing cannot keep up.</dd>
+<dd><code>keyFunction</code> - Key function for tuples.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PressureReliever.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/PressureReliever.html" target="_top">Frames</a></li>
+<li><a href="PressureReliever.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/UnorderedIsolate.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/UnorderedIsolate.html
new file mode 100644
index 0000000..4d88a83
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/UnorderedIsolate.html
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>UnorderedIsolate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="UnorderedIsolate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnorderedIsolate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" target="_top">Frames</a></li>
+<li><a href="UnorderedIsolate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.plumbing</div>
+<h2 title="Class UnorderedIsolate" class="title">Class UnorderedIsolate&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.plumbing.UnorderedIsolate&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of the tuple.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">UnorderedIsolate&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;T,T&gt;</pre>
+<div class="block">Isolate upstream processing from downstream
+ processing without guaranteeing tuple order.
+ An executor is used for downstream processing
+ thus tuple order cannot be guaranteed as the
+ scheduler does not guarantee execution order.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.plumbing.UnorderedIsolate">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html#UnorderedIsolate--">UnorderedIsolate</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html#accept-T-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="UnorderedIsolate--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>UnorderedIsolate</h4>
+<pre>public&nbsp;UnorderedIsolate()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>,<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/UnorderedIsolate.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" target="_top">Frames</a></li>
+<li><a href="UnorderedIsolate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/Barrier.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/Barrier.html
new file mode 100644
index 0000000..ae1ea1c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/Barrier.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.plumbing.Barrier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.Barrier (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/plumbing/class-use/Barrier.html" target="_top">Frames</a></li>
+<li><a href="Barrier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.plumbing.Barrier" class="title">Uses of Class<br>org.apache.edgent.oplet.plumbing.Barrier</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.plumbing.Barrier</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/plumbing/class-use/Barrier.html" target="_top">Frames</a></li>
+<li><a href="Barrier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/Isolate.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/Isolate.html
new file mode 100644
index 0000000..62697ee
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/Isolate.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.plumbing.Isolate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.Isolate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/plumbing/class-use/Isolate.html" target="_top">Frames</a></li>
+<li><a href="Isolate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.plumbing.Isolate" class="title">Uses of Class<br>org.apache.edgent.oplet.plumbing.Isolate</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.plumbing.Isolate</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/plumbing/class-use/Isolate.html" target="_top">Frames</a></li>
+<li><a href="Isolate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/PressureReliever.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/PressureReliever.html
new file mode 100644
index 0000000..3e72b02
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/PressureReliever.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.plumbing.PressureReliever (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.PressureReliever (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/plumbing/class-use/PressureReliever.html" target="_top">Frames</a></li>
+<li><a href="PressureReliever.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.plumbing.PressureReliever" class="title">Uses of Class<br>org.apache.edgent.oplet.plumbing.PressureReliever</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.plumbing.PressureReliever</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/plumbing/class-use/PressureReliever.html" target="_top">Frames</a></li>
+<li><a href="PressureReliever.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/UnorderedIsolate.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/UnorderedIsolate.html
new file mode 100644
index 0000000..04f1c12
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/class-use/UnorderedIsolate.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.plumbing.UnorderedIsolate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.plumbing.UnorderedIsolate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/plumbing/class-use/UnorderedIsolate.html" target="_top">Frames</a></li>
+<li><a href="UnorderedIsolate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.plumbing.UnorderedIsolate" class="title">Uses of Class<br>org.apache.edgent.oplet.plumbing.UnorderedIsolate</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.plumbing.UnorderedIsolate</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/plumbing/class-use/UnorderedIsolate.html" target="_top">Frames</a></li>
+<li><a href="UnorderedIsolate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-frame.html
new file mode 100644
index 0000000..da21d9d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-frame.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html" target="classFrame">org.apache.edgent.oplet.plumbing</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Barrier.html" title="class in org.apache.edgent.oplet.plumbing" target="classFrame">Barrier</a></li>
+<li><a href="Isolate.html" title="class in org.apache.edgent.oplet.plumbing" target="classFrame">Isolate</a></li>
+<li><a href="PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing" target="classFrame">PressureReliever</a></li>
+<li><a href="UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing" target="classFrame">UnorderedIsolate</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-summary.html
new file mode 100644
index 0000000..2732e1d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-summary.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.oplet.plumbing (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.oplet.plumbing</h1>
+<div class="docSummary">
+<div class="block">Oplets that control the flow of tuples.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing">Barrier</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A tuple synchronization barrier.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">Isolate</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Isolate upstream processing from downstream
+ processing guaranteeing tuple order.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">PressureReliever</a>&lt;T,K&gt;</td>
+<td class="colLast">
+<div class="block">Relieve pressure on upstream oplets by discarding tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">UnorderedIsolate</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Isolate upstream processing from downstream
+ processing without guaranteeing tuple order.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.oplet.plumbing Description">Package org.apache.edgent.oplet.plumbing Description</h2>
+<div class="block">Oplets that control the flow of tuples.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-tree.html
new file mode 100644
index 0000000..2912479
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-tree.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.plumbing Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.oplet.plumbing Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/window/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.oplet.plumbing</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">FanIn</span></a>&lt;T,U&gt;
+<ul>
+<li type="circle">org.apache.edgent.oplet.plumbing.<a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Barrier</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Pipe</span></a>&lt;I,O&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.plumbing.<a href="../../../../../org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Isolate</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.oplet.plumbing.<a href="../../../../../org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">PressureReliever</span></a>&lt;T,K&gt;</li>
+<li type="circle">org.apache.edgent.oplet.plumbing.<a href="../../../../../org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">UnorderedIsolate</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/oplet/window/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-use.html
new file mode 100644
index 0000000..6731d41
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/plumbing/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.oplet.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.oplet.plumbing (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.oplet.plumbing" class="title">Uses of Package<br>org.apache.edgent.oplet.plumbing</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.oplet.plumbing</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/plumbing/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/Aggregate.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/Aggregate.html
new file mode 100644
index 0000000..36df5db
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/Aggregate.html
@@ -0,0 +1,373 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Aggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Aggregate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Aggregate.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/window/Aggregate.html" target="_top">Frames</a></li>
+<li><a href="Aggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.oplet.window</div>
+<h2 title="Class Aggregate" class="title">Class Aggregate&lt;T,U,K&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;T,U&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.oplet.window.Aggregate&lt;T,U,K&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of the input tuples.</dd>
+<dd><code>U</code> - Type of the output tuples.</dd>
+<dd><code>K</code> - Type of the partition key.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,U&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Aggregate&lt;T,U,K&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;T,U&gt;</pre>
+<div class="block">Aggregate a window.
+ Window contents are aggregated by a
+ <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><code>aggregator function</code></a>
+ passing the list of tuples in the window and
+ the partition key. The returned value
+ is submitted to the sole output port
+ if it is not <code>null</code>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.oplet.window.Aggregate">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#Aggregate-org.apache.edgent.window.Window-org.apache.edgent.function.BiFunction-">Aggregate</a></span>(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#accept-T-">accept</a></span>(<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Aggregate-org.apache.edgent.window.Window-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Aggregate</h4>
+<pre>public&nbsp;Aggregate(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
+                 <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Aggregate.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/window/Aggregate.html" target="_top">Frames</a></li>
+<li><a href="Aggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/class-use/Aggregate.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/class-use/Aggregate.html
new file mode 100644
index 0000000..507e8d8
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/class-use/Aggregate.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.oplet.window.Aggregate (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.oplet.window.Aggregate (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/window/class-use/Aggregate.html" target="_top">Frames</a></li>
+<li><a href="Aggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.oplet.window.Aggregate" class="title">Uses of Class<br>org.apache.edgent.oplet.window.Aggregate</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.oplet.window.Aggregate</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/oplet/window/class-use/Aggregate.html" target="_top">Frames</a></li>
+<li><a href="Aggregate.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-frame.html
new file mode 100644
index 0000000..f644ecd
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/oplet/window/package-summary.html" target="classFrame">org.apache.edgent.oplet.window</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="Aggregate.html" title="class in org.apache.edgent.oplet.window" target="classFrame">Aggregate</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-summary.html
new file mode 100644
index 0000000..104261c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-summary.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.oplet.window (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/development/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/window/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.oplet.window</h1>
+<div class="docSummary">
+<div class="block">Oplets using windows.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">Aggregate</a>&lt;T,U,K&gt;</td>
+<td class="colLast">
+<div class="block">Aggregate a window.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.oplet.window Description">Package org.apache.edgent.oplet.window Description</h2>
+<div class="block">Oplets using windows.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/development/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/window/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-tree.html
new file mode 100644
index 0000000..b364189
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-tree.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.oplet.window Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.oplet.window Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/development/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/window/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.oplet.window</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Pipe</span></a>&lt;I,O&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.window.<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window"><span class="typeNameLink">Aggregate</span></a>&lt;T,U,K&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/plumbing/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/development/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/window/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-use.html
new file mode 100644
index 0000000..a8b474d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/oplet/window/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.oplet.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.oplet.window (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/window/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.oplet.window" class="title">Uses of Package<br>org.apache.edgent.oplet.window</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.oplet.window</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/oplet/window/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/development/DevelopmentProvider.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/DevelopmentProvider.html
new file mode 100644
index 0000000..0d99fca
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/DevelopmentProvider.html
@@ -0,0 +1,403 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DevelopmentProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DevelopmentProvider (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DevelopmentProvider.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/development/DevelopmentProvider.html" target="_top">Frames</a></li>
+<li><a href="DevelopmentProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.providers.development</div>
+<h2 title="Class DevelopmentProvider" class="title">Class DevelopmentProvider</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">org.apache.edgent.topology.spi.AbstractTopologyProvider</a>&lt;<a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">org.apache.edgent.providers.direct.DirectProvider</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.providers.development.DevelopmentProvider</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;, <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;, <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DevelopmentProvider</span>
+extends <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></pre>
+<div class="block">Provider intended for development.
+ This provider executes topologies using <code>DirectProvider</code>
+ and extends it by:
+ <UL>
+ <LI>
+ starting an embedded web-server providing the Edgent development console
+ that shows live graphs for running applications.
+ </LI>
+ <LI>
+ Creating a metrics registry with metrics registered
+ in the platform MBean server.
+ </LI>
+ <LI>
+ Add a <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a> that registers control management
+ beans in the platform MBean server.
+ </LI>
+ <LI>
+ Add tuple count metrics on all the streams before submitting a topology.
+ The implementation calls <a href="../../../../../org/apache/edgent/metrics/Metrics.html#counter-org.apache.edgent.topology.Topology-"><code>Metrics.counter(Topology)</code></a> to insert 
+ <a href="../../../../../org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets"><code>CounterOp</code></a> oplets into each stream.
+ </LI>
+ <LI>
+ Instrument the topology adding <a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets"><code>StreamScope</code></a>
+ oplets on all the streams before submitting a topology.  
+ See <a href="../../../../../org/apache/edgent/streamscope/StreamScopeSetup.html#addStreamScopes-org.apache.edgent.topology.Topology-"><code>StreamScopeSetup.addStreamscopes</code></a>.
+ </LI>
+ <LI>
+ Add a <a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><code>StreamScopeRegistry</code></a> runtime service and a
+ <a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeRegistryMXBean</code></a> management bean to the <code>ControlService</code>.
+ See <a href="../../../../../org/apache/edgent/streamscope/StreamScopeSetup.html#register-org.apache.edgent.execution.services.ServiceContainer-"><code>StreamScopeSetup.register</code></a>.
+ </LI>
+ </UL></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><code>StreamScopeRegistry</code></a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html#JMX_DOMAIN">JMX_DOMAIN</a></span></code>
+<div class="block">JMX domains that this provider uses to register MBeans.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html#DevelopmentProvider--">DevelopmentProvider</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      com.google.gson.JsonObject&nbsp;config)</code>
+<div class="block">Submit an executable.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.providers.direct.DirectProvider">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.providers.direct.<a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></h3>
+<code><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#getServices--">getServices</a>, <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#newTopology-java.lang.String-">newTopology</a>, <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.spi.AbstractTopologyProvider">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#checkName-java.lang.String-">checkName</a>, <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#newTopology--">newTopology</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="JMX_DOMAIN">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JMX_DOMAIN</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> JMX_DOMAIN</pre>
+<div class="block">JMX domains that this provider uses to register MBeans.
+ Set to "org.apache.edgent.providers.development".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.providers.development.DevelopmentProvider.JMX_DOMAIN">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="DevelopmentProvider--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DevelopmentProvider</h4>
+<pre>public&nbsp;DevelopmentProvider()
+                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>submit</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                          com.google.gson.JsonObject&nbsp;config)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">Submitter</a></code></span></div>
+<div class="block">Submit an executable.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">submit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - executable to submit</dd>
+<dd><code>config</code> - context <a href="../../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">information</a> for the submission</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a future for the submitted executable</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DevelopmentProvider.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/development/DevelopmentProvider.html" target="_top">Frames</a></li>
+<li><a href="DevelopmentProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/development/class-use/DevelopmentProvider.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/class-use/DevelopmentProvider.html
new file mode 100644
index 0000000..7faa84b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/class-use/DevelopmentProvider.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.providers.development.DevelopmentProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.providers.development.DevelopmentProvider (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/providers/development/class-use/DevelopmentProvider.html" target="_top">Frames</a></li>
+<li><a href="DevelopmentProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.providers.development.DevelopmentProvider" class="title">Uses of Class<br>org.apache.edgent.providers.development.DevelopmentProvider</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.providers.development.DevelopmentProvider</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/providers/development/class-use/DevelopmentProvider.html" target="_top">Frames</a></li>
+<li><a href="DevelopmentProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-frame.html
new file mode 100644
index 0000000..8a8f511
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.development (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/providers/development/package-summary.html" target="classFrame">org.apache.edgent.providers.development</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="DevelopmentProvider.html" title="class in org.apache.edgent.providers.development" target="classFrame">DevelopmentProvider</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-summary.html
new file mode 100644
index 0000000..6da1f8e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-summary.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.development (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.providers.development (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/development/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.providers.development</h1>
+<div class="docSummary">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></td>
+<td class="colLast">
+<div class="block">Provider intended for development.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.providers.development Description">Package org.apache.edgent.providers.development Description</h2>
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/development/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-tree.html
new file mode 100644
index 0000000..39faaa9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-tree.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.development Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.providers.development Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/window/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/direct/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/development/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.providers.development</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopologyProvider</span></a>&lt;T&gt; (implements org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>)
+<ul>
+<li type="circle">org.apache.edgent.providers.direct.<a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><span class="typeNameLink">DirectProvider</span></a> (implements org.apache.edgent.execution.<a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;E,J&gt;)
+<ul>
+<li type="circle">org.apache.edgent.providers.development.<a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development"><span class="typeNameLink">DevelopmentProvider</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/oplet/window/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/direct/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/development/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-use.html
new file mode 100644
index 0000000..4b87a9a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/development/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.providers.development (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.providers.development (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/development/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.providers.development" class="title">Uses of Package<br>org.apache.edgent.providers.development</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.providers.development</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/development/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/DirectProvider.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/DirectProvider.html
new file mode 100644
index 0000000..84e8677
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/DirectProvider.html
@@ -0,0 +1,410 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DirectProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DirectProvider (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectProvider.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/direct/DirectProvider.html" target="_top">Frames</a></li>
+<li><a href="DirectProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.providers.direct</div>
+<h2 title="Class DirectProvider" class="title">Class DirectProvider</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">org.apache.edgent.topology.spi.AbstractTopologyProvider</a>&lt;<a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.providers.direct.DirectProvider</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;, <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;, <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DirectProvider</span>
+extends <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a>&lt;<a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a>&gt;
+implements <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</pre>
+<div class="block"><code>DirectProvider</code> is a <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> that
+ runs a submitted topology as a <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> in threads
+ in the current virtual machine.
+ <P> 
+ A job (execution of a topology) continues to execute
+ while any of its elements have remaining work,
+ such as any of the topology's source streams are capable
+ of generating tuples.
+ <BR>
+ "Endless" source streams never terminate - e.g., a stream
+ created by <a href="../../../../../org/apache/edgent/topology/Topology.html#generate-org.apache.edgent.function.Supplier-"><code>generate()</code></a>,
+ <a href="../../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-"><code>poll()</code></a>,
+ or <a href="../../../../../org/apache/edgent/topology/Topology.html#events-org.apache.edgent.function.Consumer-"><code>events()</code></a>.
+ Hence a job with such sources runs until either it or some other
+ entity terminates it.
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#DirectProvider--">DirectProvider</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#getServices--">getServices</a></span>()</code>
+<div class="block">Access to services.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Create a new topology with a given name.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
+<div class="block">Submit an executable.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      com.google.gson.JsonObject&nbsp;config)</code>
+<div class="block">Submit an executable.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.spi.AbstractTopologyProvider">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#checkName-java.lang.String-">checkName</a>, <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#newTopology--">newTopology</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DirectProvider--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DirectProvider</h4>
+<pre>public&nbsp;DirectProvider()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getServices--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServices</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;getServices()</pre>
+<div class="block">Access to services.
+ 
+ Since any executables are executed directly within
+ the current virtual machine, callers may register
+ services that are visible to the executable
+ and its elements.
+ <P>
+ The returned services instance is shared
+ across all jobs submitted to this provider. 
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html#getServices--">getServices</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Service container for this submitter.</dd>
+</dl>
+</li>
+</ul>
+<a name="newTopology-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newTopology</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a>&nbsp;newTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">TopologyProvider</a></code></span></div>
+<div class="block">Create a new topology with a given name.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">newTopology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#newTopology-java.lang.String-">newTopology</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a>&lt;<a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name for topology</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new topology.</dd>
+</dl>
+</li>
+</ul>
+<a name="submit-org.apache.edgent.topology.Topology-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submit</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-">Submitter</a></code></span></div>
+<div class="block">Submit an executable.
+ No configuration options are specified,
+ this is equivalent to <code>submit(executable, new JsonObject())</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-">submit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - executable to submit</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a future for the submitted executable</dd>
+</dl>
+</li>
+</ul>
+<a name="submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>submit</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                          com.google.gson.JsonObject&nbsp;config)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">Submitter</a></code></span></div>
+<div class="block">Submit an executable.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">submit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - executable to submit</dd>
+<dd><code>config</code> - context <a href="../../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">information</a> for the submission</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a future for the submitted executable</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectProvider.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/direct/DirectProvider.html" target="_top">Frames</a></li>
+<li><a href="DirectProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/DirectTopology.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/DirectTopology.html
new file mode 100644
index 0000000..8071faa
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/DirectTopology.html
@@ -0,0 +1,324 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DirectTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DirectTopology (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectTopology.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/direct/DirectTopology.html" target="_top">Frames</a></li>
+<li><a href="DirectTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.providers.direct</div>
+<h2 title="Class DirectTopology" class="title">Class DirectTopology</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">org.apache.edgent.topology.spi.AbstractTopology</a>&lt;X&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph.GraphTopology</a>&lt;org.apache.edgent.providers.direct.DirectTester&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.providers.direct.DirectTopology</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>, <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DirectTopology</span>
+extends <a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a>&lt;org.apache.edgent.providers.direct.DirectTester&gt;</pre>
+<div class="block"><code>DirectTopology</code> is a <a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><code>GraphTopology</code></a> that
+ is executed in threads in the current virtual machine.
+ <P> 
+ The topology is backed by a <code>DirectGraph</code> and its
+ execution is controlled and monitored by a <code>EtiaoJob</code>.
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html#getRuntimeServiceSupplier--">getRuntimeServiceSupplier</a></span>()</code>
+<div class="block">Return a function that at execution time
+ will return a <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><code>RuntimeServices</code></a> instance
+ a stream function can use.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html#graph--">graph</a></span>()</code>
+<div class="block">Get the underlying graph.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected org.apache.edgent.providers.direct.DirectTester</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html#newTester--">newTester</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.spi.graph.GraphTopology">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.topology.spi.graph.<a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#events-org.apache.edgent.function.Consumer-">events</a>, <a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a>, <a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#source-org.apache.edgent.function.Supplier-">source</a>, <a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#sourceStream-N-">sourceStream</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.spi.AbstractTopology">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#collection-java.util.Collection-">collection</a>, <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#generate-org.apache.edgent.function.Supplier-">generate</a>, <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#getName--">getName</a>, <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#getTester--">getTester</a>, <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#of-T...-">of</a>, <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#strings-java.lang.String...-">strings</a>, <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#topology--">topology</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="graph--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>graph</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html#graph--">Topology</a></code></span></div>
+<div class="block">Get the underlying graph.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the underlying graph.</dd>
+</dl>
+</li>
+</ul>
+<a name="getRuntimeServiceSupplier--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRuntimeServiceSupplier</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&gt;&nbsp;getRuntimeServiceSupplier()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html#getRuntimeServiceSupplier--">Topology</a></code></span></div>
+<div class="block">Return a function that at execution time
+ will return a <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><code>RuntimeServices</code></a> instance
+ a stream function can use.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Function that at execution time
+ will return a <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><code>RuntimeServices</code></a> instance</dd>
+</dl>
+</li>
+</ul>
+<a name="newTester--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>newTester</h4>
+<pre>protected&nbsp;org.apache.edgent.providers.direct.DirectTester&nbsp;newTester()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#newTester--">newTester</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a>&lt;org.apache.edgent.providers.direct.DirectTester&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectTopology.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/direct/DirectTopology.html" target="_top">Frames</a></li>
+<li><a href="DirectTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/class-use/DirectProvider.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/class-use/DirectProvider.html
new file mode 100644
index 0000000..5904b4c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/class-use/DirectProvider.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.providers.direct.DirectProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.providers.direct.DirectProvider (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/providers/direct/class-use/DirectProvider.html" target="_top">Frames</a></li>
+<li><a href="DirectProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.providers.direct.DirectProvider" class="title">Uses of Class<br>org.apache.edgent.providers.direct.DirectProvider</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.development">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.providers.development">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a> in <a href="../../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a> in <a href="../../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></span></code>
+<div class="block">Provider intended for development.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a> in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> with parameters of type <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
+           <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/providers/direct/class-use/DirectProvider.html" target="_top">Frames</a></li>
+<li><a href="DirectProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/class-use/DirectTopology.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/class-use/DirectTopology.html
new file mode 100644
index 0000000..b730447
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/class-use/DirectTopology.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.providers.direct.DirectTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.providers.direct.DirectTopology (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/providers/direct/class-use/DirectTopology.html" target="_top">Frames</a></li>
+<li><a href="DirectTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.providers.direct.DirectTopology" class="title">Uses of Class<br>org.apache.edgent.providers.direct.DirectTopology</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a> in <a href="../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> that return <a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/providers/direct/class-use/DirectTopology.html" target="_top">Frames</a></li>
+<li><a href="DirectTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-frame.html
new file mode 100644
index 0000000..b6987b7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.direct (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/providers/direct/package-summary.html" target="classFrame">org.apache.edgent.providers.direct</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="DirectProvider.html" title="class in org.apache.edgent.providers.direct" target="classFrame">DirectProvider</a></li>
+<li><a href="DirectTopology.html" title="class in org.apache.edgent.providers.direct" target="classFrame">DirectTopology</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-summary.html
new file mode 100644
index 0000000..8bd5dd7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-summary.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.direct (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.providers.direct (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/development/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/direct/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.providers.direct</h1>
+<div class="docSummary">
+<div class="block">Direct execution of a streaming topology.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></td>
+<td class="colLast">
+<div class="block"><code>DirectProvider</code> is a <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> that
+ runs a submitted topology as a <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> in threads
+ in the current virtual machine.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></td>
+<td class="colLast">
+<div class="block"><code>DirectTopology</code> is a <a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><code>GraphTopology</code></a> that
+ is executed in threads in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.providers.direct Description">Package org.apache.edgent.providers.direct Description</h2>
+<div class="block">Direct execution of a streaming topology.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/development/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/direct/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-tree.html
new file mode 100644
index 0000000..a289b03
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-tree.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.direct Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.providers.direct Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/development/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/iot/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/direct/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.providers.direct</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopology</span></a>&lt;X&gt; (implements org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>)
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.graph.<a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">GraphTopology</span></a>&lt;X&gt;
+<ul>
+<li type="circle">org.apache.edgent.providers.direct.<a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct"><span class="typeNameLink">DirectTopology</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopologyProvider</span></a>&lt;T&gt; (implements org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>)
+<ul>
+<li type="circle">org.apache.edgent.providers.direct.<a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><span class="typeNameLink">DirectProvider</span></a> (implements org.apache.edgent.execution.<a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;E,J&gt;)</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/development/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/providers/iot/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/direct/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-use.html
new file mode 100644
index 0000000..838e790
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/direct/package-use.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.providers.direct (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.providers.direct (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/direct/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.providers.direct" class="title">Uses of Package<br>org.apache.edgent.providers.direct</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.development">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.development">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> used by <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/providers/direct/class-use/DirectProvider.html#org.apache.edgent.providers.development">DirectProvider</a>
+<div class="block"><code>DirectProvider</code> is a <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> that
+ runs a submitted topology as a <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> in threads
+ in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> used by <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/providers/direct/class-use/DirectTopology.html#org.apache.edgent.providers.direct">DirectTopology</a>
+<div class="block"><code>DirectTopology</code> is a <a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><code>GraphTopology</code></a> that
+ is executed in threads in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> used by <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/providers/direct/class-use/DirectProvider.html#org.apache.edgent.providers.iot">DirectProvider</a>
+<div class="block"><code>DirectProvider</code> is a <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> that
+ runs a submitted topology as a <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> in threads
+ in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/direct/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/IotProvider.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/IotProvider.html
new file mode 100644
index 0000000..8d400ae
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/IotProvider.html
@@ -0,0 +1,938 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>IotProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="IotProvider (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotProvider.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/iot/IotProvider.html" target="_top">Frames</a></li>
+<li><a href="IotProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.providers.iot</div>
+<h2 title="Class IotProvider" class="title">Class IotProvider</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.providers.iot.IotProvider</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;, <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;, <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">IotProvider</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>, <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</pre>
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.
+ 
+ <pre><code>
+ // sample use
+ class MyApp {
+   ...
+   public void run(String[] args) throws Exception {
+      IotProvider provider = new IotProvider((top) -&gt; new IotpDevice(top, myDeviceConfig));
+      provider.registerTopology("app1", (iotDevice, cfg) -&gt; buildApp1(iotDevice, cfg));
+      provider.start();
+   }
+   private void buildApp1(IotDevice iotDevice, JsonConfig cfg) {
+      Topology top = iotDevice.getTopology();
+      ... build the topology
+   }
+ }
+ </code></pre>
+ 
+ <p>The registered builders are subsequently invoked from
+ <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>ApplicationServiceMXBean.submit()</code></a>.  
+ Each builder invocation is given a virtual <code>IotDevice</code> for the topology's use.
+ Jobs can be stopped using their <a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><code>JobMXBean</code></a> control.
+ 
+ <p>Applications may also be registered via 
+ <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-"><code>registerJar()</code></a>.
+ See the note below regarding the <code>TopologyBuilder</code> for such applications.
+ 
+ <p>Constructed topologies may also be submitted via 
+ <a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-"><code>submit()</code></a> and are controllable
+ via their <code>JobMXBean</code>.  
+ The <code>ApplicationService</code> is unaware of these topologies.
+ 
+ <p>See the
+ <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">package documentation</a>
+ for details of using <a href="../../../../../org/apache/edgent/connectors/iot/Commands.html#CONTROL_SERVICE"><code>edgentControl</code></a> IoT device commands
+ to invoke methods on MBeans registered with the <code>ControlService</code>.
+ 
+ <p>This provider registers these services:
+ <UL>
+ <LI><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>control</code></a> - An instance of <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol"><code>JsonControlService</code></a>.</LI>
+ <LI><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>application</code></a> - An instance of <a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice"><code>AppService</code></a>.</LI>
+ <LI><a href="../../../../../org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service"><code>publish-subscribe</code></a> - An instance of <a href="../../../../../org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service"><code>ProviderPubSub</code></a></LI>
+ <LI><code>preferences</code> (optional) - An instance of <code>java.util.prefs.Preferences</code> to store application
+ and service preferences. A <code>Preferences</code> node is created if the provider is created with
+ a name that is not <code>null</code>. If the preferences implementation supports persistence
+ then any preferences will be maintained across provider and JVM restarts when creating a
+ provider with the same name. The <code>Preferences</code> node is a user node.
+ </UL>
+ 
+ <p>System applications provide:
+ <UL>
+ <LI>Single connection to the message hub using an <code>IotDevice</code>
+ using <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot"><code>IotDevicePubSub</code></a>.
+ Applications using this provider that want to connect
+ to the message hub for device events and commands must create an instance of
+ <code>IotDevice</code> using <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-"><code>addIotDevice()</code></a>.
+ See below for more information.
+ </LI>
+ <LI>Access to the control service through device commands from the message hub.</LI>
+ </UL>
+ 
+ <p>If topology builders are registered with the ApplicationService using
+ something other than this provider's <code>registerTopology()</code>,
+ that code is responsible for creating the virtual IotDevice as described
+ above on each builder invocation.
+  
+ <p>For example, an application loaded and registered via
+ <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-"><code>ApplicationService.registerJar()</code></a>
+ would create the <code>IotDevice</code> for its builder in its
+ <a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html#getBuilder--"><code>TopologyBuilder.getBuilder()</code></a> implementation:
+ <pre><code>
+ class MyApp implements TopologyBuilder {  // be loadable by registerJar()
+   &#64;Override
+   public BiConsumer&lt;Topology t, JsonConfig c&gt; getBuilder() {
+     return (t, c) -&gt; buildTopology(IotDevicePubSub.addIotDevice(t), c);
+   }
+   private void buildTopology(IotDevice iotDevice, JsonConfig c) {
+     Topology t = iotDevice.getTopology();
+     ... build your topology
+   }
+ }
+ </code></pre></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a>, 
+<a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot"><code>IotDevicePubSub</code></a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#CONTROL_APP_NAME">CONTROL_APP_NAME</a></span></code>
+<div class="block">IoT control using device commands application name.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#createIotCommandToControlApp--">createIotCommandToControlApp</a></span>()</code>
+<div class="block">Create application connects <code>edgentControl</code> device commands
+ to the control service.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#createIotDeviceApp--">createIotDeviceApp</a></span>()</code>
+<div class="block">Create application that connects to the message hub.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#createJobMonitorApp--">createJobMonitorApp</a></span>()</code>
+<div class="block">Create Job monitor application.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#createMessageHubDevice-org.apache.edgent.topology.Topology-">createMessageHubDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
+<div class="block">Create the connection to the message hub.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#getApplicationService--">getApplicationService</a></span>()</code>
+<div class="block">Get the application service.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#getControlService--">getControlService</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#getName--">getName</a></span>()</code>
+<div class="block">Return the name of this provider.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/prefs/Preferences.html?is-external=true" title="class or interface in java.util.prefs">Preferences</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#getPreferences-java.lang.String-">getPreferences</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerName)</code>
+<div class="block">Get the Preferences node that will be used for the IotProvider with the specified name.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#getServices--">getServices</a></span>()</code>
+<div class="block">Access to services.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#newTopology--">newTopology</a></span>()</code>
+<div class="block">Create a new topology with a generated name.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Create a new topology with a given name.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerApplicationService--">registerApplicationService</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerControlService--">registerControlService</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerPreferencesService--">registerPreferencesService</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerPublishSubscribeService--">registerPublishSubscribeService</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
+<div class="block">Register an application that uses an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder,
+                boolean&nbsp;autoSubmit,
+                com.google.gson.JsonObject&nbsp;config)</code>
+<div class="block">Register an application that uses an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#start--">start</a></span>()</code>
+<div class="block">Start this provider by starting its system applications 
+ and any autoSubmit-enabled registered applications.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
+<div class="block">Submit an executable.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      com.google.gson.JsonObject&nbsp;config)</code>
+<div class="block">Submit an executable.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="CONTROL_APP_NAME">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CONTROL_APP_NAME</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CONTROL_APP_NAME</pre>
+<div class="block">IoT control using device commands application name.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.providers.iot.IotProvider.CONTROL_APP_NAME">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="IotProvider-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IotProvider</h4>
+<pre>public&nbsp;IotProvider(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</pre>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.
+ No name is assigned to the provider so a preferences service is not created.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>iotDeviceCreator</code> - How the <code>IotDevice</code> is created.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><code>DirectProvider</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="IotProvider-java.lang.String-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IotProvider</h4>
+<pre>public&nbsp;IotProvider(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                   <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</pre>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - Name of the provider, if the value is not <code>null</code> then a preferences service is created.</dd>
+<dd><code>iotDeviceCreator</code> - How the <code>IotDevice</code> is created.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><code>DirectProvider</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IotProvider</h4>
+<pre>public&nbsp;IotProvider(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                   <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
+                   <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</pre>
+<div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - Name of the provider, if the value is not <code>null</code> then a preferences service is created.</dd>
+<dd><code>provider</code> - <code>DirectProvider</code> to use for topology creation and submission.</dd>
+<dd><code>iotDeviceCreator</code> - How the <code>IotDevice</code> is created.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><code>DirectProvider</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>IotProvider</h4>
+<pre>public&nbsp;IotProvider(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                   <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+                   <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+                   <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</pre>
+<div class="block">Create an <code>IotProvider</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - Name of the provider, if the value is not <code>null</code> then a preferences service is created.</dd>
+<dd><code>provider</code> - How topologies are created.</dd>
+<dd><code>submitter</code> - How topologies will be submitted.</dd>
+<dd><code>iotDeviceCreator</code> - How the <code>IotDevice</code> is created.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block">Return the name of this provider.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Provider's name, can be <code>null</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getApplicationService--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getApplicationService</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a>&nbsp;getApplicationService()</pre>
+<div class="block">Get the application service.
+ Callers may use this to register applications to
+ be executed by this provider.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>application service.</dd>
+</dl>
+</li>
+</ul>
+<a name="getServices--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getServices</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;getServices()</pre>
+<div class="block">Access to services.
+ 
+ Since any executables are executed directly within
+ the current virtual machine, callers may register
+ services that are visible to the executable
+ and its elements.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html#getServices--">getServices</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Service container for this submitter.</dd>
+</dl>
+</li>
+</ul>
+<a name="newTopology--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newTopology</h4>
+<pre>public final&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;newTopology()</pre>
+<div class="block">Create a new topology with a generated name.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology--">newTopology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new topology.</dd>
+</dl>
+</li>
+</ul>
+<a name="newTopology-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newTopology</h4>
+<pre>public final&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;newTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Create a new topology with a given name.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">newTopology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name for topology</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new topology.</dd>
+</dl>
+</li>
+</ul>
+<a name="submit-org.apache.edgent.topology.Topology-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submit</h4>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</pre>
+<div class="block">Submit an executable.
+ No configuration options are specified,
+ this is equivalent to <code>submit(executable, new JsonObject())</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-">submit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - executable to submit</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a future for the submitted executable</dd>
+</dl>
+</li>
+</ul>
+<a name="submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submit</h4>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submit(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                                com.google.gson.JsonObject&nbsp;config)</pre>
+<div class="block">Submit an executable.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-">submit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - executable to submit</dd>
+<dd><code>config</code> - context <a href="../../../../../org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution">information</a> for the submission</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a future for the submitted executable</dd>
+</dl>
+</li>
+</ul>
+<a name="registerControlService--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerControlService</h4>
+<pre>protected&nbsp;void&nbsp;registerControlService()</pre>
+</li>
+</ul>
+<a name="registerApplicationService--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerApplicationService</h4>
+<pre>protected&nbsp;void&nbsp;registerApplicationService()</pre>
+</li>
+</ul>
+<a name="registerPublishSubscribeService--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerPublishSubscribeService</h4>
+<pre>protected&nbsp;void&nbsp;registerPublishSubscribeService()</pre>
+</li>
+</ul>
+<a name="registerPreferencesService--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerPreferencesService</h4>
+<pre>protected&nbsp;void&nbsp;registerPreferencesService()</pre>
+</li>
+</ul>
+<a name="getPreferences-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPreferences</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/prefs/Preferences.html?is-external=true" title="class or interface in java.util.prefs">Preferences</a>&nbsp;getPreferences(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerName)</pre>
+<div class="block">Get the Preferences node that will be used for the IotProvider with the specified name.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>providerName</code> - The value that will be passed into <a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-"><code>IotProvider()</code></a></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Preferences</dd>
+</dl>
+</li>
+</ul>
+<a name="getControlService--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getControlService</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a>&nbsp;getControlService()</pre>
+</li>
+</ul>
+<a name="createIotDeviceApp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createIotDeviceApp</h4>
+<pre>protected&nbsp;void&nbsp;createIotDeviceApp()</pre>
+<div class="block">Create application that connects to the message hub.
+ Subscribes to device events and sends them to the messages hub.
+ Publishes device commands from the message hub.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot"><code>IotDevicePubSub</code></a>, 
+<a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#createMessageHubDevice-org.apache.edgent.topology.Topology-"><code>createMessageHubDevice(Topology)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="createJobMonitorApp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createJobMonitorApp</h4>
+<pre>protected&nbsp;void&nbsp;createJobMonitorApp()</pre>
+<div class="block">Create Job monitor application.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime"><code>JobMonitorApp</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="createIotCommandToControlApp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createIotCommandToControlApp</h4>
+<pre>protected&nbsp;void&nbsp;createIotCommandToControlApp()</pre>
+<div class="block">Create application connects <code>edgentControl</code> device commands
+ to the control service.
+ 
+ Subscribes to device
+ commands of type <a href="../../../../../org/apache/edgent/connectors/iot/Commands.html#CONTROL_SERVICE"><code>Commands.CONTROL_SERVICE</code></a>
+ and sends the payload into the JSON control service
+ to invoke the control operation.</div>
+</li>
+</ul>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Start this provider by starting its system applications 
+ and any autoSubmit-enabled registered applications.</div>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - on failure starting applications.</dd>
+</dl>
+</li>
+</ul>
+<a name="createMessageHubDevice-org.apache.edgent.topology.Topology-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createMessageHubDevice</h4>
+<pre>protected&nbsp;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;createMessageHubDevice(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</pre>
+<div class="block">Create the connection to the message hub.
+ 
+ Creates an instance of <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a>
+ used to communicate with the message hub. This
+ provider creates and submits an application
+ that subscribes to published events to send
+ as device events and publishes device commands.
+ <BR>
+ The application is created using
+ <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#createApplication-org.apache.edgent.connectors.iot.IotDevice-"><code>IotDevicePubSub.createApplication(IotDevice)</code></a>.
+ <BR>
+ The <code>IotDevice</code> is created using the function
+ passed into the constructor.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - Topology the <code>IotDevice</code> will be contained in.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>IotDevice device used to communicate with the message hub.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a>, 
+<a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot"><code>IotDevicePubSub</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerTopology</h4>
+<pre>public&nbsp;void&nbsp;registerTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                             <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</pre>
+<div class="block">Register an application that uses an <code>IotDevice</code>.
+ <BR>
+ Same as <a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-"><code>registerTopology(appName, builder, false, null)</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>applicationName</code> - Application name</dd>
+<dd><code>builder</code> - Function that builds the topology.</dd>
+</dl>
+</li>
+</ul>
+<a name="registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-boolean-com.google.gson.JsonObject-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>registerTopology</h4>
+<pre>public&nbsp;void&nbsp;registerTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                             <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>,com.google.gson.JsonObject&gt;&nbsp;builder,
+                             boolean&nbsp;autoSubmit,
+                             com.google.gson.JsonObject&nbsp;config)</pre>
+<div class="block">Register an application that uses an <code>IotDevice</code>.
+ <BR>
+ Wrapper around <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-"><code>ApplicationService.registerTopology(String, BiConsumer)</code></a>
+ that passes in an <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> and configuration to the supplied
+ function <code>builder</code> that builds the application. The passed
+ in <code>IotDevice</code> is created using <a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-"><code>IotDevicePubSub.addIotDevice(org.apache.edgent.topology.TopologyElement)</code></a>.
+ <BR>
+ Note that <code>builder</code> obtains a reference to its topology using
+ <a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--"><code>TopologyElement.topology()</code></a>.
+ <P>
+ When the application is
+ <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>submitted</code></a> <code>builder.accept(iotDevice, config)</code>
+ is called to build the application's graph.
+ </P>
+ <P>
+ Specify <code>autoSubmit==true</code>, to have the provider submit the application
+ when <a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#start--"><code>start()</code></a> is called.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>applicationName</code> - Application name</dd>
+<dd><code>builder</code> - Function that builds the topology.</dd>
+<dd><code>autoSubmit</code> - auto submit the application when <a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#start--"><code>start()</code></a> is called.</dd>
+<dd><code>config</code> - config for auto-submitted application.
+        See <a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-"><code>submit</code></a>. May be null.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/IotProvider.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/iot/IotProvider.html" target="_top">Frames</a></li>
+<li><a href="IotProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/class-use/IotProvider.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/class-use/IotProvider.html
new file mode 100644
index 0000000..ab1f5e6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/class-use/IotProvider.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.providers.iot.IotProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.providers.iot.IotProvider (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/providers/iot/class-use/IotProvider.html" target="_top">Frames</a></li>
+<li><a href="IotProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.providers.iot.IotProvider" class="title">Uses of Class<br>org.apache.edgent.providers.iot.IotProvider</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.providers.iot.IotProvider</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/providers/iot/class-use/IotProvider.html" target="_top">Frames</a></li>
+<li><a href="IotProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-frame.html
new file mode 100644
index 0000000..436126e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/providers/iot/package-summary.html" target="classFrame">org.apache.edgent.providers.iot</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="IotProvider.html" title="class in org.apache.edgent.providers.iot" target="classFrame">IotProvider</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-summary.html
new file mode 100644
index 0000000..ab55e94
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-summary.html
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.providers.iot (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/iot/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.providers.iot</h1>
+<div class="docSummary">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></td>
+<td class="colLast">
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.providers.iot Description">Package org.apache.edgent.providers.iot Description</h2>
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.
+ 
+ <H3>IoT device</H3>
+ 
+ <H3>Application registration</H3>
+ The provider includes an <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>ApplicationService</code></a> that allows applications
+ to be registered by name. Once registered an application can be started (and stopped) remotely
+ through the control service using a device command.
+ 
+ <p>A jar may be registered remotely through a control service device command.  
+ Applications in the jar are registered with the ApplicationService and may then be started and stopped
+ remotely. 
+ 
+ <H3>Supported device commands</H3>
+ This provider supports a number of system level device commands to control the applications
+ running within it.
+ <H4>Control service</H4>
+ Device commands with the command identifier '<a href="../../../../../org/apache/edgent/connectors/iot/Commands.html#CONTROL_SERVICE"><code>edgentControl</code></a>'
+ are sent to the provider's control service, an instance of <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol"><code>JsonControlService</code></a>.
+ This allows invocation of an operation against a control MBean registered with the
+ control service, either by an application or the provider itself.
+ <P>
+ The command's data (JSON) uniquely identifies a control MBean through its type and
+ alias, and indicates the operation to call on the MBean and the arguments to
+ pass to the operation.
+ Thus any control operation can be remotely invoked through a <code>edgentControl</code> device command,
+ including arbitrary control MBeans registered by applications.
+ 
+ <H4 id="providerOps">Provider operations</H4>
+ <table border="1" summary="Provider operations">
+ <tr>
+     <th id="operation">Operation</th><th id="cmdIdentifier">Command identifier</th>
+     <th id="type">type</th><th id="alias">alias</th><th id="op">op</th><th id="args">args</th>
+     <th id="controlMbean">Control MBean</th>
+ </tr>
+ <tr>
+    <td rowspan="2" headers="operation"><strong>Submit (start) a registered application</strong></td>
+    <td headers="cmdIdentifier"><code>edgentControl</code></td>
+    <td headers="type"><code>appService</code></td>
+    <td headers="alias"><code>edgent</code></td>
+    <td headers="op"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>submit</code></a></td>
+    <td headers="args"><em><code>[applicationName, configJSONObject]</code></em></td>
+    <td headers="controlMbean"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><code>ApplicationServiceMXBean</code></a></td>
+ </tr>
+ <tr>
+    <td headers="cmdIdentifier"><strong>Sample command data</strong></td>
+    <td colspan=5 headers="type alias op args controlMbean"><code>{"type":"appService","alias":"edgent","op":"submit","args":["Heartbeat",{}]}</code></td>
+ </tr>
+ <tr></tr>
+ 
+ <tr>
+    <td rowspan="2" headers="operation"><strong>Register an applications Jar</strong></td>
+    <td headers="cmdIdentifier"><code>edgentControl</code></td>
+    <td headers="type"><code>appService</code></td>
+    <td headers="alias"><code>edgent</code></td>
+    <td headers="op"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-"><code>registerJar</code></a></td>
+    <td headers="args"><em><code>[jarURL, configJSONObject]</code></em></td>
+    <td headers="controlMbean"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><code>ApplicationServiceMXBean</code></a></td>
+ </tr>
+ <tr>
+    <td headers="cmdIdentifier"><strong>Sample command data</strong></td>
+    <td colspan=5 headers="type alias op args controlMbean"><code>{"type":"appService","alias":"edgent","op":"registerJar","args":["https://myHost/path/to/myApp.jar",{}]}</code></td>
+ </tr>
+ <tr></tr>
+ 
+ <tr>
+    <td rowspan="2" headers="operation"><strong>Close (stop) a running registered application</strong></td>
+    <td headers="cmdIdentifier"><code>edgentControl</code></td>
+    <td headers="type"><code>job</code></td>
+    <td headers="alias"><em><code>applicationName</code></em></td>
+    <td headers="op"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#stateChange-org.apache.edgent.execution.Job.Action-"><code>stateChange</code></a></td>
+    <td headers="args"><code>["CLOSE"]</code></td>
+    <td headers="controlMbean"><a href="../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><code>JobMXBean</code></a></td>
+ </tr>
+ <tr>
+    <td headers="cmdIdentifier"><strong>Sample command data</strong></td>
+    <td colspan=5 headers="type alias op args controlMbean"><code>{"type":"job","alias":"Heartbeat","op":"stateChange","args":["CLOSE"]}</code></td>
+ </tr>
+ <tr></tr>
+ 
+ <tr>
+    <td rowspan="2" headers="operation"><strong>Change a period control</strong></td>
+    <td headers="cmdIdentifier"><code>edgentControl</code></td>
+    <td headers="type"><em><code>varies</code></em></td>
+    <td headers="alias"><em><code>varies</code></em></td>
+    <td headers="op"><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html#setPeriod-long-java.util.concurrent.TimeUnit-"><code>setPeriod</code></a></td>
+    <td headers="args"><em><code>[period, timeUnit]</code></em></td>
+    <td headers="controlMbean"><a href="../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><code>PeriodMXBean</code></a></td>
+ </tr>
+ <tr>
+    <td headers="cmdIdentifier"><strong>Sample command data (TStream.poll())</strong></td>
+    <td colspan=5 headers="type alias op args controlMbean"><code>{"type":"stream","alias":"myStreamAlias","op":"setPeriod","args":[10, "SECONDS"]}</code></td>
+ </tr>
+ <tr></tr>
+ </table></div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/iot/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-tree.html
new file mode 100644
index 0000000..65050fe
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.providers.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.providers.iot Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/direct/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/iot/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.providers.iot</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.providers.iot.<a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot"><span class="typeNameLink">IotProvider</span></a> (implements org.apache.edgent.execution.<a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;E,J&gt;, org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/direct/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/iot/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-use.html
new file mode 100644
index 0000000..1807e44
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/providers/iot/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.providers.iot (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.providers.iot (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/iot/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.providers.iot" class="title">Uses of Package<br>org.apache.edgent.providers.iot</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.providers.iot</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/providers/iot/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/AppService.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/AppService.html
new file mode 100644
index 0000000..b9ee342
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/AppService.html
@@ -0,0 +1,428 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AppService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AppService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AppService.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/appservice/AppService.html" target="_top">Frames</a></li>
+<li><a href="AppService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.appservice</div>
+<h2 title="Class AppService" class="title">Class AppService</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.appservice.AppService</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">AppService</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></pre>
+<div class="block">Application service for a <code>TopologyProvider</code>.
+ <BR>
+ Applications <a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-"><code>registered</code></a>
+ can be submitted through the control <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><code>ApplicationServiceMXBean</code></a>
+ registered with the <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a> for the topology provider.
+ <BR>
+ If a control service is not available then no control MBean is registered
+ and the application service is effectively inactive.</div>
+</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>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.topology.services.ApplicationService">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.topology.services.<a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS">ALIAS</a>, <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#SYSTEM_APP_PREFIX">SYSTEM_APP_PREFIX</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">AppService</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+          <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
+<div class="block">Create an <code>ApplicationService</code> instance.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#createAndRegister-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-">createAndRegister</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+                 <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter)</code>
+<div class="block">Create an register an application service using the default alias <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS"><code>ApplicationService.ALIAS</code></a>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#getApplicationNames--">getApplicationNames</a></span>()</code>
+<div class="block">Returns the names of applications registered with this service.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
+<div class="block">Create a new class loader for the jar and register any
+ topology application that is registered as a service provider.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
+<div class="block">Add a topology that can be started though a control mbean.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AppService</h4>
+<pre>public&nbsp;AppService(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+                  <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</pre>
+<div class="block">Create an <code>ApplicationService</code> instance.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>provider</code> - Provider to create topology instances for registered applications.</dd>
+<dd><code>submitter</code> - Submitter for registered applications.</dd>
+<dd><code>alias</code> - Alias used to register the control MBean.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="createAndRegister-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createAndRegister</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a>&nbsp;createAndRegister(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+                                                   <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter)</pre>
+<div class="block">Create an register an application service using the default alias <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS"><code>ApplicationService.ALIAS</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>provider</code> - Provider to create topology instances for registered applications.</dd>
+<dd><code>submitter</code> - Submitter for registered applications.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Application service instance.</dd>
+</dl>
+</li>
+</ul>
+<a name="registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerTopology</h4>
+<pre>public&nbsp;void&nbsp;registerTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                             <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">ApplicationService</a></code></span></div>
+<div class="block">Add a topology that can be started though a control mbean.
+ Any registration replaces any existing application with the same name.
+ <BR>
+ When a <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>submit</code></a>
+ is invoked <code>builder.accept(topology, config)</code> is called passing:
+ <UL>
+ <LI>
+ <code>topology</code> - An empty topology with the name <code>applicationName</code>.
+ </LI>
+ <LI>
+ <code>config</code> - JSON submission configuration from
+ <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>submit</code></a>.
+ </LI>
+ </UL>
+ Once <code>builder.accept(topology, config)</code> returns it is submitted
+ to the <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution"><code>Submitter</code></a> associated with the implementation of this service.
+ <P>
+ Application names starting with <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#SYSTEM_APP_PREFIX"><code>edgent</code></a> are reserved
+ for system applications.
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>applicationName</code> - Application name to register.</dd>
+<dd><code>builder</code> - How to build the topology for this application.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><code>ApplicationServiceMXBean</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="registerJar-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerJar</h4>
+<pre>public&nbsp;void&nbsp;registerJar(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Create a new class loader for the jar and register any
+ topology application that is registered as a service provider.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jarURL</code> - URL of Jar containing new applications.</dd>
+<dd><code>jsonConfig</code> - JSON configuration serialized as a String (currently unused).</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if failure</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html?is-external=true" title="class or interface in java.util"><code>ServiceLoader</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="getApplicationNames--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getApplicationNames</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getApplicationNames()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#getApplicationNames--">ApplicationService</a></code></span></div>
+<div class="block">Returns the names of applications registered with this service.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#getApplicationNames--">getApplicationNames</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the names of applications registered with this service.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AppService.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/appservice/AppService.html" target="_top">Frames</a></li>
+<li><a href="AppService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/AppServiceControl.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/AppServiceControl.html
new file mode 100644
index 0000000..88de72a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/AppServiceControl.html
@@ -0,0 +1,316 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AppServiceControl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AppServiceControl (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AppServiceControl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/appservice/AppServiceControl.html" target="_top">Frames</a></li>
+<li><a href="AppServiceControl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.appservice</div>
+<h2 title="Class AppServiceControl" class="title">Class AppServiceControl</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.appservice.AppServiceControl</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">AppServiceControl</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></pre>
+</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>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.topology.mbeans.ApplicationServiceMXBean">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.topology.mbeans.<a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#TYPE">TYPE</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
+<div class="block">Register a jar file containing applications with
+ the application service.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html#submit-java.lang.String-java.lang.String-">submit</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
+<div class="block">Submit an application registered with the application service.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="submit-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submit</h4>
+<pre>public&nbsp;void&nbsp;submit(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-">ApplicationServiceMXBean</a></code></span></div>
+<div class="block">Submit an application registered with the application service.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-">submit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>applicationName</code> - Name of the application.</dd>
+<dd><code>jsonConfig</code> - JsonObject configuration serialized as a JSON String.
+ Null or an empty String is equivalent to an empty JSON object.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Error submitting application.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>ApplicationService</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="registerJar-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>registerJar</h4>
+<pre>public&nbsp;void&nbsp;registerJar(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-">ApplicationServiceMXBean</a></code></span></div>
+<div class="block">Register a jar file containing applications with
+ the application service.
+ 
+ <p>See <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-"><code>ApplicationService.registerJar()</code></a>
+ for further semantics and requirements on the jar.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jarURL</code> - URL for the jar file.</dd>
+<dd><code>jsonConfig</code> - JsonObject configuration serialized as a JSON String.
+ Null or an empty String is equivalent to an empty JSON object.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Error registering jar.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>ApplicationService</code></a>, 
+<a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><code>TopologyBuilder</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AppServiceControl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/appservice/AppServiceControl.html" target="_top">Frames</a></li>
+<li><a href="AppServiceControl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/class-use/AppService.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/class-use/AppService.html
new file mode 100644
index 0000000..c2e3f7c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/class-use/AppService.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.appservice.AppService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.appservice.AppService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/appservice/class-use/AppService.html" target="_top">Frames</a></li>
+<li><a href="AppService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.appservice.AppService" class="title">Uses of Class<br>org.apache.edgent.runtime.appservice.AppService</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.runtime.appservice.AppService</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/appservice/class-use/AppService.html" target="_top">Frames</a></li>
+<li><a href="AppService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/class-use/AppServiceControl.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/class-use/AppServiceControl.html
new file mode 100644
index 0000000..6800318
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/class-use/AppServiceControl.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.appservice.AppServiceControl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.appservice.AppServiceControl (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/appservice/class-use/AppServiceControl.html" target="_top">Frames</a></li>
+<li><a href="AppServiceControl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.appservice.AppServiceControl" class="title">Uses of Class<br>org.apache.edgent.runtime.appservice.AppServiceControl</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.runtime.appservice.AppServiceControl</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/appservice/class-use/AppServiceControl.html" target="_top">Frames</a></li>
+<li><a href="AppServiceControl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-frame.html
new file mode 100644
index 0000000..eaf9c0c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.appservice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html" target="classFrame">org.apache.edgent.runtime.appservice</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AppService.html" title="class in org.apache.edgent.runtime.appservice" target="classFrame">AppService</a></li>
+<li><a href="AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice" target="classFrame">AppServiceControl</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-summary.html
new file mode 100644
index 0000000..be78fcc
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-summary.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.appservice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.appservice (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/appservice/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.runtime.appservice</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></td>
+<td class="colLast">
+<div class="block">Application service for a <code>TopologyProvider</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice">AppServiceControl</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/appservice/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-tree.html
new file mode 100644
index 0000000..8409bcf
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-tree.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.appservice Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.appservice Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/iot/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/appservice/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.runtime.appservice</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.runtime.appservice.<a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">AppService</span></a> (implements org.apache.edgent.topology.services.<a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a>)</li>
+<li type="circle">org.apache.edgent.runtime.appservice.<a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">AppServiceControl</span></a> (implements org.apache.edgent.topology.mbeans.<a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/providers/iot/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/appservice/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-use.html
new file mode 100644
index 0000000..b62f89e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/appservice/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.appservice (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.runtime.appservice (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/appservice/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.runtime.appservice" class="title">Uses of Package<br>org.apache.edgent.runtime.appservice</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.runtime.appservice</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/appservice/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/AbstractContext.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/AbstractContext.html
new file mode 100644
index 0000000..ee1490b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/AbstractContext.html
@@ -0,0 +1,388 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractContext (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractContext.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/AbstractContext.html" target="_top">Frames</a></li>
+<li><a href="AbstractContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao</div>
+<h2 title="Class AbstractContext" class="title">Class AbstractContext&lt;I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.AbstractContext&lt;I,O&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>I</code> - Tuple type of input streams</dd>
+<dd><code>O</code> - Tuple type of output streams</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>, <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;I,O&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractContext&lt;I,O&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;I,O&gt;</pre>
+<div class="block">Provides a skeletal implementation of the <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><code>OpletContext</code></a>
+ interface.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#AbstractContext-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-">AbstractContext</a></span>(<a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+               <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#getJobContext--">getJobContext</a></span>()</code>
+<div class="block">Get the job hosting this oplet.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#getService-java.lang.Class-">getService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
+<div class="block">Get a service for this invocation.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#uniquify-java.lang.String-">uniquify</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Creates a unique name within the context of the current runtime.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.OpletContext">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getId--">getId</a>, <a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getInputCount--">getInputCount</a>, <a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputContext--">getOutputContext</a>, <a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputCount--">getOutputCount</a>, <a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputs--">getOutputs</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractContext-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractContext</h4>
+<pre>public&nbsp;AbstractContext(<a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+                       <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getService-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getService</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getService-java.lang.Class-">OpletContext</a></code></span></div>
+<div class="block">Get a service for this invocation.
+ <P>
+ These services must be provided by all implementations:
+ </P>
+ <UL>
+ <LI>
+ <code>java.util.concurrent.ThreadFactory</code> - Thread factory, runtime code should
+ create new threads using this factory.
+ </LI>
+ <LI>
+ <code>java.util.concurrent.ScheduledExecutorService</code> - Scheduler, runtime code should
+ execute asynchronous and repeating tasks using this scheduler. 
+ </LI>
+ </UL>
+ <P>
+ Get a service for this oplet invocation.
+ 
+ An invocation of an oplet may get access to services,
+ which provide specific functionality, such as metrics.
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html#getService-java.lang.Class-">getService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getService-java.lang.Class-">getService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="type parameter in AbstractContext">I</a>,<a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="type parameter in AbstractContext">O</a>&gt;</code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - service class type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceClass</code> - Type of the service required.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Service of type implementing <code>serviceClass</code> if the 
+      container this invocation runs in supports that service, 
+      otherwise <code>null</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getJobContext--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJobContext</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;getJobContext()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getJobContext--">OpletContext</a></code></span></div>
+<div class="block">Get the job hosting this oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getJobContext--">getJobContext</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="type parameter in AbstractContext">I</a>,<a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="type parameter in AbstractContext">O</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet"><code>JobContext</code></a> hosting this oplet invocation.</dd>
+</dl>
+</li>
+</ul>
+<a name="uniquify-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>uniquify</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uniquify(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Creates a unique name within the context of the current runtime.
+ <p>
+ The default implementation adds a suffix composed of the package 
+ name of this interface, the current job and oplet identifiers, 
+ all separated by periods (<code>'.'</code>).  Developers should use this 
+ method to avoid name clashes when they store or register the name in 
+ an external container or registry.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#uniquify-java.lang.String-">uniquify</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="type parameter in AbstractContext">I</a>,<a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="type parameter in AbstractContext">O</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name (possibly non-unique)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unique name within the context of the current runtime.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractContext.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/AbstractContext.html" target="_top">Frames</a></li>
+<li><a href="AbstractContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/EtiaoJob.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/EtiaoJob.html
new file mode 100644
index 0000000..271d6ab
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/EtiaoJob.html
@@ -0,0 +1,497 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>EtiaoJob (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="EtiaoJob (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EtiaoJob.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/EtiaoJob.html" target="_top">Frames</a></li>
+<li><a href="EtiaoJob.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao</div>
+<h2 title="Class EtiaoJob" class="title">Class EtiaoJob</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">org.apache.edgent.graph.spi.execution.AbstractGraphJob</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.EtiaoJob</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>, <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">EtiaoJob</span>
+extends <a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a>
+implements <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></pre>
+<div class="block">Etiao runtime implementation of the <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.edgent.execution.Job">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.edgent.execution.<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></h3>
+<code><a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>, <a href="../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>, <a href="../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#ID_PREFIX">ID_PREFIX</a></span></code>
+<div class="block">Prefix used by job unique identifiers.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#complete--">complete</a></span>()</code>
+<div class="block">Waits for any outstanding job work to complete.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#complete-long-java.util.concurrent.TimeUnit-">complete</a></span>(long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Waits for at most the specified time for the job to complete.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#completeClosing-long-java.util.concurrent.TimeUnit-">completeClosing</a></span>(long&nbsp;timeout,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Complete job closing.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#completeTransition--">completeTransition</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#getId--">getId</a></span>()</code>
+<div class="block">Get the runtime identifier for the job containing this <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#getName--">getName</a></span>()</code>
+<div class="block">Get the name of the job containing this <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#graph--">graph</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</code>
+<div class="block">Initiates an execution state change.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.graph.spi.execution.AbstractGraphJob">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.graph.spi.execution.<a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></h3>
+<code><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getCurrentState--">getCurrentState</a>, <a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getHealth--">getHealth</a>, <a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getLastError--">getLastError</a>, <a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#getNextState--">getNextState</a>, <a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#inTransition--">inTransition</a>, <a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setHealth-org.apache.edgent.execution.Job.Health-">setHealth</a>, <a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setLastError-java.lang.String-">setLastError</a>, <a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#setNextState-org.apache.edgent.execution.Job.State-">setNextState</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="ID_PREFIX">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ID_PREFIX</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ID_PREFIX</pre>
+<div class="block">Prefix used by job unique identifiers.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.runtime.etiao.EtiaoJob.ID_PREFIX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/JobContext.html#getName--">JobContext</a></code></span></div>
+<div class="block">Get the name of the job containing this <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/Job.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/JobContext.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The job name for the application being executed.</dd>
+</dl>
+</li>
+</ul>
+<a name="getId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/JobContext.html#getId--">JobContext</a></code></span></div>
+<div class="block">Get the runtime identifier for the job containing this <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/Job.html#getId--">getId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/JobContext.html#getId--">getId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The job identifier for the application being executed.</dd>
+</dl>
+</li>
+</ul>
+<a name="stateChange-org.apache.edgent.execution.Job.Action-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stateChange</h4>
+<pre>public&nbsp;void&nbsp;stateChange(<a href="../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Job.html#stateChange-org.apache.edgent.execution.Job.Action-">Job</a></code></span></div>
+<div class="block">Initiates an execution state change.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/Job.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>action</code> - which triggers the state change.</dd>
+</dl>
+</li>
+</ul>
+<a name="completeTransition--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>completeTransition</h4>
+<pre>protected&nbsp;void&nbsp;completeTransition()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html#completeTransition--">completeTransition</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution">AbstractGraphJob</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="complete--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>complete</h4>
+<pre>public&nbsp;void&nbsp;complete()
+              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Job.html#complete--">Job</a></code></span></div>
+<div class="block">Waits for any outstanding job work to complete.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/Job.html#complete--">complete</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if the job execution threw an exception.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the current thread was interrupted while waiting</dd>
+</dl>
+</li>
+</ul>
+<a name="complete-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>complete</h4>
+<pre>public&nbsp;void&nbsp;complete(long&nbsp;timeout,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
+              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Job.html#complete-long-java.util.concurrent.TimeUnit-">Job</a></code></span></div>
+<div class="block">Waits for at most the specified time for the job to complete.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/Job.html#complete-long-java.util.concurrent.TimeUnit-">complete</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeout</code> - the time to wait</dd>
+<dd><code>unit</code> - the time unit of the timeout argument</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if the job execution threw an exception.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the current thread was interrupted while waiting</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></code> - if the wait timed out</dd>
+</dl>
+</li>
+</ul>
+<a name="completeClosing-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>completeClosing</h4>
+<pre>public&nbsp;void&nbsp;completeClosing(long&nbsp;timeout,
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
+                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a>,
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a>,
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></pre>
+<div class="block">Complete job closing.  This method can be invoked after a job close 
+ has been initiated.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>timeout</code> - the time to wait</dd>
+<dd><code>unit</code> - TimeUnit</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutionException.html?is-external=true" title="class or interface in java.util.concurrent">ExecutionException</a></code> - if the job execution threw an ExecutionException.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if the job execution threw an InterruptedException.</dd>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeoutException.html?is-external=true" title="class or interface in java.util.concurrent">TimeoutException</a></code> - if the job execution threw an TimeoutException.</dd>
+</dl>
+</li>
+</ul>
+<a name="graph--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>graph</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a>&nbsp;graph()</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EtiaoJob.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/EtiaoJob.html" target="_top">Frames</a></li>
+<li><a href="EtiaoJob.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/Executable.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/Executable.html
new file mode 100644
index 0000000..dafa251
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/Executable.html
@@ -0,0 +1,492 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Executable (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Executable (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Executable.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/Executable.html" target="_top">Frames</a></li>
+<li><a href="Executable.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao</div>
+<h2 title="Class Executable" class="title">Class Executable</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.Executable</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Executable</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></pre>
+<div class="block">Executes and provides runtime services to the executable graph 
+ elements (oplets and functions).</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">Executable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+          <a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices)</code>
+<div class="block">Creates a new <code>Executable</code> for the specified job.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-java.util.concurrent.ThreadFactory-">Executable</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+          <a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threads)</code>
+<div class="block">Creates a new <code>Executable</code> for the specified topology name, which uses the 
+ given thread factory to create new threads for oplet execution.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;<br><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a>&lt;T,I,O&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#addOpletInvocation-T-int-int-">addOpletInvocation</a></span>(T&nbsp;oplet,
+                  int&nbsp;inputs,
+                  int&nbsp;outputs)</code>
+<div class="block">Creates a new <code>Invocation</code> associated with the specified oplet.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#close--">close</a></span>()</code>
+<div class="block">Shuts down the user scheduler and thread factory, close all 
+ invocations, then shutdown the control scheduler.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#createJob-org.apache.edgent.graph.Graph-java.lang.String-java.lang.String-">createJob</a></span>(<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#getLastError--">getLastError</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#getScheduler--">getScheduler</a></span>()</code>
+<div class="block">Returns the <code>ScheduledExecutorService</code> used for running 
+ executable graph elements.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#getService-java.lang.Class-">getService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</code>
+<div class="block">Acts as a service provider for executable elements in the graph, first
+ looking for a service specific to this job, and then one from the 
+ container.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#hasActiveTasks--">hasActiveTasks</a></span>()</code>
+<div class="block">Check whether there are user tasks still active.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#initialize--">initialize</a></span>()</code>
+<div class="block">Initializes the invocations.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html#start--">start</a></span>()</code>
+<div class="block">Starts all the invocations.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Executable</h4>
+<pre>public&nbsp;Executable(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                  <a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices)</pre>
+<div class="block">Creates a new <code>Executable</code> for the specified job.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the executable</dd>
+<dd><code>containerServices</code> - runtime services provided by the container</dd>
+</dl>
+</li>
+</ul>
+<a name="Executable-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-java.util.concurrent.ThreadFactory-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Executable</h4>
+<pre>public&nbsp;Executable(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                  <a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;containerServices,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threads)</pre>
+<div class="block">Creates a new <code>Executable</code> for the specified topology name, which uses the 
+ given thread factory to create new threads for oplet execution.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the executable</dd>
+<dd><code>containerServices</code> - runtime services provided by the container</dd>
+<dd><code>threads</code> - thread factory for executing the oplets</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getScheduler--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getScheduler</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;getScheduler()</pre>
+<div class="block">Returns the <code>ScheduledExecutorService</code> used for running 
+ executable graph elements.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the scheduler</dd>
+</dl>
+</li>
+</ul>
+<a name="getService-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getService</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;serviceClass)</pre>
+<div class="block">Acts as a service provider for executable elements in the graph, first
+ looking for a service specific to this job, and then one from the 
+ container.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html#getService-java.lang.Class-">getService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - service class type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceClass</code> - Type of the service required.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Service of type implementing <code>serviceClass</code> if the 
+      container this invocation runs in supports that service, 
+      otherwise <code>null</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="addOpletInvocation-org.apache.edgent.oplet.Oplet-int-int-">
+<!--   -->
+</a><a name="addOpletInvocation-T-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addOpletInvocation</h4>
+<pre>public&nbsp;&lt;T extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;&nbsp;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a>&lt;T,I,O&gt;&nbsp;addOpletInvocation(T&nbsp;oplet,
+                                                                       int&nbsp;inputs,
+                                                                       int&nbsp;outputs)</pre>
+<div class="block">Creates a new <code>Invocation</code> associated with the specified oplet.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Oplet type</dd>
+<dd><code>I</code> - Tuple type of input streams</dd>
+<dd><code>O</code> - Tuple type of output streams</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>oplet</code> - the oplet</dd>
+<dd><code>inputs</code> - the invocation's inputs</dd>
+<dd><code>outputs</code> - the invocation's outputs</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new invocation for the given oplet</dd>
+</dl>
+</li>
+</ul>
+<a name="initialize--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize()</pre>
+<div class="block">Initializes the invocations.</div>
+</li>
+</ul>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block">Starts all the invocations.</div>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()</pre>
+<div class="block">Shuts down the user scheduler and thread factory, close all 
+ invocations, then shutdown the control scheduler.</div>
+</li>
+</ul>
+<a name="hasActiveTasks--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>hasActiveTasks</h4>
+<pre>public&nbsp;boolean&nbsp;hasActiveTasks()</pre>
+<div class="block">Check whether there are user tasks still active.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if at least a user task is still active.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastError</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;getLastError()</pre>
+</li>
+</ul>
+<a name="createJob-org.apache.edgent.graph.Graph-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>createJob</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;createJob(<a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobName)</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Executable.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/Executable.html" target="_top">Frames</a></li>
+<li><a href="Executable.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/Invocation.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/Invocation.html
new file mode 100644
index 0000000..13967b5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/Invocation.html
@@ -0,0 +1,573 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Invocation (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Invocation (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Invocation.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/Invocation.html" target="_top">Frames</a></li>
+<li><a href="Invocation.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.runtime.etiao</div>
+<h2 title="Class Invocation" class="title">Class Invocation&lt;T extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.Invocation&lt;T,I,O&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Oplet type.</dd>
+<dd><code>I</code> - Data container type for input tuples.</dd>
+<dd><code>O</code> - Data container type for output tuples.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Invocation&lt;T extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></pre>
+<div class="block">An <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a> invocation in the context of the 
+ <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">ETIAO</a> runtime.</div>
+</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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#ID_PREFIX">ID_PREFIX</a></span></code>
+<div class="block">Prefix used by oplet unique identifiers.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#Invocation-java.lang.String-T-int-int-">Invocation</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+          <a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">T</a>&nbsp;oplet,
+          int&nbsp;inputCount,
+          int&nbsp;outputCount)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#addOutput--">addOutput</a></span>()</code>
+<div class="block">Adds a new output.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#close--">close</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#disconnect-int-">disconnect</a></span>(int&nbsp;port)</code>
+<div class="block">Disconnects the specified port by connecting to a no-op <code>Consumer</code> implementation.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#getId--">getId</a></span>()</code>
+<div class="block">Returns the unique identifier associated with this <code>Invocation</code>.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#getInputs--">getInputs</a></span>()</code>
+<div class="block">Returns the list of input stream forwarders for this invocation.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#getOplet--">getOplet</a></span>()</code>
+<div class="block">Returns the oplet associated with this <code>Invocation</code>.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#getOutputCount--">getOutputCount</a></span>()</code>
+<div class="block">Returns the number of outputs for this invocation.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#initialize-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+          <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services)</code>
+<div class="block">Initialize the invocation.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#setContext-int-org.apache.edgent.oplet.OutputPortContext-">setContext</a></span>(int&nbsp;port,
+          <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&nbsp;context)</code>
+<div class="block">Set the specified output port's context.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#setTarget-int-org.apache.edgent.function.Consumer-">setTarget</a></span>(int&nbsp;port,
+         <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">O</a>&gt;&nbsp;target)</code>
+<div class="block">Disconnects the specified port and reconnects it to the specified target.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#start--">start</a></span>()</code>
+<div class="block">Start the oplet.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html#toString--">toString</a></span>()</code>
+<div class="block">For debug.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="ID_PREFIX">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ID_PREFIX</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ID_PREFIX</pre>
+<div class="block">Prefix used by oplet unique identifiers.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.runtime.etiao.Invocation.ID_PREFIX">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="Invocation-java.lang.String-org.apache.edgent.oplet.Oplet-int-int-">
+<!--   -->
+</a><a name="Invocation-java.lang.String-T-int-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Invocation</h4>
+<pre>protected&nbsp;Invocation(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                     <a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">T</a>&nbsp;oplet,
+                     int&nbsp;inputCount,
+                     int&nbsp;outputCount)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
+<div class="block">Returns the unique identifier associated with this <code>Invocation</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unique identifier</dd>
+</dl>
+</li>
+</ul>
+<a name="getOplet--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOplet</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">T</a>&nbsp;getOplet()</pre>
+<div class="block">Returns the oplet associated with this <code>Invocation</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the oplet associated with this invocation</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputCount</h4>
+<pre>public&nbsp;int&nbsp;getOutputCount()</pre>
+<div class="block">Returns the number of outputs for this invocation.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the number of outputs</dd>
+</dl>
+</li>
+</ul>
+<a name="addOutput--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addOutput</h4>
+<pre>public&nbsp;int&nbsp;addOutput()</pre>
+<div class="block">Adds a new output.  By default, the output is connected to a Consumer 
+ that discards all items passed to it.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the index of the new output</dd>
+</dl>
+</li>
+</ul>
+<a name="disconnect-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>disconnect</h4>
+<pre>public&nbsp;void&nbsp;disconnect(int&nbsp;port)</pre>
+<div class="block">Disconnects the specified port by connecting to a no-op <code>Consumer</code> implementation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>port</code> - the port index</dd>
+</dl>
+</li>
+</ul>
+<a name="setTarget-int-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTarget</h4>
+<pre>public&nbsp;void&nbsp;setTarget(int&nbsp;port,
+                      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">O</a>&gt;&nbsp;target)</pre>
+<div class="block">Disconnects the specified port and reconnects it to the specified target.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>port</code> - index of the port which is reconnected</dd>
+<dd><code>target</code> - target the port gets connected to</dd>
+</dl>
+</li>
+</ul>
+<a name="setContext-int-org.apache.edgent.oplet.OutputPortContext-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setContext</h4>
+<pre>public&nbsp;void&nbsp;setContext(int&nbsp;port,
+                       <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&nbsp;context)</pre>
+<div class="block">Set the specified output port's context.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>port</code> - index of the output port</dd>
+<dd><code>context</code> - the new <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet"><code>OutputPortContext</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="getInputs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputs</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="type parameter in Invocation">I</a>&gt;&gt;&nbsp;getInputs()</pre>
+<div class="block">Returns the list of input stream forwarders for this invocation.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the list</dd>
+</dl>
+</li>
+</ul>
+<a name="initialize-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+                       <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services)</pre>
+<div class="block">Initialize the invocation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>job</code> - the context of the current job</dd>
+<dd><code>services</code> - service provider for this invocation</dd>
+</dl>
+</li>
+</ul>
+<a name="start--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>start</h4>
+<pre>public&nbsp;void&nbsp;start()</pre>
+<div class="block">Start the oplet. Oplets must not submit any tuples not derived from
+ input tuples until this method is called.</div>
+</li>
+</ul>
+<a name="close--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>close</h4>
+<pre>public&nbsp;void&nbsp;close()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/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="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<div class="block">For debug. Contents subject to change.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Invocation.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/Invocation.html" target="_top">Frames</a></li>
+<li><a href="Invocation.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/InvocationContext.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/InvocationContext.html
new file mode 100644
index 0000000..29569e8
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/InvocationContext.html
@@ -0,0 +1,411 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>InvocationContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="InvocationContext (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/InvocationContext.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/InvocationContext.html" target="_top">Frames</a></li>
+<li><a href="InvocationContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao</div>
+<h2 title="Class InvocationContext" class="title">Class InvocationContext&lt;I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao.AbstractContext</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.InvocationContext&lt;I,O&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>I</code> - Data container type for input tuples.</dd>
+<dd><code>O</code> - Data container type for output tuples.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>, <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;I,O&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">InvocationContext&lt;I,O&gt;</span>
+extends <a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a>&lt;I,O&gt;</pre>
+<div class="block">Context information for the <code>Oplet</code>'s execution context.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">InvocationContext</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                 <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+                 <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
+                 int&nbsp;inputCount,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</code>
+<div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getId--">getId</a></span>()</code>
+<div class="block">Get the unique identifier (within the running job)
+ for this oplet.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getInputCount--">getInputCount</a></span>()</code>
+<div class="block">Get the number of connected inputs to this oplet.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputContext--">getOutputContext</a></span>()</code>
+<div class="block">Get the oplet's output port context information.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputCount--">getOutputCount</a></span>()</code>
+<div class="block">Get the number of connected outputs to this oplet.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html#getOutputs--">getOutputs</a></span>()</code>
+<div class="block">Get the mechanism to submit tuples on an output port.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.runtime.etiao.AbstractContext">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a></h3>
+<code><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#getJobContext--">getJobContext</a>, <a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#getService-java.lang.Class-">getService</a>, <a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html#uniquify-java.lang.String-">uniquify</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="InvocationContext-java.lang.String-org.apache.edgent.oplet.JobContext-org.apache.edgent.execution.services.RuntimeServices-int-java.util.List-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>InvocationContext</h4>
+<pre>public&nbsp;InvocationContext(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                         <a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>&nbsp;job,
+                         <a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&nbsp;services,
+                         int&nbsp;inputCount,
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;outputs,
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;outputContext)</pre>
+<div class="block">Creates an <code>InvocationContext</code> with the specified parameters.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>id</code> - the oplet's unique identifier</dd>
+<dd><code>job</code> - the current job's context</dd>
+<dd><code>services</code> - service provider for the current job</dd>
+<dd><code>inputCount</code> - number of oplet's inputs</dd>
+<dd><code>outputs</code> - list of oplet's outputs</dd>
+<dd><code>outputContext</code> - list of oplet's output port context info</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getId--">OpletContext</a></code></span></div>
+<div class="block">Get the unique identifier (within the running job)
+ for this oplet.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unique identifier for this oplet</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputs</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;? extends <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="type parameter in InvocationContext">O</a>&gt;&gt;&nbsp;getOutputs()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputs--">OpletContext</a></code></span></div>
+<div class="block">Get the mechanism to submit tuples on an output port.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of consumers</dd>
+</dl>
+</li>
+</ul>
+<a name="getInputCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInputCount</h4>
+<pre>public&nbsp;int&nbsp;getInputCount()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getInputCount--">OpletContext</a></code></span></div>
+<div class="block">Get the number of connected inputs to this oplet.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>number of connected inputs to this oplet.</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOutputCount</h4>
+<pre>public&nbsp;int&nbsp;getOutputCount()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputCount--">OpletContext</a></code></span></div>
+<div class="block">Get the number of connected outputs to this oplet.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>number of connected outputs to this oplet.</dd>
+</dl>
+</li>
+</ul>
+<a name="getOutputContext--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getOutputContext</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet">OutputPortContext</a>&gt;&nbsp;getOutputContext()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/OpletContext.html#getOutputContext--">OpletContext</a></code></span></div>
+<div class="block">Get the oplet's output port context information.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of <a href="../../../../../org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet"><code>OutputPortContext</code></a>, one for each output port.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/InvocationContext.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/InvocationContext.html" target="_top">Frames</a></li>
+<li><a href="InvocationContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/SettableForwarder.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/SettableForwarder.html
new file mode 100644
index 0000000..43c0c13
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/SettableForwarder.html
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SettableForwarder (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="SettableForwarder (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SettableForwarder.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/SettableForwarder.html" target="_top">Frames</a></li>
+<li><a href="SettableForwarder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao</div>
+<h2 title="Class SettableForwarder" class="title">Class SettableForwarder&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.SettableForwarder&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of data on the stream.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">SettableForwarder&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</pre>
+<div class="block">A forwarding Streamer whose destination
+ can be changed.
+ External synchronization or happens-before
+ guarantees must be provided by the object
+ owning an instance of <code>SettableForwarder</code>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.runtime.etiao.SettableForwarder">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html#SettableForwarder--">SettableForwarder</a></span>()</code>
+<div class="block">Create with the destination set to <a href="../../../../../org/apache/edgent/function/Functions.html#discard--"><code>Functions.discard()</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html#SettableForwarder-org.apache.edgent.function.Consumer-">SettableForwarder</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&gt;&nbsp;destination)</code>
+<div class="block">Create with the specified destination.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html#accept-T-">accept</a></span>(<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&nbsp;item)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html#getDestination--">getDestination</a></span>()</code>
+<div class="block">Get the destination.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html#setDestination-org.apache.edgent.function.Consumer-">setDestination</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&gt;&nbsp;destination)</code>
+<div class="block">Change the destination.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="SettableForwarder--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SettableForwarder</h4>
+<pre>public&nbsp;SettableForwarder()</pre>
+<div class="block">Create with the destination set to <a href="../../../../../org/apache/edgent/function/Functions.html#discard--"><code>Functions.discard()</code></a>.</div>
+</li>
+</ul>
+<a name="SettableForwarder-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SettableForwarder</h4>
+<pre>public&nbsp;SettableForwarder(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&gt;&nbsp;destination)</pre>
+<div class="block">Create with the specified destination.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>destination</code> - Stream destination.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&nbsp;item)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-">accept</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>item</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="setDestination-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setDestination</h4>
+<pre>public&nbsp;void&nbsp;setDestination(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&gt;&nbsp;destination)</pre>
+<div class="block">Change the destination.
+ No synchronization is taken.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>destination</code> - Stream destination.</dd>
+</dl>
+</li>
+</ul>
+<a name="getDestination--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getDestination</h4>
+<pre>public final&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="type parameter in SettableForwarder">T</a>&gt;&nbsp;getDestination()</pre>
+<div class="block">Get the destination.
+ No synchronization is taken.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the destination</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/SettableForwarder.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/SettableForwarder.html" target="_top">Frames</a></li>
+<li><a href="SettableForwarder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html
new file mode 100644
index 0000000..69a0b7c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html
@@ -0,0 +1,322 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ThreadFactoryTracker (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ThreadFactoryTracker (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ThreadFactoryTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" target="_top">Frames</a></li>
+<li><a href="ThreadFactoryTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao</div>
+<h2 title="Class ThreadFactoryTracker" class="title">Class ThreadFactoryTracker</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.ThreadFactoryTracker</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ThreadFactoryTracker</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a></pre>
+<div class="block">Tracks threads created for executing user tasks.
+ <p>
+ All user threads are interrupted when the tracker is shutdown.
+ Runnable implementations (see <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><code>Source</code></a>) must exit the task 
+ if the current thread is interrupted. A handler which notifies the 
+ <a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao"><code>Executable</code></a> is invoked when a user thread abruptly terminates due 
+ to an uncaught exception.</p>
+ <p>
+ If no <code>ThreadFactory</code> is provided, then this object uses the
+ factory returned by <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executors.html?is-external=true#defaultThreadFactory--" title="class or interface in java.util.concurrent"><code>Executors.defaultThreadFactory()</code></a>.</p></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html#hasActiveNonDaemonThreads--">hasActiveNonDaemonThreads</a></span>()</code>
+<div class="block">Check to see if there are non daemon user threads that have not yet 
+ completed.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html#newThread-java.lang.Runnable-">newThread</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;r)</code>
+<div class="block">Return a thread.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html#shutdown--">shutdown</a></span>()</code>
+<div class="block">This initiates an orderly shutdown in which no new tasks will be 
+ accepted but previously submitted tasks continue to be executed.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html#shutdownNow--">shutdownNow</a></span>()</code>
+<div class="block">Interrupts all user treads and briefly waits for each thread to finish
+ execution.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="newThread-java.lang.Runnable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newThread</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a>&nbsp;newThread(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;r)</pre>
+<div class="block">Return a thread.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true#newThread-java.lang.Runnable-" title="class or interface in java.util.concurrent">newThread</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="shutdown--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdown</h4>
+<pre>public&nbsp;void&nbsp;shutdown()</pre>
+<div class="block">This initiates an orderly shutdown in which no new tasks will be 
+ accepted but previously submitted tasks continue to be executed.</div>
+</li>
+</ul>
+<a name="shutdownNow--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>shutdownNow</h4>
+<pre>public&nbsp;void&nbsp;shutdownNow()</pre>
+<div class="block">Interrupts all user treads and briefly waits for each thread to finish
+ execution.
+ 
+ User tasks must catch <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang"><code>InterruptedException</code></a> and exit the task.</div>
+</li>
+</ul>
+<a name="hasActiveNonDaemonThreads--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hasActiveNonDaemonThreads</h4>
+<pre>public&nbsp;boolean&nbsp;hasActiveNonDaemonThreads()</pre>
+<div class="block">Check to see if there are non daemon user threads that have not yet 
+ completed.  This includes non-daemon threads which have been created 
+ but are not running yet.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> if there are active non daemon threads, false otherwise.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ThreadFactoryTracker.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" target="_top">Frames</a></li>
+<li><a href="ThreadFactoryTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html
new file mode 100644
index 0000000..f602371
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html
@@ -0,0 +1,405 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TrackingScheduledExecutor (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TrackingScheduledExecutor (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TrackingScheduledExecutor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" target="_top">Frames</a></li>
+<li><a href="TrackingScheduledExecutor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.util.concurrent.ThreadPoolExecutor">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao</div>
+<h2 title="Class TrackingScheduledExecutor" class="title">Class TrackingScheduledExecutor</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">java.util.concurrent.AbstractExecutorService</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">java.util.concurrent.ThreadPoolExecutor</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">java.util.concurrent.ScheduledThreadPoolExecutor</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.TrackingScheduledExecutor</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">TrackingScheduledExecutor</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledThreadPoolExecutor</a></pre>
+<div class="block">Extends a <code>ScheduledThreadPoolExecutor</code> with the ability to track 
+ scheduled tasks and cancel them in case a task completes abruptly due to 
+ an exception.
+ 
+ When all the tasks have completed, due to normal termination, or cancelled
+ due to an exception, the executor invokes a completion handler.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.java.util.concurrent.ThreadPoolExecutor">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.AbortPolicy.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor.AbortPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.CallerRunsPolicy.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor.CallerRunsPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.DiscardOldestPolicy.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor.DiscardOldestPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.DiscardPolicy.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor.DiscardPolicy</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#afterExecute-java.lang.Runnable-java.lang.Throwable-">afterExecute</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;r,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</code>
+<div class="block">Invoked by the super class after each task execution.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected &lt;V&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#decorateTask-java.util.concurrent.Callable-java.util.concurrent.RunnableScheduledFuture-">decorateTask</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;&nbsp;c,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;task)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected &lt;V&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#decorateTask-java.lang.Runnable-java.util.concurrent.RunnableScheduledFuture-">decorateTask</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;runnable,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;task)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#hasActiveTasks--">hasActiveTasks</a></span>()</code>
+<div class="block">Determines whether there are tasks which have started and not completed.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">newScheduler</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threadFactory,
+            <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;completionHandler)</code>
+<div class="block">Creates an <code>TrackingScheduledExecutor</code> using the supplied thread 
+ factory and a completion handler.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.concurrent.ScheduledThreadPoolExecutor">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledThreadPoolExecutor</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#execute-java.lang.Runnable-" title="class or interface in java.util.concurrent">execute</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#getContinueExistingPeriodicTasksAfterShutdownPolicy--" title="class or interface in java.util.concurrent">getContinueExistingPeriodicTasksAfterShutdownPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#getExecuteExistingDelayedTasksAfterShutdownPolicy--" title="class or interface in java.util.concurrent">getExecuteExistingDelayedTasksAfterShutdownPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#getQueue--" title="class or interface in java.util.concurrent">getQueue</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#getRemoveOnCancelPolicy--" title="class or interface in java.util.concurrent">getRemoveOnCancelPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#schedule-java.util.concurrent.Callable-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">schedule</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#schedule-java.lang.Runnable-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">schedule</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#scheduleAtFixedRate-java.lang.Runnable-long-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">scheduleAtFixedRate</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#scheduleWithFixedDelay-java.lang.Runnable-long-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">scheduleWithFixedDelay</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#setContinueExistingPeriodicTasksAfterShutdownPolicy-boolean-" title="class or interface in java.util.concurrent">setContinueExistingPeriodicTasksAfterShutdownPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#setExecuteExistingDelayedTasksAfterShutdownPolicy-boolean-" title="class or interface in java.util.concurrent">setExecuteExistingDelayedTasksAfterShutdownPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#setRemoveOnCancelPolicy-boolean-" title="class or interface in java.util.concurrent">setRemoveOnCancelPolicy</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#shutdown--" title="class or interface in java.util.concurrent">shutdown</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#shutdownNow--" title="class or interface in java.util.concurrent">shutdownNow</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#submit-java.util.concurrent.Callable-" title="class or interface in java.util.concurrent">submit</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#submit-java.lang.Runnable-" title="class or interface in java.util.concurrent">submit</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#submit-java.lang.Runnable-T-" title="class or interface in java.util.concurrent">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.concurrent.ThreadPoolExecutor">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#allowCoreThreadTimeOut-boolean-" title="class or interface in java.util.concurrent">allowCoreThreadTimeOut</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#allowsCoreThreadTimeOut--" title="class or interface in java.util.concurrent">allowsCoreThreadTimeOut</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#awaitTermination-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">awaitTermination</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#beforeExecute-java.lang.Thread-java.lang.Runnable-" title="class or interface in java.util.concurrent">beforeExecute</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#finalize--" title="class or interface in java.util.concurrent">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getActiveCount--" title="class or interface in java.util.concurrent">getActiveCount</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getCompletedTaskCount--" title="class or interface in java.util.concurrent">getCompletedTaskCount</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getCorePoolSize--" title="class or interface in java.util.concurrent">getCorePoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getKeepAliveTime-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">getKeepAliveTime</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getLargestPoolSize--" title="class or interface in java.util.concurrent">getLargestPoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getMaximumPoolSize--" title="class or interface in java.util.concurrent">getMaximumPoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getPoolSize--" title="class or interface in java.util.concurrent">getPoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getRejectedExecutionHandler--" title="class or interface in java.util.concurrent">getRejectedExecutionHandler</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getTaskCount--" title="class or interface in java.util.concurrent">getTaskCount</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#getThreadFactory--" title="class or interface in java.util.concurrent">getThreadFactory</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#isShutdown--" title="class or interface in java.util.concurrent">isShutdown</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#isTerminated--" title="class or interface in java.util.concurrent">isTerminated</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#isTerminating--" title="class or interface in java.util.concurrent">isTerminating</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#prestartAllCoreThreads--" title="class or interface in java.util.concurrent">prestartAllCoreThreads</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#prestartCoreThread--" title="class or interface in java.util.concurrent">prestartCoreThread</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#purge--" title="class or interface in java.util.concurrent">purge</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#remove-java.lang.Runnable-" title="class or interface in java.util.concurrent">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#setCorePoolSize-int-" title="class or interface in java.util.concurrent">setCorePoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#setKeepAliveTime-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">setKeepAliveTime</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#setMaximumPoolSize-int-" title="class or interface in java.util.concurrent">setMaximumPoolSize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#setRejectedExecutionHandler-java.util.concurrent.RejectedExecutionHandler-" title="class or interface in java.util.concurrent">setRejectedExecutionHandler</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#setThreadFactory-java.util.concurrent.ThreadFactory-" title="class or interface in java.util.concurrent">setThreadFactory</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#terminated--" title="class or interface in java.util.concurrent">terminated</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#toString--" title="class or interface in java.util.concurrent">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.concurrent.AbstractExecutorService">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">AbstractExecutorService</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#invokeAll-java.util.Collection-" title="class or interface in java.util.concurrent">invokeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#invokeAll-java.util.Collection-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">invokeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#invokeAny-java.util.Collection-" title="class or interface in java.util.concurrent">invokeAny</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#invokeAny-java.util.Collection-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">invokeAny</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#newTaskFor-java.util.concurrent.Callable-" title="class or interface in java.util.concurrent">newTaskFor</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true#newTaskFor-java.lang.Runnable-T-" title="class or interface in java.util.concurrent">newTaskFor</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.concurrent.ExecutorService">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#awaitTermination-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">awaitTermination</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#invokeAll-java.util.Collection-" title="class or interface in java.util.concurrent">invokeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#invokeAll-java.util.Collection-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">invokeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#invokeAny-java.util.Collection-" title="class or interface in java.util.concurrent">invokeAny</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#invokeAny-java.util.Collection-long-java.util.concurrent.TimeUnit-" title="class or interface in java.util.concurrent">invokeAny</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#isShutdown--" title="class or interface in java.util.concurrent">isShutdown</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true#isTerminated--" title="class or interface in java.util.concurrent">isTerminated</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newScheduler</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a>&nbsp;newScheduler(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threadFactory,
+                                                     <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;completionHandler)</pre>
+<div class="block">Creates an <code>TrackingScheduledExecutor</code> using the supplied thread 
+ factory and a completion handler.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>threadFactory</code> - the thread factory to use</dd>
+<dd><code>completionHandler</code> - handler invoked when all task have completed, 
+      due to normal termination, exception, or cancellation.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a new (@code TrackingScheduledExecutor) instance.</dd>
+</dl>
+</li>
+</ul>
+<a name="afterExecute-java.lang.Runnable-java.lang.Throwable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>afterExecute</h4>
+<pre>protected&nbsp;void&nbsp;afterExecute(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;r,
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</pre>
+<div class="block">Invoked by the super class after each task execution.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true#afterExecute-java.lang.Runnable-java.lang.Throwable-" title="class or interface in java.util.concurrent">afterExecute</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="decorateTask-java.lang.Runnable-java.util.concurrent.RunnableScheduledFuture-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decorateTask</h4>
+<pre>protected&nbsp;&lt;V&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;decorateTask(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;runnable,
+                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;task)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#decorateTask-java.lang.Runnable-java.util.concurrent.RunnableScheduledFuture-" title="class or interface in java.util.concurrent">decorateTask</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledThreadPoolExecutor</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="decorateTask-java.util.concurrent.Callable-java.util.concurrent.RunnableScheduledFuture-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>decorateTask</h4>
+<pre>protected&nbsp;&lt;V&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;decorateTask(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;&nbsp;c,
+                                                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/RunnableScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">RunnableScheduledFuture</a>&lt;V&gt;&nbsp;task)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true#decorateTask-java.util.concurrent.Callable-java.util.concurrent.RunnableScheduledFuture-" title="class or interface in java.util.concurrent">decorateTask</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledThreadPoolExecutor</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="hasActiveTasks--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hasActiveTasks</h4>
+<pre>public&nbsp;boolean&nbsp;hasActiveTasks()</pre>
+<div class="block">Determines whether there are tasks which have started and not completed.
+ 
+ As a side effect, this method removes all tasks which are done but are
+ still in the tracking list.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>true</code> is active tasks exist.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TrackingScheduledExecutor.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" target="_top">Frames</a></li>
+<li><a href="TrackingScheduledExecutor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.classes.inherited.from.class.java.util.concurrent.ThreadPoolExecutor">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/AbstractContext.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/AbstractContext.html
new file mode 100644
index 0000000..aa74b5e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/AbstractContext.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.AbstractContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.AbstractContext (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/AbstractContext.html" target="_top">Frames</a></li>
+<li><a href="AbstractContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.AbstractContext" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.AbstractContext</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a>&lt;I,O&gt;</span></code>
+<div class="block">Context information for the <code>Oplet</code>'s execution context.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/AbstractContext.html" target="_top">Frames</a></li>
+<li><a href="AbstractContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/EtiaoJob.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/EtiaoJob.html
new file mode 100644
index 0000000..a8ae76a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/EtiaoJob.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.EtiaoJob (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.EtiaoJob (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/EtiaoJob.html" target="_top">Frames</a></li>
+<li><a href="EtiaoJob.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.EtiaoJob" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.EtiaoJob</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a> with parameters of type <a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</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="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EtiaoJobBean.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#registerControl-org.apache.edgent.execution.services.ControlService-org.apache.edgent.runtime.etiao.EtiaoJob-">registerControl</a></span>(<a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;cs,
+               <a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a>&nbsp;job)</code>
+<div class="block">Factory method which creates an <code>EtiaoJobBean</code> instance to
+ control the specified <code>EtiaoJob</code> and registers it with the 
+ specified <code>ControlService</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/EtiaoJob.html" target="_top">Frames</a></li>
+<li><a href="EtiaoJob.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/Executable.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/Executable.html
new file mode 100644
index 0000000..5f6484f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/Executable.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.Executable (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.Executable (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/Executable.html" target="_top">Frames</a></li>
+<li><a href="Executable.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.Executable" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.Executable</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> that return <a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DirectGraph.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#executable--">executable</a></span>()</code>
+<div class="block">Returns the <code>Executable</code> running this graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/Executable.html" target="_top">Frames</a></li>
+<li><a href="Executable.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/Invocation.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/Invocation.html
new file mode 100644
index 0000000..35d9878
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/Invocation.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.Invocation (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.Invocation (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/Invocation.html" target="_top">Frames</a></li>
+<li><a href="Invocation.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.Invocation" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.Invocation</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that return <a href="../../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</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>&lt;T extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;<br><a href="../../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a>&lt;T,I,O&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Executable.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html#addOpletInvocation-T-int-int-">addOpletInvocation</a></span>(T&nbsp;oplet,
+                  int&nbsp;inputs,
+                  int&nbsp;outputs)</code>
+<div class="block">Creates a new <code>Invocation</code> associated with the specified oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/Invocation.html" target="_top">Frames</a></li>
+<li><a href="Invocation.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/InvocationContext.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/InvocationContext.html
new file mode 100644
index 0000000..8ace00f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/InvocationContext.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.InvocationContext (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.InvocationContext (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/InvocationContext.html" target="_top">Frames</a></li>
+<li><a href="InvocationContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.InvocationContext" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.InvocationContext</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.runtime.etiao.InvocationContext</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/InvocationContext.html" target="_top">Frames</a></li>
+<li><a href="InvocationContext.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/SettableForwarder.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/SettableForwarder.html
new file mode 100644
index 0000000..7793054
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/SettableForwarder.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.SettableForwarder (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.SettableForwarder (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/SettableForwarder.html" target="_top">Frames</a></li>
+<li><a href="SettableForwarder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.SettableForwarder" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.SettableForwarder</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.runtime.etiao.SettableForwarder</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/SettableForwarder.html" target="_top">Frames</a></li>
+<li><a href="SettableForwarder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/ThreadFactoryTracker.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/ThreadFactoryTracker.html
new file mode 100644
index 0000000..cb61ffc
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/ThreadFactoryTracker.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.ThreadFactoryTracker (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.ThreadFactoryTracker (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/ThreadFactoryTracker.html" target="_top">Frames</a></li>
+<li><a href="ThreadFactoryTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.ThreadFactoryTracker" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.ThreadFactoryTracker</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.runtime.etiao.ThreadFactoryTracker</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/ThreadFactoryTracker.html" target="_top">Frames</a></li>
+<li><a href="ThreadFactoryTracker.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/TrackingScheduledExecutor.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/TrackingScheduledExecutor.html
new file mode 100644
index 0000000..2b5bbed
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/class-use/TrackingScheduledExecutor.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.TrackingScheduledExecutor (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.TrackingScheduledExecutor (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/TrackingScheduledExecutor.html" target="_top">Frames</a></li>
+<li><a href="TrackingScheduledExecutor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.TrackingScheduledExecutor" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.TrackingScheduledExecutor</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a> in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that return <a href="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</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="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TrackingScheduledExecutor.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html#newScheduler-java.util.concurrent.ThreadFactory-org.apache.edgent.function.BiConsumer-">newScheduler</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>&nbsp;threadFactory,
+            <a href="../../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&gt;&nbsp;completionHandler)</code>
+<div class="block">Creates an <code>TrackingScheduledExecutor</code> using the supplied thread 
+ factory and a completion handler.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/class-use/TrackingScheduledExecutor.html" target="_top">Frames</a></li>
+<li><a href="TrackingScheduledExecutor.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/DirectGraph.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/DirectGraph.html
new file mode 100644
index 0000000..a75c08d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/DirectGraph.html
@@ -0,0 +1,388 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DirectGraph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DirectGraph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectGraph.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/DirectGraph.html" target="_top">Frames</a></li>
+<li><a href="DirectGraph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao.graph</div>
+<h2 title="Class DirectGraph" class="title">Class DirectGraph</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">org.apache.edgent.graph.spi.AbstractGraph</a>&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.graph.DirectGraph</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">DirectGraph</span>
+extends <a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a>&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a>&gt;</pre>
+<div class="block"><code>DirectGraph</code> is a <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> that
+ is executed in the current virtual machine.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#DirectGraph-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">DirectGraph</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
+           <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;container)</code>
+<div class="block">Creates a new <code>DirectGraph</code> instance underlying the specified 
+ topology.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#executable--">executable</a></span>()</code>
+<div class="block">Returns the <code>Executable</code> running this graph.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getEdges--">getEdges</a></span>()</code>
+<div class="block">Return an unmodifiable view of all edges in this graph.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#getVertices--">getVertices</a></span>()</code>
+<div class="block">Return an unmodifiable view of all vertices in this graph.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>&lt;OP extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a>&lt;OP,C,P&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#insert-OP-int-int-">insert</a></span>(OP&nbsp;oplet,
+      int&nbsp;inputs,
+      int&nbsp;outputs)</code>
+<div class="block">Add a new unconnected <code>Vertex</code> into the graph.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.graph.spi.AbstractGraph">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.graph.spi.<a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi">AbstractGraph</a></h3>
+<code><a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-">peekAll</a>, <a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#pipe-org.apache.edgent.graph.Connector-N-">pipe</a>, <a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html#source-N-">source</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="DirectGraph-java.lang.String-org.apache.edgent.execution.services.ServiceContainer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DirectGraph</h4>
+<pre>public&nbsp;DirectGraph(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topologyName,
+                   <a href="../../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;container)</pre>
+<div class="block">Creates a new <code>DirectGraph</code> instance underlying the specified 
+ topology.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topologyName</code> - name of the topology</dd>
+<dd><code>container</code> - service container</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="executable--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>executable</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a>&nbsp;executable()</pre>
+<div class="block">Returns the <code>Executable</code> running this graph.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the executable</dd>
+</dl>
+</li>
+</ul>
+<a name="insert-org.apache.edgent.oplet.Oplet-int-int-">
+<!--   -->
+</a><a name="insert-OP-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>insert</h4>
+<pre>public&nbsp;&lt;OP extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;&nbsp;<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a>&lt;OP,C,P&gt;&nbsp;insert(OP&nbsp;oplet,
+                                                                   int&nbsp;inputs,
+                                                                   int&nbsp;outputs)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/graph/Graph.html#insert-N-int-int-">Graph</a></code></span></div>
+<div class="block">Add a new unconnected <code>Vertex</code> into the graph.
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>OP</code> - an Oplet type</dd>
+<dd><code>C</code> - tuple type of input streams</dd>
+<dd><code>P</code> - tuple type of output streams</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>oplet</code> - the oplet to associate with the new vertex</dd>
+<dd><code>inputs</code> - the number of input connectors for the new vertex</dd>
+<dd><code>outputs</code> - the number of output connectors for the new vertex</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the newly created <code>Vertex</code> for the oplet</dd>
+</dl>
+</li>
+</ul>
+<a name="getVertices--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVertices</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&gt;&nbsp;getVertices()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/graph/Graph.html#getVertices--">Graph</a></code></span></div>
+<div class="block">Return an unmodifiable view of all vertices in this graph.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unmodifiable view of all vertices in this graph</dd>
+</dl>
+</li>
+</ul>
+<a name="getEdges--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getEdges</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&gt;&nbsp;getEdges()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/graph/Graph.html#getEdges--">Graph</a></code></span></div>
+<div class="block">Return an unmodifiable view of all edges in this graph.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the collection</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectGraph.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/DirectGraph.html" target="_top">Frames</a></li>
+<li><a href="DirectGraph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html
new file mode 100644
index 0000000..60bbb07
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html
@@ -0,0 +1,352 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ExecutableVertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ExecutableVertex (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ExecutableVertex.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" target="_top">Frames</a></li>
+<li><a href="ExecutableVertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao.graph</div>
+<h2 title="Class ExecutableVertex" class="title">Class ExecutableVertex&lt;N extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">org.apache.edgent.graph.spi.AbstractVertex</a>&lt;N,C,P&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.graph.ExecutableVertex&lt;N,C,P&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;N,C,P&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ExecutableVertex&lt;N extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;</span>
+extends <a href="../../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi">AbstractVertex</a>&lt;N,C,P&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>org.apache.edgent.runtime.etiao.graph.EtiaoConnector&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#addOutput--">addOutput</a></span>()</code>
+<div class="block">Add an output port to the vertex.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.edgent.runtime.etiao.graph.EtiaoConnector&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#getConnectors--">getConnectors</a></span>()</code>
+<div class="block">Get the vertice's collection of output connectors.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">N</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#getInstance--">getInstance</a></span>()</code>
+<div class="block">Get the instance of the oplet that will be executed.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#getInvocationId--">getInvocationId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#graph--">graph</a></span>()</code>
+<div class="block">Get the vertice's <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#toString--">toString</a></span>()</code>
+<div class="block">For debug.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="graph--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>graph</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a>&nbsp;graph()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/graph/Vertex.html#graph--">Vertex</a></code></span></div>
+<div class="block">Get the vertice's <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the graph</dd>
+</dl>
+</li>
+</ul>
+<a name="getInstance--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInstance</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">N</a>&nbsp;getInstance()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/graph/Vertex.html#getInstance--">Vertex</a></code></span></div>
+<div class="block">Get the instance of the oplet that will be executed.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the oplet</dd>
+</dl>
+</li>
+</ul>
+<a name="addOutput--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addOutput</h4>
+<pre>public&nbsp;org.apache.edgent.runtime.etiao.graph.EtiaoConnector&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt;&nbsp;addOutput()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/graph/Vertex.html#addOutput--">Vertex</a></code></span></div>
+<div class="block">Add an output port to the vertex.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>Connector</code> representing the output port.</dd>
+</dl>
+</li>
+</ul>
+<a name="getConnectors--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getConnectors</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.edgent.runtime.etiao.graph.EtiaoConnector&lt;<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="type parameter in ExecutableVertex">P</a>&gt;&gt;&nbsp;getConnectors()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/graph/Vertex.html#getConnectors--">Vertex</a></code></span></div>
+<div class="block">Get the vertice's collection of output connectors.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an immutable collection of the output connectors.</dd>
+</dl>
+</li>
+</ul>
+<a name="getInvocationId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInvocationId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getInvocationId()</pre>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<div class="block">For debug. Contents subject to change.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ExecutableVertex.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" target="_top">Frames</a></li>
+<li><a href="ExecutableVertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/class-use/DirectGraph.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/class-use/DirectGraph.html
new file mode 100644
index 0000000..665b086
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/class-use/DirectGraph.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.DirectGraph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.DirectGraph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/class-use/DirectGraph.html" target="_top">Frames</a></li>
+<li><a href="DirectGraph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.graph.DirectGraph" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.graph.DirectGraph</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a> in <a href="../../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> that return <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EtiaoJob.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html#graph--">graph</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a> in <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> that return <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ExecutableVertex.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html#graph--">graph</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/class-use/DirectGraph.html" target="_top">Frames</a></li>
+<li><a href="DirectGraph.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/class-use/ExecutableVertex.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/class-use/ExecutableVertex.html
new file mode 100644
index 0000000..25e7f78
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/class-use/ExecutableVertex.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.ExecutableVertex (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.ExecutableVertex (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/class-use/ExecutableVertex.html" target="_top">Frames</a></li>
+<li><a href="ExecutableVertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.graph.ExecutableVertex" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.graph.ExecutableVertex</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a> in <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> that return <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</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>&lt;OP extends <a href="../../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;<br><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a>&lt;OP,C,P&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectGraph.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html#insert-OP-int-int-">insert</a></span>(OP&nbsp;oplet,
+      int&nbsp;inputs,
+      int&nbsp;outputs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/class-use/ExecutableVertex.html" target="_top">Frames</a></li>
+<li><a href="ExecutableVertex.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/EdgeType.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/EdgeType.html
new file mode 100644
index 0000000..471ceca
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/EdgeType.html
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>EdgeType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="EdgeType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EdgeType.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" target="_top">Frames</a></li>
+<li><a href="EdgeType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao.graph.model</div>
+<h2 title="Class EdgeType" class="title">Class EdgeType</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.graph.model.EdgeType</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">EdgeType</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Represents an edge between two <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>VertexType</code></a> nodes.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#EdgeType--">EdgeType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#EdgeType-org.apache.edgent.graph.Edge-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">EdgeType</a></span>(<a href="../../../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&nbsp;value,
+        org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getAlias--">getAlias</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getSourceId--">getSourceId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getSourceOutputPort--">getSourceOutputPort</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getTags--">getTags</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getTargetId--">getTargetId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html#getTargetInputPort--">getTargetInputPort</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="EdgeType--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EdgeType</h4>
+<pre>public&nbsp;EdgeType()</pre>
+</li>
+</ul>
+<a name="EdgeType-org.apache.edgent.graph.Edge-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EdgeType</h4>
+<pre>public&nbsp;EdgeType(<a href="../../../../../../../org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>&nbsp;value,
+                org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getSourceId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSourceId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getSourceId()</pre>
+</li>
+</ul>
+<a name="getSourceOutputPort--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSourceOutputPort</h4>
+<pre>public&nbsp;int&nbsp;getSourceOutputPort()</pre>
+</li>
+</ul>
+<a name="getTargetId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTargetId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTargetId()</pre>
+</li>
+</ul>
+<a name="getTargetInputPort--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTargetInputPort</h4>
+<pre>public&nbsp;int&nbsp;getTargetInputPort()</pre>
+</li>
+</ul>
+<a name="getTags--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTags</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
+</li>
+</ul>
+<a name="getAlias--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getAlias</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EdgeType.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" target="_top">Frames</a></li>
+<li><a href="EdgeType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/GraphType.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/GraphType.html
new file mode 100644
index 0000000..3afe84a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/GraphType.html
@@ -0,0 +1,340 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GraphType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="GraphType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/GraphType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/GraphType.html" target="_top">Frames</a></li>
+<li><a href="GraphType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao.graph.model</div>
+<h2 title="Class GraphType" class="title">Class GraphType</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.graph.model.GraphType</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">GraphType</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A generic directed graph of vertices, connectors and edges.
+ <p>
+ The graph consists of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>VertexType</code></a> objects, each having
+ 0 or more input and/or output <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>EdgeType</code></a> objects.
+ <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>EdgeType</code></a> objects connect an output connector to
+ an input connector.
+ <p>
+ A vertex has an associated <a href="../../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#GraphType--">GraphType</a></span>()</code>
+<div class="block">Default constructor of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#GraphType-org.apache.edgent.graph.Graph-">GraphType</a></span>(<a href="../../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph)</code>
+<div class="block">Create an instance of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#GraphType-org.apache.edgent.graph.Graph-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">GraphType</a></span>(<a href="../../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;g,
+         org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</code>
+<div class="block">Create an instance of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a> using the specified 
+ <code>IdMapper</code> to generate unique object identifiers.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#getEdges--">getEdges</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a>&lt;?,?&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#getVertices--">getVertices</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="GraphType-org.apache.edgent.graph.Graph-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>GraphType</h4>
+<pre>public&nbsp;GraphType(<a href="../../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph)</pre>
+<div class="block">Create an instance of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>graph</code> - the associated Graph</dd>
+</dl>
+</li>
+</ul>
+<a name="GraphType-org.apache.edgent.graph.Graph-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>GraphType</h4>
+<pre>public&nbsp;GraphType(<a href="../../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;g,
+                 org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</pre>
+<div class="block">Create an instance of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a> using the specified 
+ <code>IdMapper</code> to generate unique object identifiers.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>g</code> - the associated Graph</dd>
+<dd><code>ids</code> - the id mapper</dd>
+</dl>
+</li>
+</ul>
+<a name="GraphType--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>GraphType</h4>
+<pre>public&nbsp;GraphType()</pre>
+<div class="block">Default constructor of <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>GraphType</code></a>.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getVertices--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getVertices</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a>&lt;?,?&gt;&gt;&nbsp;getVertices()</pre>
+</li>
+</ul>
+<a name="getEdges--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getEdges</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a>&gt;&nbsp;getEdges()</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/GraphType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/GraphType.html" target="_top">Frames</a></li>
+<li><a href="GraphType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/InvocationType.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/InvocationType.html
new file mode 100644
index 0000000..2b62758
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/InvocationType.html
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>InvocationType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="InvocationType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/InvocationType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" target="_top">Frames</a></li>
+<li><a href="InvocationType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao.graph.model</div>
+<h2 title="Class InvocationType" class="title">Class InvocationType&lt;I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.graph.model.InvocationType&lt;I,O&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>I</code> - Data container type for input tuples.</dd>
+<dd><code>O</code> - Data container type for output tuples.</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">InvocationType&lt;I,O&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Generic type for an oplet invocation instance.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html#InvocationType-org.apache.edgent.oplet.Oplet-">InvocationType</a></span>(<a href="../../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="type parameter in InvocationType">I</a>,<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="type parameter in InvocationType">O</a>&gt;&nbsp;value)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html#getClassName--">getClassName</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="InvocationType-org.apache.edgent.oplet.Oplet-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>InvocationType</h4>
+<pre>public&nbsp;InvocationType(<a href="../../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="type parameter in InvocationType">I</a>,<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="type parameter in InvocationType">O</a>&gt;&nbsp;value)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getClassName--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getClassName</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getClassName()</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/InvocationType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" target="_top">Frames</a></li>
+<li><a href="InvocationType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/VertexType.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/VertexType.html
new file mode 100644
index 0000000..9611e54
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/VertexType.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>VertexType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="VertexType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/VertexType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/VertexType.html" target="_top">Frames</a></li>
+<li><a href="VertexType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao.graph.model</div>
+<h2 title="Class VertexType" class="title">Class VertexType&lt;I,O&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.graph.model.VertexType&lt;I,O&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>I</code> - Data type the oplet consumes on its input ports.</dd>
+<dd><code>O</code> - Data type the oplet produces on its output ports.</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">VertexType&lt;I,O&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A <code>VertexType</code> in a graph.
+ <p>
+ A <code>VertexType</code> has an <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>InvocationType</code></a> instance.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html#VertexType--">VertexType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html#VertexType-org.apache.edgent.graph.Vertex-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">VertexType</a></span>(<a href="../../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&nbsp;value,
+          org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html#getId--">getId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">InvocationType</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="type parameter in VertexType">I</a>,<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="type parameter in VertexType">O</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html#getInvocation--">getInvocation</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="VertexType-org.apache.edgent.graph.Vertex-org.apache.edgent.runtime.etiao.graph.model.IdMapper-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>VertexType</h4>
+<pre>public&nbsp;VertexType(<a href="../../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;? extends <a href="../../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;?,?&gt;,?,?&gt;&nbsp;value,
+                  org.apache.edgent.runtime.etiao.graph.model.IdMapper&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;ids)</pre>
+</li>
+</ul>
+<a name="VertexType--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>VertexType</h4>
+<pre>public&nbsp;VertexType()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
+</li>
+</ul>
+<a name="getInvocation--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getInvocation</h4>
+<pre>public&nbsp;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">InvocationType</a>&lt;<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="type parameter in VertexType">I</a>,<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="type parameter in VertexType">O</a>&gt;&nbsp;getInvocation()</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/VertexType.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/VertexType.html" target="_top">Frames</a></li>
+<li><a href="VertexType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/EdgeType.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/EdgeType.html
new file mode 100644
index 0000000..2cf1a11
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/EdgeType.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.EdgeType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.EdgeType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/class-use/EdgeType.html" target="_top">Frames</a></li>
+<li><a href="EdgeType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.EdgeType" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.graph.model.EdgeType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph.model">org.apache.edgent.runtime.etiao.graph.model</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph.model">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a> in <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a> that return types with arguments of type <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GraphType.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#getEdges--">getEdges</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/class-use/EdgeType.html" target="_top">Frames</a></li>
+<li><a href="EdgeType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/GraphType.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/GraphType.html
new file mode 100644
index 0000000..66fa3f4
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/GraphType.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.GraphType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.GraphType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/class-use/GraphType.html" target="_top">Frames</a></li>
+<li><a href="GraphType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.GraphType" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.graph.model.GraphType</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.runtime.etiao.graph.model.GraphType</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/class-use/GraphType.html" target="_top">Frames</a></li>
+<li><a href="GraphType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/InvocationType.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/InvocationType.html
new file mode 100644
index 0000000..4350ff2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/InvocationType.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.InvocationType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.InvocationType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/class-use/InvocationType.html" target="_top">Frames</a></li>
+<li><a href="InvocationType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.InvocationType" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.graph.model.InvocationType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">InvocationType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph.model">org.apache.edgent.runtime.etiao.graph.model</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph.model">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">InvocationType</a> in <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a> that return <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">InvocationType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">InvocationType</a>&lt;<a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="type parameter in VertexType">I</a>,<a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="type parameter in VertexType">O</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">VertexType.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html#getInvocation--">getInvocation</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/class-use/InvocationType.html" target="_top">Frames</a></li>
+<li><a href="InvocationType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/VertexType.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/VertexType.html
new file mode 100644
index 0000000..1a7a8b5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/class-use/VertexType.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.graph.model.VertexType (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.VertexType (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/class-use/VertexType.html" target="_top">Frames</a></li>
+<li><a href="VertexType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.graph.model.VertexType" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.graph.model.VertexType</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph.model">org.apache.edgent.runtime.etiao.graph.model</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph.model">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a> in <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a> that return types with arguments of type <a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a>&lt;?,?&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GraphType.</span><code><span class="memberNameLink"><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html#getVertices--">getVertices</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/class-use/VertexType.html" target="_top">Frames</a></li>
+<li><a href="VertexType.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-frame.html
new file mode 100644
index 0000000..38a33c0
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-frame.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph.model (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html" target="classFrame">org.apache.edgent.runtime.etiao.graph.model</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model" target="classFrame">EdgeType</a></li>
+<li><a href="GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model" target="classFrame">GraphType</a></li>
+<li><a href="InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model" target="classFrame">InvocationType</a></li>
+<li><a href="VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model" target="classFrame">VertexType</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-summary.html
new file mode 100644
index 0000000..1c7c1d2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-summary.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph.model (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.etiao.graph.model (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.runtime.etiao.graph.model</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">EdgeType</a></td>
+<td class="colLast">
+<div class="block">Represents an edge between two <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>VertexType</code></a> nodes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">GraphType</a></td>
+<td class="colLast">
+<div class="block">A generic directed graph of vertices, connectors and edges.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">InvocationType</a>&lt;I,O&gt;</td>
+<td class="colLast">
+<div class="block">Generic type for an oplet invocation instance.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model">VertexType</a>&lt;I,O&gt;</td>
+<td class="colLast">
+<div class="block">A <code>VertexType</code> in a graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-tree.html
new file mode 100644
index 0000000..2417d78
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-tree.html
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph.model Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.etiao.graph.model Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.runtime.etiao.graph.model</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">EdgeType</span></a></li>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">GraphType</span></a></li>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">InvocationType</span></a>&lt;I,O&gt;</li>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">VertexType</span></a>&lt;I,O&gt;</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-use.html
new file mode 100644
index 0000000..1814a14
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/model/package-use.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.etiao.graph.model (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao.graph.model (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.runtime.etiao.graph.model" class="title">Uses of Package<br>org.apache.edgent.runtime.etiao.graph.model</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph.model">org.apache.edgent.runtime.etiao.graph.model</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph.model">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a> used by <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/class-use/EdgeType.html#org.apache.edgent.runtime.etiao.graph.model">EdgeType</a>
+<div class="block">Represents an edge between two <a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><code>VertexType</code></a> nodes.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/class-use/InvocationType.html#org.apache.edgent.runtime.etiao.graph.model">InvocationType</a>
+<div class="block">Generic type for an oplet invocation instance.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../../org/apache/edgent/runtime/etiao/graph/model/class-use/VertexType.html#org.apache.edgent.runtime.etiao.graph.model">VertexType</a>
+<div class="block">A <code>VertexType</code> in a graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/model/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-frame.html
new file mode 100644
index 0000000..99a2ccf
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html" target="classFrame">org.apache.edgent.runtime.etiao.graph</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph" target="classFrame">DirectGraph</a></li>
+<li><a href="ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph" target="classFrame">ExecutableVertex</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-summary.html
new file mode 100644
index 0000000..63a6306
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-summary.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.etiao.graph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.runtime.etiao.graph</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph">DirectGraph</a></td>
+<td class="colLast">
+<div class="block"><code>DirectGraph</code> is a <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> that
+ is executed in the current virtual machine.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a>&lt;N extends <a href="../../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;C,P&gt;,C,P&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-tree.html
new file mode 100644
index 0000000..d6e3308
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-tree.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.etiao.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.runtime.etiao.graph</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.graph.spi.<a href="../../../../../../org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">AbstractGraph</span></a>&lt;G&gt; (implements org.apache.edgent.graph.<a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>)
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">DirectGraph</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.graph.spi.<a href="../../../../../../org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">AbstractVertex</span></a>&lt;OP,I,O&gt; (implements org.apache.edgent.graph.<a href="../../../../../../org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;N,C,P&gt;)
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.<a href="../../../../../../org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">ExecutableVertex</span></a>&lt;N,C,P&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-use.html
new file mode 100644
index 0000000..57314a0
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/graph/package-use.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.etiao.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao.graph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.runtime.etiao.graph" class="title">Uses of Package<br>org.apache.edgent.runtime.etiao.graph</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> used by <a href="../../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/class-use/DirectGraph.html#org.apache.edgent.runtime.etiao">DirectGraph</a>
+<div class="block"><code>DirectGraph</code> is a <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> that
+ is executed in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a> used by <a href="../../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/class-use/DirectGraph.html#org.apache.edgent.runtime.etiao.graph">DirectGraph</a>
+<div class="block"><code>DirectGraph</code> is a <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a> that
+ is executed in the current virtual machine.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/class-use/ExecutableVertex.html#org.apache.edgent.runtime.etiao.graph">ExecutableVertex</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/graph/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html
new file mode 100644
index 0000000..ed7e4d4
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html
@@ -0,0 +1,509 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>EtiaoJobBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="EtiaoJobBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":10,"i10":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EtiaoJobBean.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" target="_top">Frames</a></li>
+<li><a href="EtiaoJobBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.etiao.mbeans</div>
+<h2 title="Class EtiaoJobBean" class="title">Class EtiaoJobBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.etiao.mbeans.EtiaoJobBean</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">EtiaoJobBean</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></pre>
+<div class="block">Implementation of a control interface for the <code>EtiaoJob</code>.</div>
+</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>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.execution.mbeans.JobMXBean">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.execution.mbeans.<a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></h3>
+<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#TYPE">TYPE</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getControlId--">getControlId</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getCurrentState--">getCurrentState</a></span>()</code>
+<div class="block">Retrieves the current state of the job.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getHealth--">getHealth</a></span>()</code>
+<div class="block">Returns the summarized health indicator of the job.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getId--">getId</a></span>()</code>
+<div class="block">Returns the identifier of the job.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getLastError--">getLastError</a></span>()</code>
+<div class="block">Returns the last error message caught by the current job execution.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getName--">getName</a></span>()</code>
+<div class="block">Returns the name of the job.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#getNextState--">getNextState</a></span>()</code>
+<div class="block">Retrieves the next execution state when the job makes a state 
+ transition.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#graphSnapshot--">graphSnapshot</a></span>()</code>
+<div class="block">Takes a current snapshot of the running graph and returns it in JSON format.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#registerControl-org.apache.edgent.execution.services.ControlService-org.apache.edgent.runtime.etiao.EtiaoJob-">registerControl</a></span>(<a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;cs,
+               <a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a>&nbsp;job)</code>
+<div class="block">Factory method which creates an <code>EtiaoJobBean</code> instance to
+ control the specified <code>EtiaoJob</code> and registers it with the 
+ specified <code>ControlService</code>.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></span>(<a href="../../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</code>
+<div class="block">Initiates an execution state change.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#wasRegistered--">wasRegistered</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="registerControl-org.apache.edgent.execution.services.ControlService-org.apache.edgent.runtime.etiao.EtiaoJob-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerControl</h4>
+<pre>public static&nbsp;<a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a>&nbsp;registerControl(<a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;cs,
+                                           <a href="../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a>&nbsp;job)</pre>
+<div class="block">Factory method which creates an <code>EtiaoJobBean</code> instance to
+ control the specified <code>EtiaoJob</code> and registers it with the 
+ specified <code>ControlService</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cs</code> - the control service</dd>
+<dd><code>job</code> - the controlled job</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a registered bean instance</dd>
+</dl>
+</li>
+</ul>
+<a name="getControlId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getControlId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getControlId()</pre>
+</li>
+</ul>
+<a name="wasRegistered--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wasRegistered</h4>
+<pre>public&nbsp;boolean&nbsp;wasRegistered()</pre>
+</li>
+</ul>
+<a name="getId--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getId</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getId--">JobMXBean</a></code></span></div>
+<div class="block">Returns the identifier of the job.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getId--">getId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the job identifier.</dd>
+</dl>
+</li>
+</ul>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getName--">JobMXBean</a></code></span></div>
+<div class="block">Returns the name of the job.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the job name.</dd>
+</dl>
+</li>
+</ul>
+<a name="getCurrentState--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCurrentState</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;getCurrentState()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getCurrentState--">JobMXBean</a></code></span></div>
+<div class="block">Retrieves the current state of the job.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getCurrentState--">getCurrentState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the current state.</dd>
+</dl>
+</li>
+</ul>
+<a name="getNextState--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNextState</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution">Job.State</a>&nbsp;getNextState()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getNextState--">JobMXBean</a></code></span></div>
+<div class="block">Retrieves the next execution state when the job makes a state 
+ transition.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getNextState--">getNextState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the destination state while in a state transition.</dd>
+</dl>
+</li>
+</ul>
+<a name="graphSnapshot--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>graphSnapshot</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;graphSnapshot()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#graphSnapshot--">JobMXBean</a></code></span></div>
+<div class="block">Takes a current snapshot of the running graph and returns it in JSON format.
+ <p>
+ <b>The graph snapshot JSON format</b>
+ <p>
+ The top-level object contains two properties: 
+ <ul>
+ <li><code>vertices</code>: Array of JSON objects representing the graph vertices.</li>
+ <li><code>edges</code>: Array of JSON objects representing the graph edges (an edge joins two vertices).</li>
+ </ul>
+ The vertex object contains the following properties:
+ <ul>
+ <li><code>id</code>: Unique identifier within a graph's JSON representation.</li>
+ <li><code>instance</code>: The oplet instance from the vertex.</li>
+ </ul>
+ The edge object contains the following properties:
+ <ul>
+ <li><code>sourceId</code>: The identifier of the source vertex.</li>
+ <li><code>sourceOutputPort</code>: The identifier of the source oplet output port connected to the edge.</li>
+ <li><code>targetId</code>: The identifier of the target vertex.</li>
+ <li><code>targetInputPort</code>: The identifier of the target oplet input port connected to the edge.</li>
+ </ul></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#graphSnapshot--">graphSnapshot</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a JSON-formatted string representing the running graph.</dd>
+</dl>
+</li>
+</ul>
+<a name="getHealth--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getHealth</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution">Job.Health</a>&nbsp;getHealth()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getHealth--">JobMXBean</a></code></span></div>
+<div class="block">Returns the summarized health indicator of the job.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getHealth--">getHealth</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the summarized Job health.</dd>
+</dl>
+</li>
+</ul>
+<a name="getLastError--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLastError</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLastError()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getLastError--">JobMXBean</a></code></span></div>
+<div class="block">Returns the last error message caught by the current job execution.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#getLastError--">getLastError</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the last error message or an empty string if no error has 
+      been caught.</dd>
+</dl>
+</li>
+</ul>
+<a name="stateChange-org.apache.edgent.execution.Job.Action-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>stateChange</h4>
+<pre>public&nbsp;void&nbsp;stateChange(<a href="../../../../../../org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution">Job.Action</a>&nbsp;action)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#stateChange-org.apache.edgent.execution.Job.Action-">JobMXBean</a></code></span></div>
+<div class="block">Initiates an execution state change.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html#stateChange-org.apache.edgent.execution.Job.Action-">stateChange</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>action</code> - which triggers the state change.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EtiaoJobBean.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" target="_top">Frames</a></li>
+<li><a href="EtiaoJobBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/class-use/EtiaoJobBean.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/class-use/EtiaoJobBean.html
new file mode 100644
index 0000000..b53b7ad
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/class-use/EtiaoJobBean.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.etiao.mbeans.EtiaoJobBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.etiao.mbeans.EtiaoJobBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/mbeans/class-use/EtiaoJobBean.html" target="_top">Frames</a></li>
+<li><a href="EtiaoJobBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.etiao.mbeans.EtiaoJobBean" class="title">Uses of Class<br>org.apache.edgent.runtime.etiao.mbeans.EtiaoJobBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a> in <a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a> that return <a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</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="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></code></td>
+<td class="colLast"><span class="typeNameLabel">EtiaoJobBean.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html#registerControl-org.apache.edgent.execution.services.ControlService-org.apache.edgent.runtime.etiao.EtiaoJob-">registerControl</a></span>(<a href="../../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;cs,
+               <a href="../../../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a>&nbsp;job)</code>
+<div class="block">Factory method which creates an <code>EtiaoJobBean</code> instance to
+ control the specified <code>EtiaoJob</code> and registers it with the 
+ specified <code>ControlService</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/runtime/etiao/mbeans/class-use/EtiaoJobBean.html" target="_top">Frames</a></li>
+<li><a href="EtiaoJobBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-frame.html
new file mode 100644
index 0000000..ad614c9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html" target="classFrame">org.apache.edgent.runtime.etiao.mbeans</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans" target="classFrame">EtiaoJobBean</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-summary.html
new file mode 100644
index 0000000..62323f1
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-summary.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.etiao.mbeans (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jmxcontrol/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/mbeans/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.runtime.etiao.mbeans</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a></td>
+<td class="colLast">
+<div class="block">Implementation of a control interface for the <code>EtiaoJob</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jmxcontrol/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/mbeans/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-tree.html
new file mode 100644
index 0000000..43994cd
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.etiao.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jmxcontrol/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/mbeans/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.runtime.etiao.mbeans</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.mbeans.<a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans"><span class="typeNameLink">EtiaoJobBean</span></a> (implements org.apache.edgent.execution.mbeans.<a href="../../../../../../org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/runtime/etiao/graph/model/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jmxcontrol/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/mbeans/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-use.html
new file mode 100644
index 0000000..43b036d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/mbeans/package-use.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 (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.etiao.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao.mbeans (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/mbeans/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.runtime.etiao.mbeans" class="title">Uses of Package<br>org.apache.edgent.runtime.etiao.mbeans</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a> used by <a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/runtime/etiao/mbeans/class-use/EtiaoJobBean.html#org.apache.edgent.runtime.etiao.mbeans">EtiaoJobBean</a>
+<div class="block">Implementation of a control interface for the <code>EtiaoJob</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/etiao/mbeans/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-frame.html
new file mode 100644
index 0000000..d69dd9e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-frame.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html" target="classFrame">org.apache.edgent.runtime.etiao</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AbstractContext.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">AbstractContext</a></li>
+<li><a href="EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">EtiaoJob</a></li>
+<li><a href="Executable.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">Executable</a></li>
+<li><a href="Invocation.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">Invocation</a></li>
+<li><a href="InvocationContext.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">InvocationContext</a></li>
+<li><a href="SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">SettableForwarder</a></li>
+<li><a href="ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">ThreadFactoryTracker</a></li>
+<li><a href="TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao" target="classFrame">TrackingScheduledExecutor</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-summary.html
new file mode 100644
index 0000000..b57b4e7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-summary.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.etiao (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.runtime.etiao</h1>
+<div class="docSummary">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao">AbstractContext</a>&lt;I,O&gt;</td>
+<td class="colLast">
+<div class="block">Provides a skeletal implementation of the <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><code>OpletContext</code></a>
+ interface.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao">EtiaoJob</a></td>
+<td class="colLast">
+<div class="block">Etiao runtime implementation of the <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao">Executable</a></td>
+<td class="colLast">
+<div class="block">Executes and provides runtime services to the executable graph 
+ elements (oplets and functions).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao">Invocation</a>&lt;T extends <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;,I,O&gt;</td>
+<td class="colLast">
+<div class="block">An <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a> invocation in the context of the 
+ <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">ETIAO</a> runtime.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao">InvocationContext</a>&lt;I,O&gt;</td>
+<td class="colLast">
+<div class="block">Context information for the <code>Oplet</code>'s execution context.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">SettableForwarder</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A forwarding Streamer whose destination
+ can be changed.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao">ThreadFactoryTracker</a></td>
+<td class="colLast">
+<div class="block">Tracks threads created for executing user tasks.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a></td>
+<td class="colLast">
+<div class="block">Extends a <code>ScheduledThreadPoolExecutor</code> with the ability to track 
+ scheduled tasks and cancel them in case a task completes abruptly due to 
+ an exception.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.runtime.etiao Description">Package org.apache.edgent.runtime.etiao Description</h2>
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.
+ 
+ <h2>"EveryThing Is An Oplet" (ETIAO)</h2>
+
+ The runtime's focus is on executing oplets and their connected streams, where each 
+ oplet is just a black box. Specifically this means that functionality is added by the introduction 
+ of oplets into the graph that were not explicitly declared by the application developer. 
+ For example, metrics are implemented by oplets, not the runtime. A metric collector is an 
+ oplet that calculates metrics on tuples accepted on its input port, and them makes them 
+ available, for example through JMX.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-tree.html
new file mode 100644
index 0000000..58db9f4
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-tree.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.etiao Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.etiao Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.runtime.etiao</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">AbstractContext</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;I,O&gt;)
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">InvocationContext</span></a>&lt;I,O&gt;</li>
+</ul>
+</li>
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">AbstractExecutorService</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>)
+<ul>
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">ThreadPoolExecutor</span></a>
+<ul>
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">ScheduledThreadPoolExecutor</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>)
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">TrackingScheduledExecutor</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.graph.spi.execution.<a href="../../../../../org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution"><span class="typeNameLink">AbstractGraphJob</span></a> (implements org.apache.edgent.execution.<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>)
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">EtiaoJob</span></a> (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>)</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Executable</span></a> (implements org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>)</li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Invocation</span></a>&lt;T,I,O&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">SettableForwarder</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="../../../../../org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">ThreadFactoryTracker</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/appservice/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-use.html
new file mode 100644
index 0000000..0ce1cfc
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/etiao/package-use.html
@@ -0,0 +1,221 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.etiao (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.runtime.etiao (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.runtime.etiao" class="title">Uses of Package<br>org.apache.edgent.runtime.etiao</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.graph">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.etiao.mbeans">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> used by <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/runtime/etiao/class-use/AbstractContext.html#org.apache.edgent.runtime.etiao">AbstractContext</a>
+<div class="block">Provides a skeletal implementation of the <a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><code>OpletContext</code></a>
+ interface.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/runtime/etiao/class-use/Invocation.html#org.apache.edgent.runtime.etiao">Invocation</a>
+<div class="block">An <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>Oplet</code></a> invocation in the context of the 
+ <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">ETIAO</a> runtime.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/runtime/etiao/class-use/TrackingScheduledExecutor.html#org.apache.edgent.runtime.etiao">TrackingScheduledExecutor</a>
+<div class="block">Extends a <code>ScheduledThreadPoolExecutor</code> with the ability to track 
+ scheduled tasks and cancel them in case a task completes abruptly due to 
+ an exception.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> used by <a href="../../../../../org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/runtime/etiao/class-use/Executable.html#org.apache.edgent.runtime.etiao.graph">Executable</a>
+<div class="block">Executes and provides runtime services to the executable graph 
+ elements (oplets and functions).</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.mbeans">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a> used by <a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/runtime/etiao/class-use/EtiaoJob.html#org.apache.edgent.runtime.etiao.mbeans">EtiaoJob</a>
+<div class="block">Etiao runtime implementation of the <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> interface.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/etiao/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/JMXControlService.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/JMXControlService.html
new file mode 100644
index 0000000..0a19e14
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/JMXControlService.html
@@ -0,0 +1,474 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JMXControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JMXControlService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JMXControlService.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" target="_top">Frames</a></li>
+<li><a href="JMXControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.jmxcontrol</div>
+<h2 title="Class JMXControlService" class="title">Class JMXControlService</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.jmxcontrol.JMXControlService</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">JMXControlService</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></pre>
+<div class="block">Control service that registers control objects
+ as MBeans in a JMX server.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#JMXControlService-java.lang.String-java.util.Hashtable-">JMXControlService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;domain,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;additionalKeys)</code>
+<div class="block">JMX control service using the platform MBean server.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#additionalNameKeys-java.util.Hashtable-">additionalNameKeys</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;table)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
+<div class="block">Return a control Mbean registered with this service.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
+<div class="block">Return the unique identifier for a control Mbean registered with 
+ this service.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getDomain--">getDomain</a></span>()</code>
+<div class="block">Get the JMX domain being used by this control service.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getMbs--">getMbs</a></span>()</code>
+<div class="block">Get the MBean server being used by this control service.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
+               T&nbsp;control)</code>
+<div class="block">Register a control object as an MBean.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#unregister-java.lang.String-">unregister</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</code>
+<div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>ControlService.registerControl(String, String, String, Class, Object)</code></a></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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="JMXControlService-java.lang.String-java.util.Hashtable-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JMXControlService</h4>
+<pre>public&nbsp;JMXControlService(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;domain,
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;additionalKeys)</pre>
+<div class="block">JMX control service using the platform MBean server.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>domain</code> - Domain the MBeans are registered in.</dd>
+<dd><code>additionalKeys</code> - additional name/value keys to add to the generated JMX object names</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getMbs--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getMbs</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/javax/management/MBeanServer.html?is-external=true" title="class or interface in javax.management">MBeanServer</a>&nbsp;getMbs()</pre>
+<div class="block">Get the MBean server being used by this control service.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>MBean server being used by this control service.</dd>
+</dl>
+</li>
+</ul>
+<a name="getDomain--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getDomain</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDomain()</pre>
+<div class="block">Get the JMX domain being used by this control service.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>JMX domain being used by this control service.</dd>
+</dl>
+</li>
+</ul>
+<a name="registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-java.lang.Object-">
+<!--   -->
+</a><a name="registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerControl</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;registerControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
+                                  T&nbsp;control)</pre>
+<div class="block">Register a control object as an MBean.
+ 
+ Register a control MBean.
+ 
+ The MBean is registered within the domain returned by <a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html#getDomain--"><code>getDomain()</code></a>
+ and an `ObjectName` with these keys:
+ <UL>
+ <LI>type</LI> <code>type</code>
+ <LI>interface</LI> <code>controlInterface.getName()</code>
+ <LI>id</LI> <code>type</code>
+ <LI>alias</LI> <code>alias</code>
+ </UL></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Control MBean type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - Type of the control MBean.</dd>
+<dd><code>id</code> - Unique identifier for the control MBean.</dd>
+<dd><code>alias</code> - Alias for the control MBean. Required to be unique within the context
+            of <code>type</code>.</dd>
+<dd><code>controlInterface</code> - Public interface for the control MBean.</dd>
+<dd><code>control</code> - The control MBean</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unique identifier that can be used to unregister an control MBean.</dd>
+</dl>
+</li>
+</ul>
+<a name="additionalNameKeys-java.util.Hashtable-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>additionalNameKeys</h4>
+<pre>protected&nbsp;void&nbsp;additionalNameKeys(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;table)</pre>
+</li>
+</ul>
+<a name="unregister-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregister</h4>
+<pre>public&nbsp;void&nbsp;unregister(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#unregister-java.lang.String-">ControlService</a></code></span></div>
+<div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>ControlService.registerControl(String, String, String, Class, Object)</code></a></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#unregister-java.lang.String-">unregister</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>controlId</code> - control's registration identifier returned by <code>registerControl</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getControl-java.lang.String-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getControl</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">ControlService</a></code></span></div>
+<div class="block">Return a control Mbean registered with this service.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Control MBean type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - Type of the control MBean.</dd>
+<dd><code>alias</code> - Alias for the control MBean.</dd>
+<dd><code>controlInterface</code> - Public interface of the control MBean.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Control Mbean or null if a matching MBean is not registered.</dd>
+</dl>
+</li>
+</ul>
+<a name="getControlId-java.lang.String-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getControlId</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getControlId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">ControlService</a></code></span></div>
+<div class="block">Return the unique identifier for a control Mbean registered with 
+ this service.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Control MBean type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - Type of the control MBean.</dd>
+<dd><code>alias</code> - Alias for the control MBean.</dd>
+<dd><code>controlInterface</code> - Public interface of the control MBean.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unique identifier that can be used to unregister a control 
+              MBean or null if a matching MBean is not registered.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JMXControlService.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" target="_top">Frames</a></li>
+<li><a href="JMXControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/class-use/JMXControlService.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/class-use/JMXControlService.html
new file mode 100644
index 0000000..657d1fa
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/class-use/JMXControlService.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.jmxcontrol.JMXControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.jmxcontrol.JMXControlService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/jmxcontrol/class-use/JMXControlService.html" target="_top">Frames</a></li>
+<li><a href="JMXControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.jmxcontrol.JMXControlService" class="title">Uses of Class<br>org.apache.edgent.runtime.jmxcontrol.JMXControlService</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.runtime.jmxcontrol.JMXControlService</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/jmxcontrol/class-use/JMXControlService.html" target="_top">Frames</a></li>
+<li><a href="JMXControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-frame.html
new file mode 100644
index 0000000..131af51
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jmxcontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/package-summary.html" target="classFrame">org.apache.edgent.runtime.jmxcontrol</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol" target="classFrame">JMXControlService</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-summary.html
new file mode 100644
index 0000000..dccc2e3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-summary.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jmxcontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.jmxcontrol (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jmxcontrol/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.runtime.jmxcontrol</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol">JMXControlService</a></td>
+<td class="colLast">
+<div class="block">Control service that registers control objects
+ as MBeans in a JMX server.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jmxcontrol/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-tree.html
new file mode 100644
index 0000000..9dd407a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jmxcontrol Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.jmxcontrol Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jmxcontrol/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.runtime.jmxcontrol</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.runtime.jmxcontrol.<a href="../../../../../org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol"><span class="typeNameLink">JMXControlService</span></a> (implements org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/etiao/mbeans/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jmxcontrol/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-use.html
new file mode 100644
index 0000000..324d134
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jmxcontrol/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.jmxcontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.runtime.jmxcontrol (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jmxcontrol/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.runtime.jmxcontrol" class="title">Uses of Package<br>org.apache.edgent.runtime.jmxcontrol</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.runtime.jmxcontrol</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jmxcontrol/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/JobEvents.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/JobEvents.html
new file mode 100644
index 0000000..dd6ef1d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/JobEvents.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobEvents (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JobEvents (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobEvents.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jobregistry/JobEvents.html" target="_top">Frames</a></li>
+<li><a href="JobEvents.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.jobregistry</div>
+<h2 title="Class JobEvents" class="title">Class JobEvents</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.jobregistry.JobEvents</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">JobEvents</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A source of job event tuples.
+ <p>
+ A stream of job event tuples is 
+ <a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html#source-org.apache.edgent.topology.Topology-org.apache.edgent.function.BiFunction-">created</a> by a listener which
+ subscribes to a <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a>.
+ </p></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html#JobEvents--">JobEvents</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html#source-org.apache.edgent.topology.Topology-org.apache.edgent.function.BiFunction-">source</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>,T&gt;&nbsp;wrapper)</code>
+<div class="block">Declares a stream populated by <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a> events.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="JobEvents--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JobEvents</h4>
+<pre>public&nbsp;JobEvents()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="source-org.apache.edgent.topology.Topology-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>source</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;source(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+                                    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>,T&gt;&nbsp;wrapper)</pre>
+<div class="block">Declares a stream populated by <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a> events.
+ <p>
+ The job registry is passed as a runtime service. At startup 
+ <code>JobRegistryService#addListener()</code> is called by the 
+ runtime to subscribe an event listener.  The listener invokes the given 
+ <code>wrapper</code> function to construct a tuple from a job event
+ and submits the tuple on the returned stream.</p>
+ <p>
+ When the topology's execution is terminated, 
+ <code>JobRegistryServic#removeListener()</code>  in invoked to unsubscribe 
+ the tuple source from the job registry. 
+ </p></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topology</code> - the stream topology</dd>
+<dd><code>wrapper</code> - constructs a tuple from a job event</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>new stream containing the tuples generated by the specified <code>wrapper</code>.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/Topology.html#getRuntimeServiceSupplier--"><code>Topology.getRuntimeServiceSupplier()</code></a>, 
+<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addListener-org.apache.edgent.function.BiConsumer-"><code>JobRegistryService.addListener(BiConsumer)</code></a>, 
+<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeListener-org.apache.edgent.function.BiConsumer-"><code>JobRegistryService.removeListener(BiConsumer)</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobEvents.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jobregistry/JobEvents.html" target="_top">Frames</a></li>
+<li><a href="JobEvents.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/JobRegistry.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/JobRegistry.html
new file mode 100644
index 0000000..739f44d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/JobRegistry.html
@@ -0,0 +1,490 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JobRegistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JobRegistry (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobRegistry.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jobregistry/JobRegistry.html" target="_top">Frames</a></li>
+<li><a href="JobRegistry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.runtime.jobregistry</div>
+<h2 title="Class JobRegistry" class="title">Class JobRegistry</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.jobregistry.JobRegistry</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">JobRegistry</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></pre>
+<div class="block">Maintains a set of registered jobs and a set of listeners.
+ Notifies listeners on job additions, deletions and updates.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.edgent.execution.services.JobRegistryService">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></h3>
+<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#JobRegistry--">JobRegistry</a></span>()</code>
+<div class="block">Creates a new <a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><code>JobRegistry</code></a>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#addJob-org.apache.edgent.execution.Job-">addJob</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</code>
+<div class="block">Adds the specified job.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#addListener-org.apache.edgent.function.BiConsumer-">addListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
+<div class="block">Adds a handler to a collection of listeners that will be notified
+ on job registration and state changes.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#createAndRegister-org.apache.edgent.execution.services.ServiceContainer-">createAndRegister</a></span>(<a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services)</code>
+<div class="block">Creates and registers a <a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><code>JobRegistry</code></a> with the given service 
+ container.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#getJob-java.lang.String-">getJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</code>
+<div class="block">Returns a job given its identifier.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#getJobIds--">getJobIds</a></span>()</code>
+<div class="block">Returns a set of all the registered job identifiers.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#removeJob-java.lang.String-">removeJob</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId)</code>
+<div class="block">Removes the job specified by the given identifier.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener</a></span>(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</code>
+<div class="block">Removes a handler from this registry's collection of listeners.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html#updateJob-org.apache.edgent.execution.Job-">updateJob</a></span>(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</code>
+<div class="block">Notifies listeners that the specified registered job has 
+ been updated.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="JobRegistry--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JobRegistry</h4>
+<pre>public&nbsp;JobRegistry()</pre>
+<div class="block">Creates a new <a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><code>JobRegistry</code></a>.</div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="createAndRegister-org.apache.edgent.execution.services.ServiceContainer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createAndRegister</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a>&nbsp;createAndRegister(<a href="../../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services)</pre>
+<div class="block">Creates and registers a <a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><code>JobRegistry</code></a> with the given service 
+ container.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>services</code> - provides access to service registration</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>service instance.</dd>
+</dl>
+</li>
+</ul>
+<a name="addListener-org.apache.edgent.function.BiConsumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addListener</h4>
+<pre>public&nbsp;void&nbsp;addListener(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addListener-org.apache.edgent.function.BiConsumer-">JobRegistryService</a></code></span></div>
+<div class="block">Adds a handler to a collection of listeners that will be notified
+ on job registration and state changes.  Listeners will be notified 
+ in the order in which they are added.
+ <p>
+ A listener is notified of all existing jobs when it is first added.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addListener-org.apache.edgent.function.BiConsumer-">addListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listener</code> - the listener that will be added</dd>
+</dl>
+</li>
+</ul>
+<a name="removeListener-org.apache.edgent.function.BiConsumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeListener</h4>
+<pre>public&nbsp;boolean&nbsp;removeListener(<a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;listener)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeListener-org.apache.edgent.function.BiConsumer-">JobRegistryService</a></code></span></div>
+<div class="block">Removes a handler from this registry's collection of listeners.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeListener-org.apache.edgent.function.BiConsumer-">removeListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>listener</code> - the listener that will be removed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether or not the listener has been removed</dd>
+</dl>
+</li>
+</ul>
+<a name="getJobIds--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJobIds</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getJobIds()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJobIds--">JobRegistryService</a></code></span></div>
+<div class="block">Returns a set of all the registered job identifiers.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJobIds--">getJobIds</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the identifiers of all the jobs</dd>
+</dl>
+</li>
+</ul>
+<a name="getJob-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJob</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;getJob(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJob-java.lang.String-">JobRegistryService</a></code></span></div>
+<div class="block">Returns a job given its identifier.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#getJob-java.lang.String-">getJob</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>id</code> - job identifier</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the job or <code>null</code> if no job is registered with that 
+      identifier.</dd>
+</dl>
+</li>
+</ul>
+<a name="removeJob-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeJob</h4>
+<pre>public&nbsp;boolean&nbsp;removeJob(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeJob-java.lang.String-">JobRegistryService</a></code></span></div>
+<div class="block">Removes the job specified by the given identifier.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#removeJob-java.lang.String-">removeJob</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jobId</code> - the identifier of the job to remove</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether or not the job was removed</dd>
+</dl>
+</li>
+</ul>
+<a name="addJob-org.apache.edgent.execution.Job-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addJob</h4>
+<pre>public&nbsp;void&nbsp;addJob(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)
+            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addJob-org.apache.edgent.execution.Job-">JobRegistryService</a></code></span></div>
+<div class="block">Adds the specified job.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#addJob-org.apache.edgent.execution.Job-">addJob</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>job</code> - the job to register</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if a job is null, or if a job with 
+      the same identifier is already registered</dd>
+</dl>
+</li>
+</ul>
+<a name="updateJob-org.apache.edgent.execution.Job-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>updateJob</h4>
+<pre>public&nbsp;boolean&nbsp;updateJob(<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;job)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#updateJob-org.apache.edgent.execution.Job-">JobRegistryService</a></code></span></div>
+<div class="block">Notifies listeners that the specified registered job has 
+ been updated.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html#updateJob-org.apache.edgent.execution.Job-">updateJob</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>job</code> - the job</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>whether or not the job was found in the registry</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JobRegistry.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jobregistry/JobRegistry.html" target="_top">Frames</a></li>
+<li><a href="JobRegistry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/class-use/JobEvents.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/class-use/JobEvents.html
new file mode 100644
index 0000000..21e6b82
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/class-use/JobEvents.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.jobregistry.JobEvents (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.jobregistry.JobEvents (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/jobregistry/class-use/JobEvents.html" target="_top">Frames</a></li>
+<li><a href="JobEvents.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.jobregistry.JobEvents" class="title">Uses of Class<br>org.apache.edgent.runtime.jobregistry.JobEvents</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.runtime.jobregistry.JobEvents</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/jobregistry/class-use/JobEvents.html" target="_top">Frames</a></li>
+<li><a href="JobEvents.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/class-use/JobRegistry.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/class-use/JobRegistry.html
new file mode 100644
index 0000000..6c35261
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/class-use/JobRegistry.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.jobregistry.JobRegistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.jobregistry.JobRegistry (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/jobregistry/class-use/JobRegistry.html" target="_top">Frames</a></li>
+<li><a href="JobRegistry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.jobregistry.JobRegistry" class="title">Uses of Class<br>org.apache.edgent.runtime.jobregistry.JobRegistry</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.runtime.jobregistry.JobRegistry</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/jobregistry/class-use/JobRegistry.html" target="_top">Frames</a></li>
+<li><a href="JobRegistry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-frame.html
new file mode 100644
index 0000000..fbb4f13
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jobregistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html" target="classFrame">org.apache.edgent.runtime.jobregistry</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry" target="classFrame">JobEvents</a></li>
+<li><a href="JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry" target="classFrame">JobRegistry</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-summary.html
new file mode 100644
index 0000000..0d1509b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-summary.html
@@ -0,0 +1,152 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jobregistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.jobregistry (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jobregistry/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.runtime.jobregistry</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry">JobEvents</a></td>
+<td class="colLast">
+<div class="block">A source of job event tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry">JobRegistry</a></td>
+<td class="colLast">
+<div class="block">Maintains a set of registered jobs and a set of listeners.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jobregistry/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-tree.html
new file mode 100644
index 0000000..c1e2014
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-tree.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jobregistry Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.jobregistry Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jobregistry/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.runtime.jobregistry</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.runtime.jobregistry.<a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">JobEvents</span></a></li>
+<li type="circle">org.apache.edgent.runtime.jobregistry.<a href="../../../../../org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">JobRegistry</span></a> (implements org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/jmxcontrol/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jobregistry/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-use.html
new file mode 100644
index 0000000..866774e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jobregistry/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.jobregistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.runtime.jobregistry (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jobregistry/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.runtime.jobregistry" class="title">Uses of Package<br>org.apache.edgent.runtime.jobregistry</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.runtime.jobregistry</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jobregistry/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/JsonControlService.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/JsonControlService.html
new file mode 100644
index 0000000..9001501
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/JsonControlService.html
@@ -0,0 +1,553 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:20 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JsonControlService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonControlService.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" target="_top">Frames</a></li>
+<li><a href="JsonControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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">org.apache.edgent.runtime.jsoncontrol</div>
+<h2 title="Class JsonControlService" class="title">Class JsonControlService</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.runtime.jsoncontrol.JsonControlService</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">JsonControlService</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></pre>
+<div class="block">Control service that accepts control instructions as JSON objects.
+ <BR>
+ A JSON object representing a control request can be passed
+ to <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#controlRequest-com.google.gson.JsonObject-"><code>controlRequest(JsonObject)</code></a> to invoke a control
+ operation (method) on a registered MBean.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">Control Request JSON</a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ALIAS_KEY">ALIAS_KEY</a></span></code>
+<div class="block">Key for the alias of the control MBean in a JSON request.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#ARGS_KEY">ARGS_KEY</a></span></code>
+<div class="block">Key for the argument list.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#OP_KEY">OP_KEY</a></span></code>
+<div class="block">Key for the operation name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#TYPE_KEY">TYPE_KEY</a></span></code>
+<div class="block">Key for the type of the control MBean in a JSON request.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#JsonControlService--">JsonControlService</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>com.google.gson.JsonElement</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#controlRequest-com.google.gson.JsonObject-">controlRequest</a></span>(com.google.gson.JsonObject&nbsp;request)</code>
+<div class="block">Handle a JSON control request.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
+<div class="block">Return a control Mbean registered with this service.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</code>
+<div class="block">Return the unique identifier for a control Mbean registered with 
+ this service.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
+               T&nbsp;control)</code>
+<div class="block">Register a control MBean.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#unregister-java.lang.String-">unregister</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</code>
+<div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>ControlService.registerControl(String, String, String, Class, Object)</code></a></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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="TYPE_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TYPE_KEY</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE_KEY</pre>
+<div class="block">Key for the type of the control MBean in a JSON request.
+ <BR>
+ Value is "type".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.runtime.jsoncontrol.JsonControlService.TYPE_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ALIAS_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ALIAS_KEY</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ALIAS_KEY</pre>
+<div class="block">Key for the alias of the control MBean in a JSON request.
+ <BR>
+ Value is "alias".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.runtime.jsoncontrol.JsonControlService.ALIAS_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="OP_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>OP_KEY</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> OP_KEY</pre>
+<div class="block">Key for the operation name.
+ <BR>
+ Value is "op".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.runtime.jsoncontrol.JsonControlService.OP_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="ARGS_KEY">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ARGS_KEY</h4>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ARGS_KEY</pre>
+<div class="block">Key for the argument list.
+ If no arguments are required then 
+ "args" can be missing or an empty list.
+ <BR>
+ Value is "args".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.runtime.jsoncontrol.JsonControlService.ARGS_KEY">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="JsonControlService--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JsonControlService</h4>
+<pre>public&nbsp;JsonControlService()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="controlRequest-com.google.gson.JsonObject-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>controlRequest</h4>
+<pre>public&nbsp;com.google.gson.JsonElement&nbsp;controlRequest(com.google.gson.JsonObject&nbsp;request)
+                                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Handle a JSON control request.
+ 
+ The control action is executed directly
+ using the calling thread.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>request</code> - the request</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>JSON response, JSON null if the request was not recognized.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - on failure</dd>
+</dl>
+</li>
+</ul>
+<a name="registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-java.lang.Object-">
+<!--   -->
+</a><a name="registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerControl</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;registerControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface,
+                                  T&nbsp;control)</pre>
+<div class="block">Register a control MBean.
+ <P>
+ All control service MBeans must be valid according
+ to <a href="../../../../../org/apache/edgent/execution/services/Controls.html#isControlServiceMBean-java.lang.Class-"><code>Controls.isControlServiceMBean(Class)</code></a>.
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-">registerControl</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Control MBean type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - Type of the control MBean.</dd>
+<dd><code>id</code> - Unique identifier for the control MBean.</dd>
+<dd><code>alias</code> - Alias for the control MBean. Required to be unique within the context
+            of <code>type</code>.</dd>
+<dd><code>controlInterface</code> - Public interface for the control MBean.</dd>
+<dd><code>control</code> - The control MBean</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unique identifier that can be used to unregister an control MBean.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/execution/services/Controls.html#isControlServiceMBean-java.lang.Class-"><code>Controls.isControlServiceMBean(Class)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="unregister-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregister</h4>
+<pre>public&nbsp;void&nbsp;unregister(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;controlId)</pre>
+<div class="block">Unregister a control bean registered by <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>ControlService.registerControl(String, String, String, Class, Object)</code></a></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#unregister-java.lang.String-">unregister</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>controlId</code> - control's registration identifier returned by <code>registerControl</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getControl-java.lang.String-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getControl</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getControl(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">ControlService</a></code></span></div>
+<div class="block">Return a control Mbean registered with this service.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControl-java.lang.String-java.lang.String-java.lang.Class-">getControl</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Control MBean type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - Type of the control MBean.</dd>
+<dd><code>alias</code> - Alias for the control MBean.</dd>
+<dd><code>controlInterface</code> - Public interface of the control MBean.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Control Mbean or null if a matching MBean is not registered.</dd>
+</dl>
+</li>
+</ul>
+<a name="getControlId-java.lang.String-java.lang.String-java.lang.Class-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getControlId</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getControlId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;type,
+                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias,
+                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;controlInterface)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">ControlService</a></code></span></div>
+<div class="block">Return the unique identifier for a control Mbean registered with 
+ this service.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html#getControlId-java.lang.String-java.lang.String-java.lang.Class-">getControlId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Control MBean type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>type</code> - Type of the control MBean.</dd>
+<dd><code>alias</code> - Alias for the control MBean.</dd>
+<dd><code>controlInterface</code> - Public interface of the control MBean.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unique identifier that can be used to unregister a control 
+              MBean or null if a matching MBean is not registered.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonControlService.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" target="_top">Frames</a></li>
+<li><a href="JsonControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><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; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/class-use/JsonControlService.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/class-use/JsonControlService.html
new file mode 100644
index 0000000..b138da3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/class-use/JsonControlService.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.runtime.jsoncontrol.JsonControlService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.runtime.jsoncontrol.JsonControlService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/class-use/JsonControlService.html" target="_top">Frames</a></li>
+<li><a href="JsonControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.runtime.jsoncontrol.JsonControlService" class="title">Uses of Class<br>org.apache.edgent.runtime.jsoncontrol.JsonControlService</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a> in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> that return <a href="../../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</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>protected <a href="../../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#getControlService--">getControlService</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/class-use/JsonControlService.html" target="_top">Frames</a></li>
+<li><a href="JsonControlService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-frame.html
new file mode 100644
index 0000000..26e4fc3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jsoncontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html" target="classFrame">org.apache.edgent.runtime.jsoncontrol</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol" target="classFrame">JsonControlService</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-summary.html
new file mode 100644
index 0000000..c2009c4
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-summary.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jsoncontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.jsoncontrol (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.runtime.jsoncontrol</h1>
+<div class="docSummary">
+<div class="block">Control service that takes a Json message and invokes
+ an operation on a control service MBean.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol">JsonControlService</a></td>
+<td class="colLast">
+<div class="block">Control service that accepts control instructions as JSON objects.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.runtime.jsoncontrol Description">Package org.apache.edgent.runtime.jsoncontrol Description</h2>
+<div class="block">Control service that takes a Json message and invokes
+ an operation on a control service MBean.
+ 
+ <H3>Operations</H3>
+ A JSON object passed to <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html#controlRequest-com.google.gson.JsonObject-"><code>controlRequest</code></a> with these name/value pairs is
+ handled as an operation resulting in a method call to a
+ void method on a control service MBean interface. 
+ <UL>
+ <LI><code>type=</code><em>type</em> - MBean type.</LI>
+ <LI><code>alias=</code><em>alias - Alias of the MBean.</em></LI>
+ <LI><code>op=</code><em>name</em> - Name of the operation to invoke, this is the method name on the MBean.</LI>
+ <LI><code>arguments=</code><em>optional list of arguments</em> - Arguments passed to the operation (method).</LI>
+ </UL>
+ The MBean must be uniquely identified through
+ its <em>type</em> and <em>alias</em> and previously registered using 
+ <a href="../../../../../org/apache/edgent/execution/services/ControlService.html#registerControl-java.lang.String-java.lang.String-java.lang.String-java.lang.Class-T-"><code>registerControl()</code></a>.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-tree.html
new file mode 100644
index 0000000..f23eac6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.runtime.jsoncontrol Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.runtime.jsoncontrol Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.runtime.jsoncontrol</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.runtime.jsoncontrol.<a href="../../../../../org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol"><span class="typeNameLink">JsonControlService</span></a> (implements org.apache.edgent.execution.services.<a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/runtime/jobregistry/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-use.html
new file mode 100644
index 0000000..d364f4e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/runtime/jsoncontrol/package-use.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.runtime.jsoncontrol (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.runtime.jsoncontrol (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.runtime.jsoncontrol" class="title">Uses of Package<br>org.apache.edgent.runtime.jsoncontrol</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">org.apache.edgent.runtime.jsoncontrol</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">org.apache.edgent.runtime.jsoncontrol</a> used by <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/runtime/jsoncontrol/class-use/JsonControlService.html#org.apache.edgent.providers.iot">JsonControlService</a>
+<div class="block">Control service that accepts control instructions as JSON objects.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/runtime/jsoncontrol/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.BufferManager.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.BufferManager.html
new file mode 100644
index 0000000..7fa8e5e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.BufferManager.html
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScope.BufferManager (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamScope.BufferManager (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScope.BufferManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScope.BufferManager.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.BufferManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.streamscope</div>
+<h2 title="Class StreamScope.BufferManager" class="title">Class StreamScope.BufferManager&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.streamscope.StreamScope.BufferManager&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">StreamScope.BufferManager&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Control the retention of captured tuples.
+ <P>
+ Captured tuples are retained until either:
+ <ul>
+ <li>a maximum retention count is exceeded</li>
+ <li>TODO a maximum retention time is exceeded</li>
+ </ul> 
+ <P>
+ The default configuration is a maxCount of 10.
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html#BufferManager--">BufferManager</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html#setMaxRetentionCount-int-">setMaxRetentionCount</a></span>(int&nbsp;maxCount)</code>
+<div class="block">Set the maximum number of tuples to retain.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">setMaxRetentionTime</a></span>(long&nbsp;age,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Set the maximum retention time of a tuple.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html#toString--">toString</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="BufferManager--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>BufferManager</h4>
+<pre>public&nbsp;BufferManager()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setMaxRetentionCount-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxRetentionCount</h4>
+<pre>public&nbsp;void&nbsp;setMaxRetentionCount(int&nbsp;maxCount)</pre>
+<div class="block">Set the maximum number of tuples to retain.
+ <P>
+ The capture buffer is cleared.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxCount</code> - the maximum number of tuples to retain.
+        Specify 0 to disable count based retention.</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxRetentionTime</h4>
+<pre>public&nbsp;void&nbsp;setMaxRetentionTime(long&nbsp;age,
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Set the maximum retention time of a tuple.
+ <P>
+ The capture buffer is cleared.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>age</code> - the amount of time to retain a tuple.
+        Specify 0 to disable age based retention.</dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScope.BufferManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScope.BufferManager.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.BufferManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.Sample.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.Sample.html
new file mode 100644
index 0000000..65a50fa
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.Sample.html
@@ -0,0 +1,320 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScope.Sample (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamScope.Sample (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScope.Sample.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScope.Sample.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.Sample.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.streamscope</div>
+<h2 title="Class StreamScope.Sample" class="title">Class StreamScope.Sample&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.streamscope.StreamScope.Sample&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type.</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">StreamScope.Sample&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A captured tuple.
+ <P>
+ The Sample captures the tuple, and the system time and nanoTime
+ when the tuple was captured.
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html#nanoTime--">nanoTime</a></span>()</code>
+<div class="block">Capture time in nanoTime.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html#timestamp--">timestamp</a></span>()</code>
+<div class="block">Capture time in msec since the epoch.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="type parameter in StreamScope.Sample">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html#tuple--">tuple</a></span>()</code>
+<div class="block">The captured tuple.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="timestamp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>timestamp</h4>
+<pre>public&nbsp;long&nbsp;timestamp()</pre>
+<div class="block">Capture time in msec since the epoch.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the timestamp</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#currentTimeMillis--" title="class or interface in java.lang"><code>System.currentTimeMillis()</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="nanoTime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nanoTime</h4>
+<pre>public&nbsp;long&nbsp;nanoTime()</pre>
+<div class="block">Capture time in nanoTime.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the nanoTime</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/System.html?is-external=true#nanoTime--" title="class or interface in java.lang"><code>System.nanoTime()</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="tuple--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tuple</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="type parameter in StreamScope.Sample">T</a>&nbsp;tuple()</pre>
+<div class="block">The captured tuple.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the tuple</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScope.Sample.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScope.Sample.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.Sample.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.TriggerManager.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.TriggerManager.html
new file mode 100644
index 0000000..7aa85ad
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.TriggerManager.html
@@ -0,0 +1,434 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScope.TriggerManager (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamScope.TriggerManager (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScope.TriggerManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScope.TriggerManager.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.TriggerManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.streamscope</div>
+<h2 title="Class StreamScope.TriggerManager" class="title">Class StreamScope.TriggerManager&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.streamscope.StreamScope.TriggerManager&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="typeNameLabel">StreamScope.TriggerManager&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Control what triggers capturing of tuples.
+ <P>
+ The following modes are supported:
+ <ul>
+ <li>continuous - capture every tuple</li> 
+ <li>by-count - capture every nth tuple</li>
+ <li>by-time - capture based on time elapsed since the last capture</li>
+ <li>by-Predicate - capture based on evaluating a predicate</li>
+ </ul>
+ <P>
+ Tuple capture can be temporarily paused via <a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setPaused-boolean-"><code>setPaused</code></a>.
+ Pausing capture does not clear the capture buffer.
+ </P><P>
+ Capture processing can be automatically paused when a particular event
+ has occurred via <a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setPauseOn-org.apache.edgent.function.Predicate-"><code>setPauseOn</code></a>.
+ The pause predicate is evaluated after processing each received tuple.
+ Use <a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setPaused-boolean-"><code>setPaused(boolean)</code></a> setPaused} to re-enable capture
+ following a triggered pause.
+ </P><P>
+ The default configuration is continuous (by-count==1) and not paused.
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#TriggerManager--">TriggerManager</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#isPaused--">isPaused</a></span>()</code>
+<div class="block">Is capture paused?</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setCaptureByCount-int-">setCaptureByCount</a></span>(int&nbsp;count)</code>
+<div class="block">Capture the first and every nth tuple</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setCaptureByPredicate-org.apache.edgent.function.Predicate-">setCaptureByPredicate</a></span>(<a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="type parameter in StreamScope.TriggerManager">T</a>&gt;&nbsp;predicate)</code>
+<div class="block">Capture a tuple if the <code>predicate</code> test of the tuple returns true.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">setCaptureByTime</a></span>(long&nbsp;elapsed,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
+ <code>unit</code> time has elapsed since the previous captured tuple.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setPaused-boolean-">setPaused</a></span>(boolean&nbsp;paused)</code>
+<div class="block">Set capture paused control</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#setPauseOn-org.apache.edgent.function.Predicate-">setPauseOn</a></span>(<a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="type parameter in StreamScope.TriggerManager">T</a>&gt;&nbsp;predicate)</code>
+<div class="block">Set a pause-on predicate.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html#toString--">toString</a></span>()</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TriggerManager--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TriggerManager</h4>
+<pre>public&nbsp;TriggerManager()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setPaused-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPaused</h4>
+<pre>public&nbsp;void&nbsp;setPaused(boolean&nbsp;paused)</pre>
+<div class="block">Set capture paused control</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>paused</code> - true to pause, false to clear pause.</dd>
+</dl>
+</li>
+</ul>
+<a name="isPaused--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isPaused</h4>
+<pre>public&nbsp;boolean&nbsp;isPaused()</pre>
+<div class="block">Is capture paused?</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if paused</dd>
+</dl>
+</li>
+</ul>
+<a name="setPauseOn-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPauseOn</h4>
+<pre>public&nbsp;void&nbsp;setPauseOn(<a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="type parameter in StreamScope.TriggerManager">T</a>&gt;&nbsp;predicate)</pre>
+<div class="block">Set a pause-on predicate.  Capture is paused if the predicate
+ returns true;</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>predicate</code> - the predicate</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/function/Functions.html#alwaysFalse--"><code>Functions.alwaysFalse()</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="setCaptureByCount-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCaptureByCount</h4>
+<pre>public&nbsp;void&nbsp;setCaptureByCount(int&nbsp;count)</pre>
+<div class="block">Capture the first and every nth tuple</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>count</code> - the nth value interval</dd>
+</dl>
+</li>
+</ul>
+<a name="setCaptureByTime-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCaptureByTime</h4>
+<pre>public&nbsp;void&nbsp;setCaptureByTime(long&nbsp;elapsed,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
+ <code>unit</code> time has elapsed since the previous captured tuple.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>elapsed</code> - time to delay until next capture</dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="setCaptureByPredicate-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCaptureByPredicate</h4>
+<pre>public&nbsp;void&nbsp;setCaptureByPredicate(<a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="type parameter in StreamScope.TriggerManager">T</a>&gt;&nbsp;predicate)</pre>
+<div class="block">Capture a tuple if the <code>predicate</code> test of the tuple returns true.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>predicate</code> - the predicate</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScope.TriggerManager.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScope.TriggerManager.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.TriggerManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.html
new file mode 100644
index 0000000..d5bd35d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScope.html
@@ -0,0 +1,500 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamScope (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScope.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScope.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.streamscope</div>
+<h2 title="Class StreamScope" class="title">Class StreamScope&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.streamscope.StreamScope&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">StreamScope&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;</pre>
+<div class="block">A Stream "oscilloscope" for capturing stream tuples for analysis / debug.
+ <P>
+ A <code>StreamScope</code> is expected to be used as parameter to
+ <a href="../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets"><code>StreamScope</code></a> oplet.
+ </P><P>
+ A <a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.TriggerManager</code></a> controls which tuples are captured.
+ A <a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.BufferManager</code></a> controls the retention policy for captured tuples.
+ </P><P>
+ A <a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.Sample</code></a> is created for each captured tuple containing the tuple
+ (not copied) and capture timestamps.  Samples are retrieved using <a href="../../../../org/apache/edgent/streamscope/StreamScope.html#getSamples--"><code>getSamples()</code></a>.
+ </P><P>
+ Sample capture can be enabled/disabled (<a href="../../../../org/apache/edgent/streamscope/StreamScope.html#setEnabled-boolean-"><code>setEnabled(boolean)</code></a>.
+ It is disabled by default.  Capture can also be paused and resumed via
+ the <code>TriggerManager</code>.
+ </P><P>
+ StreamScope instances are typically registered in and located via
+ a <a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><code>StreamScopeRegistry</code></a> runtime service 
+ and <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeRegistryMXBean</code></a> runtime ControlService.
+ </P></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><code>See {@code org.apache.edgent.providers.development.DevelopmentProvider}</code></a>, 
+<a href="../../../../serialized-form.html#org.apache.edgent.streamscope.StreamScope">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="type parameter in StreamScope.BufferManager">T</a>&gt;</span></code>
+<div class="block">Control the retention of captured tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="type parameter in StreamScope.Sample">T</a>&gt;</span></code>
+<div class="block">A captured tuple.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="type parameter in StreamScope.TriggerManager">T</a>&gt;</span></code>
+<div class="block">Control what triggers capturing of tuples.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html#StreamScope--">StreamScope</a></span>()</code>
+<div class="block">Create a new instance.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html#accept-T-">accept</a></span>(<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&nbsp;tuple)</code>
+<div class="block">Apply the function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html#bufferMgr--">bufferMgr</a></span>()</code>
+<div class="block">Get the <a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.BufferManager</code></a></div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html#getSampleCount--">getSampleCount</a></span>()</code>
+<div class="block">Get the number of Samples currently captured</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html#getSamples--">getSamples</a></span>()</code>
+<div class="block">Get all captured tuples.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html#isEnabled--">isEnabled</a></span>()</code>
+<div class="block">Is tuple capture enabled?</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html#setEnabled-boolean-">setEnabled</a></span>(boolean&nbsp;isEnabled)</code>
+<div class="block">Enable or disable tuple capture.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html#toString--">toString</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html#triggerMgr--">triggerMgr</a></span>()</code>
+<div class="block">Get the <a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.TriggerManager</code></a></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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="StreamScope--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StreamScope</h4>
+<pre>public&nbsp;StreamScope()</pre>
+<div class="block">Create a new instance.
+ <P>
+ Sample capture is disabled.
+ </P></div>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isEnabled--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isEnabled()</pre>
+<div class="block">Is tuple capture enabled?</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if enabled.</dd>
+</dl>
+</li>
+</ul>
+<a name="setEnabled-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setEnabled</h4>
+<pre>public&nbsp;void&nbsp;setEnabled(boolean&nbsp;isEnabled)</pre>
+<div class="block">Enable or disable tuple capture.
+ <P>
+ Disabling releases the capture buffer.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>isEnabled</code> - true to enable, false to disable.</dd>
+</dl>
+</li>
+</ul>
+<a name="bufferMgr--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>bufferMgr</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&nbsp;bufferMgr()</pre>
+<div class="block">Get the <a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.BufferManager</code></a></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the manager</dd>
+</dl>
+</li>
+</ul>
+<a name="triggerMgr--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>triggerMgr</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&nbsp;triggerMgr()</pre>
+<div class="block">Get the <a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.TriggerManager</code></a></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the manager</dd>
+</dl>
+</li>
+</ul>
+<a name="getSamples--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSamples</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&gt;&nbsp;getSamples()</pre>
+<div class="block">Get all captured tuples.
+ <P>
+ The returned samples are removed from the capture buffer.
+ </P></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unmodifiable list of captured samples</dd>
+</dl>
+</li>
+</ul>
+<a name="getSampleCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSampleCount</h4>
+<pre>public&nbsp;int&nbsp;getSampleCount()</pre>
+<div class="block">Get the number of Samples currently captured</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the count</dd>
+</dl>
+</li>
+</ul>
+<a name="accept-java.lang.Object-">
+<!--   -->
+</a><a name="accept-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accept</h4>
+<pre>public&nbsp;void&nbsp;accept(<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&nbsp;tuple)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/function/Consumer.html#accept-T-">Consumer</a></code></span></div>
+<div class="block">Apply the function to <code>value</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/function/Consumer.html#accept-T-">accept</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Value function is applied to.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScope.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScope.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeBean.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeBean.html
new file mode 100644
index 0000000..0a925b1
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeBean.html
@@ -0,0 +1,560 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamScopeBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScopeBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.streamscope</div>
+<h2 title="Class StreamScopeBean" class="title">Class StreamScopeBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.streamscope.StreamScopeBean</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">StreamScopeBean</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></pre>
+<div class="block">Implementation of <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope"><code>StreamScopeRegistryBean</code></a></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>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.streamscope.mbeans.StreamScopeMXBean">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.streamscope.mbeans.<a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></h3>
+<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#TYPE">TYPE</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#StreamScopeBean-org.apache.edgent.streamscope.StreamScope-">StreamScopeBean</a></span>(<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#getSampleCount--">getSampleCount</a></span>()</code>
+<div class="block">Get the number of Samples currently captured</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#getSamples--">getSamples</a></span>()</code>
+<div class="block">Get all captured tuples as JSON.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#isEnabled--">isEnabled</a></span>()</code>
+<div class="block">Is tuple capture enabled?</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#isPaused--">isPaused</a></span>()</code>
+<div class="block">Is capture paused?</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#setCaptureByCount-int-">setCaptureByCount</a></span>(int&nbsp;count)</code>
+<div class="block">Capture the first and every nth tuple</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">setCaptureByTime</a></span>(long&nbsp;elapsed,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
+ <code>unit</code> time has elapsed since the previous captured tuple.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#setEnabled-boolean-">setEnabled</a></span>(boolean&nbsp;isEnabled)</code>
+<div class="block">Enable or disable tuple capture.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#setMaxRetentionCount-int-">setMaxRetentionCount</a></span>(int&nbsp;maxCount)</code>
+<div class="block">Set the maximum number of tuples to retain.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">setMaxRetentionTime</a></span>(long&nbsp;age,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Set the maximum retention time of a tuple.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html#setPaused-boolean-">setPaused</a></span>(boolean&nbsp;paused)</code>
+<div class="block">Set capture paused control</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="StreamScopeBean-org.apache.edgent.streamscope.StreamScope-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StreamScopeBean</h4>
+<pre>public&nbsp;StreamScopeBean(<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isEnabled--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;isEnabled()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#isEnabled--">StreamScopeMXBean</a></code></span></div>
+<div class="block">Is tuple capture enabled?</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#isEnabled--">isEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if enabled.</dd>
+</dl>
+</li>
+</ul>
+<a name="setEnabled-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setEnabled</h4>
+<pre>public&nbsp;void&nbsp;setEnabled(boolean&nbsp;isEnabled)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setEnabled-boolean-">StreamScopeMXBean</a></code></span></div>
+<div class="block">Enable or disable tuple capture.
+ <P>
+ Disabling releases the capture buffer.
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setEnabled-boolean-">setEnabled</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>isEnabled</code> - true to enable, false to disable.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setPaused-boolean-"><code>StreamScopeMXBean.setPaused(boolean)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="isPaused--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isPaused</h4>
+<pre>public&nbsp;boolean&nbsp;isPaused()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#isPaused--">StreamScopeMXBean</a></code></span></div>
+<div class="block">Is capture paused?</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#isPaused--">isPaused</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if paused</dd>
+</dl>
+</li>
+</ul>
+<a name="setPaused-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPaused</h4>
+<pre>public&nbsp;void&nbsp;setPaused(boolean&nbsp;paused)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setPaused-boolean-">StreamScopeMXBean</a></code></span></div>
+<div class="block">Set capture paused control
+ <P>
+ Pausing doesn't affect the capture buffer's current contents.
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setPaused-boolean-">setPaused</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>paused</code> - true to pause, false to clear pause.</dd>
+</dl>
+</li>
+</ul>
+<a name="getSamples--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSamples</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getSamples()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#getSamples--">StreamScopeMXBean</a></code></span></div>
+<div class="block">Get all captured tuples as JSON.
+ <P>
+ The JSON is that generated by <code>Gson.toJson(StreamScope.getSamples())</code>.
+ </P><P>
+ The JSON is an array of <a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope"><code>Sample</code></a> JSON objects.  
+ Each Sample JSON object consists of:
+ <UL>
+ <LI>ts - long. capture timestamp in millis from System.currentTimeMillis()</LI>
+ <LI>nanos - long. capture nanosecond timestamp from System.nanoTime()</LI>
+ <LI>tuple - see below</LI>
+ </UL>
+ The value of the "tuple" property is:
+ <UL>
+ <LI>for a primitive tuple type like String, Numeric or Boolean it's a 
+ JSON string, numeric, or boolean value respectively.</LI>
+ <LI>Arrays or collections are a JSON array of JSON elements for the members.</LI>
+ <LI>For other types it's a JSON object with the type's
+ members and JSON encoding of their values.</LI>
+ </UL>
+ <P>
+ The returned samples are removed from the capture buffer.
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#getSamples--">getSamples</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>JSON of the captured samples</dd>
+</dl>
+</li>
+</ul>
+<a name="getSampleCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSampleCount</h4>
+<pre>public&nbsp;int&nbsp;getSampleCount()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#getSampleCount--">StreamScopeMXBean</a></code></span></div>
+<div class="block">Get the number of Samples currently captured</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#getSampleCount--">getSampleCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the count</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxRetentionCount-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxRetentionCount</h4>
+<pre>public&nbsp;void&nbsp;setMaxRetentionCount(int&nbsp;maxCount)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setMaxRetentionCount-int-">StreamScopeMXBean</a></code></span></div>
+<div class="block">Set the maximum number of tuples to retain.
+ <P>
+ The capture buffer is cleared.
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setMaxRetentionCount-int-">setMaxRetentionCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxCount</code> - the maximum number of tuples to retain.
+        Specify 0 to disable count based retention.</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxRetentionTime</h4>
+<pre>public&nbsp;void&nbsp;setMaxRetentionTime(long&nbsp;age,
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">StreamScopeMXBean</a></code></span></div>
+<div class="block">Set the maximum retention time of a tuple.
+ <P>
+ The capture buffer is cleared.
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">setMaxRetentionTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>age</code> - the amount of time to retain a tuple.
+        Specify 0 to disable age based retention.</dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="setCaptureByCount-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCaptureByCount</h4>
+<pre>public&nbsp;void&nbsp;setCaptureByCount(int&nbsp;count)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setCaptureByCount-int-">StreamScopeMXBean</a></code></span></div>
+<div class="block">Capture the first and every nth tuple</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setCaptureByCount-int-">setCaptureByCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>count</code> - the nth value interval</dd>
+</dl>
+</li>
+</ul>
+<a name="setCaptureByTime-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setCaptureByTime</h4>
+<pre>public&nbsp;void&nbsp;setCaptureByTime(long&nbsp;elapsed,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">StreamScopeMXBean</a></code></span></div>
+<div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
+ <code>unit</code> time has elapsed since the previous captured tuple.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">setCaptureByTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>elapsed</code> - time to delay until next capture</dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScopeBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeRegistry.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeRegistry.html
new file mode 100644
index 0000000..e0f66af
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeRegistry.html
@@ -0,0 +1,531 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeRegistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamScopeRegistry (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":9,"i5":9,"i6":10,"i7":9,"i8":9,"i9":10,"i10":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeRegistry.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScopeRegistry.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.streamscope</div>
+<h2 title="Class StreamScopeRegistry" class="title">Class StreamScopeRegistry</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.streamscope.StreamScopeRegistry</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">StreamScopeRegistry</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">A registry for Stream "oscilloscope" <a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><code>StreamScope</code></a> instances.
+ <P>
+ The registry contains a collection of StreamScope instances
+ that are registered by one or more names.
+ </P><P>
+ The names are: by a TStream <a href="../../../../org/apache/edgent/topology/TStream.html#alias-java.lang.String-"><code>alias</code></a> or
+ by a stream's (output port's) unique identifier.
+ Static methods are provided for composing these names and extracting
+ the alias/identifier from generated names.
+ </P>
+ See <code>org.apache.edgent.providers.development.DevelopmentProvider</code></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#StreamScopeRegistry--">StreamScopeRegistry</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#getNames--">getNames</a></span>()</code>
+<div class="block">Get the registered names.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#getStreamScopes--">getStreamScopes</a></span>()</code>
+<div class="block">Get registered StreamScopes and the name(s) each is registered with.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#lookup-java.lang.String-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Lookup a StreamScope</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#mkStreamId-java.lang.String-java.lang.String-int-">mkStreamId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
+          int&nbsp;oport)</code>
+<div class="block">Make a streamId for the specified stream.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamAlias-java.lang.String-">nameForStreamAlias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
+<div class="block">create a registration name for a stream alias</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamId-java.lang.String-">nameForStreamId</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;streamId)</code>
+<div class="block">Create a registration name for a stream id.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#register-java.lang.String-org.apache.edgent.streamscope.StreamScope-">register</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+        <a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</code>
+<div class="block">Register a StreamScope by <code>name</code></div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#streamAliasFromName-java.lang.String-">streamAliasFromName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Extract the stream alias from a name</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#streamIdFromName-java.lang.String-">streamIdFromName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Extract the streamId from the name.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#unregister-org.apache.edgent.streamscope.StreamScope-">unregister</a></span>(<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</code>
+<div class="block">remove all name registrations of the StreamScope.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#unregister-java.lang.String-">unregister</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">remove the specific name registration.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="StreamScopeRegistry--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StreamScopeRegistry</h4>
+<pre>public&nbsp;StreamScopeRegistry()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="mkStreamId-java.lang.String-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>mkStreamId</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;mkStreamId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
+                                int&nbsp;oport)</pre>
+<div class="block">Make a streamId for the specified stream.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jobId</code> - the job id (e.g., "JOB_0")</dd>
+<dd><code>opletId</code> - the oplet id (e.g., "OP_2")</dd>
+<dd><code>oport</code> - the oplet output port index (0-based)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the streamId</dd>
+</dl>
+</li>
+</ul>
+<a name="nameForStreamAlias-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nameForStreamAlias</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nameForStreamAlias(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</pre>
+<div class="block">create a registration name for a stream alias</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>alias</code> - the alias</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+</dl>
+</li>
+</ul>
+<a name="nameForStreamId-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>nameForStreamId</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;nameForStreamId(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;streamId)</pre>
+<div class="block">Create a registration name for a stream id.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>streamId</code> - the stream id</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the value</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#mkStreamId-java.lang.String-java.lang.String-int-"><code>mkStreamId(String, String, int)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="streamAliasFromName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>streamAliasFromName</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;streamAliasFromName(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Extract the stream alias from a name</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>null if <code>name</code> is not from nameByStreamAlias()</dd>
+</dl>
+</li>
+</ul>
+<a name="streamIdFromName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>streamIdFromName</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;streamIdFromName(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Extract the streamId from the name.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>null if <code>name</code> is not from nameByStreamId()</dd>
+</dl>
+</li>
+</ul>
+<a name="register-java.lang.String-org.apache.edgent.streamscope.StreamScope-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>register</h4>
+<pre>public&nbsp;void&nbsp;register(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+                     <a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</pre>
+<div class="block">Register a StreamScope by <code>name</code>
+ <P>
+ A single StreamScope can be registered with multiple names.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name to register with</dd>
+<dd><code>streamScope</code> - the StreamScope</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if a registration already exists for <code>name</code></dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamId-java.lang.String-"><code>nameForStreamId(String)</code></a>, 
+<a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamAlias-java.lang.String-"><code>nameForStreamAlias(String)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="lookup-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lookup</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;lookup(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Lookup a StreamScope</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - a StreamScope is registration name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the StreamScope. null if name is not registered.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamId-java.lang.String-"><code>nameForStreamId(String)</code></a>, 
+<a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#nameForStreamAlias-java.lang.String-"><code>nameForStreamAlias(String)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="getNames--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNames</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getNames()</pre>
+<div class="block">Get the registered names.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>unmodifiable collection of the name.
+ The set is backed by the registry so the set may change.</dd>
+</dl>
+</li>
+</ul>
+<a name="getStreamScopes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStreamScopes</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;getStreamScopes()</pre>
+<div class="block">Get registered StreamScopes and the name(s) each is registered with.
+ The map is backed by the registry so its contents may change.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the map</dd>
+</dl>
+</li>
+</ul>
+<a name="unregister-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregister</h4>
+<pre>public&nbsp;void&nbsp;unregister(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">remove the specific name registration.  Other registration of the same StreamScope may still exist.
+ no-op if name is not registered.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name to unregister</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#unregister-org.apache.edgent.streamscope.StreamScope-"><code>unregister(StreamScope)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="unregister-org.apache.edgent.streamscope.StreamScope-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>unregister</h4>
+<pre>public&nbsp;void&nbsp;unregister(<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</pre>
+<div class="block">remove all name registrations of the StreamScope.
+ no-op if no registrations for the StreamScope</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>streamScope</code> - the StreamScope to unregister</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeRegistry.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScopeRegistry.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeRegistryBean.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeRegistryBean.html
new file mode 100644
index 0000000..97ee924
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeRegistryBean.html
@@ -0,0 +1,314 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeRegistryBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamScopeRegistryBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeRegistryBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScopeRegistryBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistryBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.streamscope</div>
+<h2 title="Class StreamScopeRegistryBean" class="title">Class StreamScopeRegistryBean</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.streamscope.StreamScopeRegistryBean</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">StreamScopeRegistryBean</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></pre>
+<div class="block">An implementation of <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeRegistryMXBean</code></a>.</div>
+</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>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.streamscope.mbeans.<a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></h3>
+<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#TYPE">TYPE</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html#StreamScopeRegistryBean-org.apache.edgent.streamscope.StreamScopeRegistry-org.apache.edgent.execution.services.ControlService-">StreamScopeRegistryBean</a></span>(<a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a>&nbsp;rgy,
+                       <a href="../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;cs)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
+      int&nbsp;oport)</code>
+<div class="block">Get the <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="StreamScopeRegistryBean-org.apache.edgent.streamscope.StreamScopeRegistry-org.apache.edgent.execution.services.ControlService-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StreamScopeRegistryBean</h4>
+<pre>public&nbsp;StreamScopeRegistryBean(<a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a>&nbsp;rgy,
+                               <a href="../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;cs)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="lookup-java.lang.String-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>lookup</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a>&nbsp;lookup(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
+                                int&nbsp;oport)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#lookup-java.lang.String-java.lang.String-int-">StreamScopeRegistryMXBean</a></code></span></div>
+<div class="block">Get the <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jobId</code> - the job id (e.g., "JOB_0")</dd>
+<dd><code>opletId</code> - the oplet id (e.g., "OP_2")</dd>
+<dd><code>oport</code> - the oplet output port index (0-based)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>null if not found</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeRegistryBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScopeRegistryBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistryBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeSetup.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeSetup.html
new file mode 100644
index 0000000..b8b7298
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/StreamScopeSetup.html
@@ -0,0 +1,287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeSetup (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamScopeSetup (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeSetup.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScopeSetup.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeSetup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.streamscope</div>
+<h2 title="Class StreamScopeSetup" class="title">Class StreamScopeSetup</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.streamscope.StreamScopeSetup</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">StreamScopeSetup</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Utility helpers for StreamScope setup and management.
+ <p>
+ This class is not thread safe.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeSetup.html#addStreamScopes-org.apache.edgent.topology.Topology-">addStreamScopes</a></span>(<a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
+<div class="block">Add StreamScope instances to the topology</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/streamscope/StreamScopeSetup.html#register-org.apache.edgent.execution.services.ServiceContainer-">register</a></span>(<a href="../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services)</code>
+<div class="block">Perform the registrations needed to use the streamscope package.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="register-org.apache.edgent.execution.services.ServiceContainer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>register</h4>
+<pre>public static&nbsp;void&nbsp;register(<a href="../../../../org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services">ServiceContainer</a>&nbsp;services)</pre>
+<div class="block">Perform the registrations needed to use the streamscope package.
+ <P>
+ Typically called during <a href="../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> construction.
+ </P>
+ <UL>
+ <LI>register the StreamScopeRegistry service</LI>
+ <LI>register a cleaner to remove job oplet StreamScope registrations</LI>
+ <LI>register a StreamScopeRegistryMXBean with the registered ControlService</LI>
+ </UL></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>services</code> - ServiceContainer to register with.</dd>
+</dl>
+</li>
+</ul>
+<a name="addStreamScopes-org.apache.edgent.topology.Topology-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>addStreamScopes</h4>
+<pre>public static&nbsp;void&nbsp;addStreamScopes(<a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</pre>
+<div class="block">Add StreamScope instances to the topology
+ <P>
+ Instrument the topology by adding StreamScope peekers to the
+ topology's streams.  At topology submission time, StreamScopes
+ register themselves with the topology's
+ <a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><code>StreamScopeRegistry</code></a> runtime service.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>t</code> - the Topology.  The operation is a no-op if the topology
+     does not have a StreamScopeRegistry service.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/streamscope/StreamScopeSetup.html#register-org.apache.edgent.execution.services.ServiceContainer-"><code>register</code></a>, 
+<a href="../../../../org/apache/edgent/graph/Graph.html#peekAll-org.apache.edgent.function.Supplier-org.apache.edgent.function.Predicate-"><code>Graph.peekAll()</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeSetup.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/StreamScopeSetup.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeSetup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.BufferManager.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.BufferManager.html
new file mode 100644
index 0000000..a442c52
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.BufferManager.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScope.BufferManager (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope.BufferManager (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScope.BufferManager.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.BufferManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.streamscope.StreamScope.BufferManager" class="title">Uses of Class<br>org.apache.edgent.streamscope.StreamScope.BufferManager</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a> in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> that return <a href="../../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScope.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScope.html#bufferMgr--">bufferMgr</a></span>()</code>
+<div class="block">Get the <a href="../../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.BufferManager</code></a></div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScope.BufferManager.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.BufferManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.Sample.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.Sample.html
new file mode 100644
index 0000000..6d1c32f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.Sample.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScope.Sample (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope.Sample (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScope.Sample.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.Sample.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.streamscope.StreamScope.Sample" class="title">Uses of Class<br>org.apache.edgent.streamscope.StreamScope.Sample</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a> in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScope.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScope.html#getSamples--">getSamples</a></span>()</code>
+<div class="block">Get all captured tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScope.Sample.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.Sample.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.TriggerManager.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.TriggerManager.html
new file mode 100644
index 0000000..3377bcf
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.TriggerManager.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScope.TriggerManager (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope.TriggerManager (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScope.TriggerManager.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.TriggerManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.streamscope.StreamScope.TriggerManager" class="title">Uses of Class<br>org.apache.edgent.streamscope.StreamScope.TriggerManager</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a> in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> that return <a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScope.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScope.html#triggerMgr--">triggerMgr</a></span>()</code>
+<div class="block">Get the <a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><code>StreamScope.TriggerManager</code></a></div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScope.TriggerManager.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.TriggerManager.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.html
new file mode 100644
index 0000000..f2bf896
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScope.html
@@ -0,0 +1,218 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScope (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScope.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.streamscope.StreamScope" class="title">Uses of Class<br>org.apache.edgent.streamscope.StreamScope</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a> in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> that return <a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScopeRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#lookup-java.lang.String-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Lookup a StreamScope</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScopeRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#getStreamScopes--">getStreamScopes</a></span>()</code>
+<div class="block">Get registered StreamScopes and the name(s) each is registered with.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> with parameters of type <a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScopeRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#register-java.lang.String-org.apache.edgent.streamscope.StreamScope-">register</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+        <a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</code>
+<div class="block">Register a StreamScope by <code>name</code></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScopeRegistry.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html#unregister-org.apache.edgent.streamscope.StreamScope-">unregister</a></span>(<a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</code>
+<div class="block">remove all name registrations of the StreamScope.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> with parameters of type <a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeBean.html#StreamScopeBean-org.apache.edgent.streamscope.StreamScope-">StreamScopeBean</a></span>(<a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;?&gt;&nbsp;streamScope)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScope.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeBean.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeBean.html
new file mode 100644
index 0000000..c467b8c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeBean.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScopeBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScopeBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.streamscope.StreamScopeBean" class="title">Uses of Class<br>org.apache.edgent.streamscope.StreamScopeBean</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.streamscope.StreamScopeBean</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScopeBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeRegistry.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeRegistry.html
new file mode 100644
index 0000000..6f43193
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeRegistry.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScopeRegistry (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeRegistry (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScopeRegistry.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.streamscope.StreamScopeRegistry" class="title">Uses of Class<br>org.apache.edgent.streamscope.StreamScopeRegistry</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a> in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> with parameters of type <a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html#StreamScopeRegistryBean-org.apache.edgent.streamscope.StreamScopeRegistry-org.apache.edgent.execution.services.ControlService-">StreamScopeRegistryBean</a></span>(<a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a>&nbsp;rgy,
+                       <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>&nbsp;cs)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScopeRegistry.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistry.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeRegistryBean.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeRegistryBean.html
new file mode 100644
index 0000000..51eea09
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeRegistryBean.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScopeRegistryBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeRegistryBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScopeRegistryBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistryBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.streamscope.StreamScopeRegistryBean" class="title">Uses of Class<br>org.apache.edgent.streamscope.StreamScopeRegistryBean</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.streamscope.StreamScopeRegistryBean</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScopeRegistryBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistryBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeSetup.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeSetup.html
new file mode 100644
index 0000000..55c4898
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/class-use/StreamScopeSetup.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.StreamScopeSetup (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.StreamScopeSetup (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScopeSetup.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeSetup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.streamscope.StreamScopeSetup" class="title">Uses of Class<br>org.apache.edgent.streamscope.StreamScopeSetup</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.streamscope.StreamScopeSetup</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/class-use/StreamScopeSetup.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeSetup.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html
new file mode 100644
index 0000000..862148a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html
@@ -0,0 +1,508 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamScopeMXBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeMXBean.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.streamscope.mbeans</div>
+<h2 title="Interface StreamScopeMXBean" class="title">Interface StreamScopeMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">StreamScopeMXBean</span></pre>
+<div class="block">A Stream "oscilloscope" for capturing stream tuples for analysis / debug.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeRegistryMXBean</code></a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#TYPE">TYPE</a></span></code>
+<div class="block">TYPE is used to identify this bean as a StreamScope bean when building the bean's <code>ObjectName</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#getSampleCount--">getSampleCount</a></span>()</code>
+<div class="block">Get the number of Samples currently captured</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#getSamples--">getSamples</a></span>()</code>
+<div class="block">Get all captured tuples as JSON.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#isEnabled--">isEnabled</a></span>()</code>
+<div class="block">Is tuple capture enabled?</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#isPaused--">isPaused</a></span>()</code>
+<div class="block">Is capture paused?</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setCaptureByCount-int-">setCaptureByCount</a></span>(int&nbsp;count)</code>
+<div class="block">Capture the first and every nth tuple</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setCaptureByTime-long-java.util.concurrent.TimeUnit-">setCaptureByTime</a></span>(long&nbsp;elapsed,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
+ <code>unit</code> time has elapsed since the previous captured tuple.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setEnabled-boolean-">setEnabled</a></span>(boolean&nbsp;isEnabled)</code>
+<div class="block">Enable or disable tuple capture.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setMaxRetentionCount-int-">setMaxRetentionCount</a></span>(int&nbsp;maxCount)</code>
+<div class="block">Set the maximum number of tuples to retain.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">setMaxRetentionTime</a></span>(long&nbsp;age,
+                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Set the maximum retention time of a tuple.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setPaused-boolean-">setPaused</a></span>(boolean&nbsp;paused)</code>
+<div class="block">Set capture paused control</div>
+</td>
+</tr>
+</table>
+</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="TYPE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TYPE</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE</pre>
+<div class="block">TYPE is used to identify this bean as a StreamScope bean when building the bean's <code>ObjectName</code>.
+ The value is "streamScope"</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.streamscope.mbeans.StreamScopeMXBean.TYPE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="isEnabled--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isEnabled</h4>
+<pre>boolean&nbsp;isEnabled()</pre>
+<div class="block">Is tuple capture enabled?</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if enabled.</dd>
+</dl>
+</li>
+</ul>
+<a name="setEnabled-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setEnabled</h4>
+<pre>void&nbsp;setEnabled(boolean&nbsp;isEnabled)</pre>
+<div class="block">Enable or disable tuple capture.
+ <P>
+ Disabling releases the capture buffer.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>isEnabled</code> - true to enable, false to disable.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html#setPaused-boolean-"><code>setPaused(boolean)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="isPaused--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isPaused</h4>
+<pre>boolean&nbsp;isPaused()</pre>
+<div class="block">Is capture paused?</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true if paused</dd>
+</dl>
+</li>
+</ul>
+<a name="setPaused-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setPaused</h4>
+<pre>void&nbsp;setPaused(boolean&nbsp;paused)</pre>
+<div class="block">Set capture paused control
+ <P>
+ Pausing doesn't affect the capture buffer's current contents.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>paused</code> - true to pause, false to clear pause.</dd>
+</dl>
+</li>
+</ul>
+<a name="getSamples--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSamples</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getSamples()</pre>
+<div class="block">Get all captured tuples as JSON.
+ <P>
+ The JSON is that generated by <code>Gson.toJson(StreamScope.getSamples())</code>.
+ </P><P>
+ The JSON is an array of <a href="../../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope"><code>Sample</code></a> JSON objects.  
+ Each Sample JSON object consists of:
+ <UL>
+ <LI>ts - long. capture timestamp in millis from System.currentTimeMillis()</LI>
+ <LI>nanos - long. capture nanosecond timestamp from System.nanoTime()</LI>
+ <LI>tuple - see below</LI>
+ </UL>
+ The value of the "tuple" property is:
+ <UL>
+ <LI>for a primitive tuple type like String, Numeric or Boolean it's a 
+ JSON string, numeric, or boolean value respectively.</LI>
+ <LI>Arrays or collections are a JSON array of JSON elements for the members.</LI>
+ <LI>For other types it's a JSON object with the type's
+ members and JSON encoding of their values.</LI>
+ </UL>
+ <P>
+ The returned samples are removed from the capture buffer.
+ </P></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>JSON of the captured samples</dd>
+</dl>
+</li>
+</ul>
+<a name="getSampleCount--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSampleCount</h4>
+<pre>int&nbsp;getSampleCount()</pre>
+<div class="block">Get the number of Samples currently captured</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the count</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxRetentionCount-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxRetentionCount</h4>
+<pre>void&nbsp;setMaxRetentionCount(int&nbsp;maxCount)</pre>
+<div class="block">Set the maximum number of tuples to retain.
+ <P>
+ The capture buffer is cleared.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxCount</code> - the maximum number of tuples to retain.
+        Specify 0 to disable count based retention.</dd>
+</dl>
+</li>
+</ul>
+<a name="setMaxRetentionTime-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setMaxRetentionTime</h4>
+<pre>void&nbsp;setMaxRetentionTime(long&nbsp;age,
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Set the maximum retention time of a tuple.
+ <P>
+ The capture buffer is cleared.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>age</code> - the amount of time to retain a tuple.
+        Specify 0 to disable age based retention.</dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="setCaptureByCount-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCaptureByCount</h4>
+<pre>void&nbsp;setCaptureByCount(int&nbsp;count)</pre>
+<div class="block">Capture the first and every nth tuple</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>count</code> - the nth value interval</dd>
+</dl>
+</li>
+</ul>
+<a name="setCaptureByTime-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setCaptureByTime</h4>
+<pre>void&nbsp;setCaptureByTime(long&nbsp;elapsed,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Capture the 1st tuple and then the next tuple after <code>period</code>
+ <code>unit</code> time has elapsed since the previous captured tuple.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>elapsed</code> - time to delay until next capture</dd>
+<dd><code>unit</code> - <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent"><code>TimeUnit</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeMXBean.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html
new file mode 100644
index 0000000..5ac123f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html
@@ -0,0 +1,292 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScopeRegistryMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamScopeRegistryMXBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeRegistryMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistryMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.streamscope.mbeans</div>
+<h2 title="Interface StreamScopeRegistryMXBean" class="title">Interface StreamScopeRegistryMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistryBean</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">StreamScopeRegistryMXBean</span></pre>
+<div class="block">A registry for <a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> instances.
+ <P>
+ The registry contains a collection of StreamScopeMXBean instances
+ that are registered by a stream identifier.
+ </P>
+ See <code>org.apache.edgent.providers.development.DevelopmentProvider</code></div>
+</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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#TYPE">TYPE</a></span></code>
+<div class="block">TYPE is used to identify this bean as a StreamScopeRegistry bean when building the bean's <code>ObjectName</code>.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
+      int&nbsp;oport)</code>
+<div class="block">Get the <a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</div>
+</td>
+</tr>
+</table>
+</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="TYPE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TYPE</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE</pre>
+<div class="block">TYPE is used to identify this bean as a StreamScopeRegistry bean when building the bean's <code>ObjectName</code>.
+ The value is "streamScopeRegistry"</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean.TYPE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="lookup-java.lang.String-java.lang.String-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>lookup</h4>
+<pre><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a>&nbsp;lookup(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+                         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
+                         int&nbsp;oport)</pre>
+<div class="block">Get the <a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jobId</code> - the job id (e.g., "JOB_0")</dd>
+<dd><code>opletId</code> - the oplet id (e.g., "OP_2")</dd>
+<dd><code>oport</code> - the oplet output port index (0-based)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>null if not found</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScopeRegistryMXBean.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistryMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeMXBean.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeMXBean.html
new file mode 100644
index 0000000..5e551e6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeMXBean.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeMXBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/streamscope/mbeans/class-use/StreamScopeMXBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeMXBean" class="title">Uses of Interface<br>org.apache.edgent.streamscope.mbeans.StreamScopeMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.mbeans">org.apache.edgent.streamscope.mbeans</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>
+ Management Bean interfaces.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a> in <a href="../../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> that implement <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></span></code>
+<div class="block">Implementation of <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> that return <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScopeRegistryBean.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
+      int&nbsp;oport)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.mbeans">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a> in <a href="../../../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a> that return <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScopeRegistryMXBean.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html#lookup-java.lang.String-java.lang.String-int-">lookup</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jobId,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;opletId,
+      int&nbsp;oport)</code>
+<div class="block">Get the <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> registered for the specified stream</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/streamscope/mbeans/class-use/StreamScopeMXBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeRegistryMXBean.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeRegistryMXBean.html
new file mode 100644
index 0000000..507f70d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/class-use/StreamScopeRegistryMXBean.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/streamscope/mbeans/class-use/StreamScopeRegistryMXBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistryMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean" class="title">Uses of Interface<br>org.apache.edgent.streamscope.mbeans.StreamScopeRegistryMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a> in <a href="../../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> that implement <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistryBean</a></span></code>
+<div class="block">An implementation of <a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeRegistryMXBean</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/streamscope/mbeans/class-use/StreamScopeRegistryMXBean.html" target="_top">Frames</a></li>
+<li><a href="StreamScopeRegistryMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-frame.html
new file mode 100644
index 0000000..f69d2ae
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/streamscope/mbeans/package-summary.html" target="classFrame">org.apache.edgent.streamscope.mbeans</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans" target="classFrame"><span class="interfaceName">StreamScopeMXBean</span></a></li>
+<li><a href="StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans" target="classFrame"><span class="interfaceName">StreamScopeRegistryMXBean</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-summary.html
new file mode 100644
index 0000000..8347d1b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-summary.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.streamscope.mbeans (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/streamscope/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/mbeans/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.streamscope.mbeans</h1>
+<div class="docSummary">
+<div class="block">Stream Oscilloscope <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>
+ Management Bean interfaces.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a></td>
+<td class="colLast">
+<div class="block">A Stream "oscilloscope" for capturing stream tuples for analysis / debug.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a></td>
+<td class="colLast">
+<div class="block">A registry for <a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> instances.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.streamscope.mbeans Description">Package org.apache.edgent.streamscope.mbeans Description</h2>
+<div class="block">Stream Oscilloscope <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>
+ Management Bean interfaces.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/streamscope/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/mbeans/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-tree.html
new file mode 100644
index 0000000..49c854b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-tree.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.streamscope.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/streamscope/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/oplets/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/mbeans/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.streamscope.mbeans</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.streamscope.mbeans.<a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="typeNameLink">StreamScopeMXBean</span></a></li>
+<li type="circle">org.apache.edgent.streamscope.mbeans.<a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="typeNameLink">StreamScopeRegistryMXBean</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/streamscope/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/streamscope/oplets/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/mbeans/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-use.html
new file mode 100644
index 0000000..55e9227
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/mbeans/package-use.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.streamscope.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.streamscope.mbeans (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/mbeans/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.streamscope.mbeans" class="title">Uses of Package<br>org.apache.edgent.streamscope.mbeans</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope.mbeans">org.apache.edgent.streamscope.mbeans</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope <a href="../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>
+ Management Bean interfaces.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a> used by <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/streamscope/mbeans/class-use/StreamScopeMXBean.html#org.apache.edgent.streamscope">StreamScopeMXBean</a>
+<div class="block">A Stream "oscilloscope" for capturing stream tuples for analysis / debug.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/streamscope/mbeans/class-use/StreamScopeRegistryMXBean.html#org.apache.edgent.streamscope">StreamScopeRegistryMXBean</a>
+<div class="block">A registry for <a href="../../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> instances.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope.mbeans">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a> used by <a href="../../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/streamscope/mbeans/class-use/StreamScopeMXBean.html#org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a>
+<div class="block">A Stream "oscilloscope" for capturing stream tuples for analysis / debug.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/mbeans/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/StreamScope.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/StreamScope.html
new file mode 100644
index 0000000..c88b73b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/StreamScope.html
@@ -0,0 +1,360 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>StreamScope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StreamScope (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScope.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/StreamScope.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.streamscope.oplets</div>
+<h2 title="Class StreamScope" class="title">Class StreamScope&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.AbstractOplet</a>&lt;I,O&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a>&lt;T,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Peek</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional.Peek</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.streamscope.oplets.StreamScope&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of the tuple.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;, <a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;T,T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">StreamScope&lt;T&gt;</span>
+extends <a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a>&lt;T&gt;</pre>
+<div class="block">A Stream "oscilloscope" oplet.
+ <P>
+ This class exists so that we can register a StreamScope at runtime
+ with jobId info (lacking a Function level initialize(FuntionScope) mechanism)
+ and so the Console can differentiate a StreamScope peek from any other
+ random Peek oplet use.  Remove this oplet subclass if/when it's no
+ longer needed to achieve the above purpose.
+ </P></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.streamscope.oplets.StreamScope">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html#StreamScope-org.apache.edgent.function.Consumer-">StreamScope</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&nbsp;streamScope)</code>
+<div class="block">Create a new instance.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></span>(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>,<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&nbsp;context)</code>
+<div class="block">Initialize the oplet.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.functional.Peek">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/functional/Peek.html#close--">close</a>, <a href="../../../../../org/apache/edgent/oplet/functional/Peek.html#getPeeker--">getPeeker</a>, <a href="../../../../../org/apache/edgent/oplet/functional/Peek.html#peek-T-">peek</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Peek">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Peek.html#accept-T-">accept</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getDestination--">getDestination</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#getInputs--">getInputs</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#start--">start</a>, <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#submit-O-">submit</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.oplet.core.AbstractOplet">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a></h3>
+<code><a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html#getOpletContext--">getOpletContext</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="StreamScope-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StreamScope</h4>
+<pre>public&nbsp;StreamScope(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&nbsp;streamScope)</pre>
+<div class="block">Create a new instance.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>streamScope</code> - the consumer function</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="initialize-org.apache.edgent.oplet.OpletContext-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>initialize</h4>
+<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>,<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;&nbsp;context)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">Oplet</a></code></span></div>
+<div class="block">Initialize the oplet.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/Oplet.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>,<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html#initialize-org.apache.edgent.oplet.OpletContext-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>,<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>context</code> - the OpletContext</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StreamScope.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/StreamScope.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/class-use/StreamScope.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/class-use/StreamScope.html
new file mode 100644
index 0000000..064ce9f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/class-use/StreamScope.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.streamscope.oplets.StreamScope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.streamscope.oplets.StreamScope (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/streamscope/oplets/class-use/StreamScope.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.streamscope.oplets.StreamScope" class="title">Uses of Class<br>org.apache.edgent.streamscope.oplets.StreamScope</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.streamscope.oplets.StreamScope</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/streamscope/oplets/class-use/StreamScope.html" target="_top">Frames</a></li>
+<li><a href="StreamScope.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-frame.html
new file mode 100644
index 0000000..2847658
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/streamscope/oplets/package-summary.html" target="classFrame">org.apache.edgent.streamscope.oplets</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="StreamScope.html" title="class in org.apache.edgent.streamscope.oplets" target="classFrame">StreamScope</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-summary.html
new file mode 100644
index 0000000..7cd41be
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-summary.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.streamscope.oplets (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.streamscope.oplets</h1>
+<div class="docSummary">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">StreamScope</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A Stream "oscilloscope" oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.streamscope.oplets Description">Package org.apache.edgent.streamscope.oplets Description</h2>
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-tree.html
new file mode 100644
index 0000000..7c981fb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-tree.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.streamscope.oplets Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/streamscope/mbeans/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.streamscope.oplets</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="../../../../../org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Pipe</span></a>&lt;I,O&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="../../../../../org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Peek</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="../../../../../org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Peek</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.streamscope.oplets.<a href="../../../../../org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets"><span class="typeNameLink">StreamScope</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/streamscope/mbeans/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-use.html
new file mode 100644
index 0000000..acd1066
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/oplets/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.streamscope.oplets (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.streamscope.oplets (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.streamscope.oplets" class="title">Uses of Package<br>org.apache.edgent.streamscope.oplets</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.streamscope.oplets</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/streamscope/oplets/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-frame.html
new file mode 100644
index 0000000..537d9cb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-frame.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../org/apache/edgent/streamscope/package-summary.html" target="classFrame">org.apache.edgent.streamscope</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="StreamScope.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScope</a></li>
+<li><a href="StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScope.BufferManager</a></li>
+<li><a href="StreamScope.Sample.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScope.Sample</a></li>
+<li><a href="StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScope.TriggerManager</a></li>
+<li><a href="StreamScopeBean.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScopeBean</a></li>
+<li><a href="StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScopeRegistry</a></li>
+<li><a href="StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScopeRegistryBean</a></li>
+<li><a href="StreamScopeSetup.html" title="class in org.apache.edgent.streamscope" target="classFrame">StreamScopeSetup</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-summary.html
new file mode 100644
index 0000000..d6dbc3c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-summary.html
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.streamscope (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.streamscope</h1>
+<div class="docSummary">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">StreamScope</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A Stream "oscilloscope" for capturing stream tuples for analysis / debug.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Control the retention of captured tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope">StreamScope.Sample</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A captured tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Control what triggers capturing of tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope">StreamScopeBean</a></td>
+<td class="colLast">
+<div class="block">Implementation of <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistry</a></td>
+<td class="colLast">
+<div class="block">A registry for Stream "oscilloscope" <a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><code>StreamScope</code></a> instances.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope">StreamScopeRegistryBean</a></td>
+<td class="colLast">
+<div class="block">An implementation of <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeRegistryMXBean</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope">StreamScopeSetup</a></td>
+<td class="colLast">
+<div class="block">Utility helpers for StreamScope setup and management.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.streamscope Description">Package org.apache.edgent.streamscope Description</h2>
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.
+ <P>
+ A <a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><code>StreamScope</code></a> captures tuples.
+ StreamScopes are registered with a <a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><code>StreamScopeRegistry</code></a>
+ runtime service and are also controllable via
+ <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeMXBean</code></a> mbeans
+ registered with a <a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><code>StreamScopeRegistryMXBean</code></a>
+ runtime <a href="../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>.
+ </P><P>
+ <a href="../../../../org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope"><code>StreamScopeSetup</code></a> performs the necessary setup for a
+ <a href="../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> to use the package,
+ including registration of services and instrumenting a topology with
+ StreamScope instances.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/runtime/jsoncontrol/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/mbeans/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-tree.html
new file mode 100644
index 0000000..89ee9ac
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-tree.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.streamscope Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.streamscope Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/runtime/jsoncontrol/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/mbeans/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.streamscope</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.streamscope.<a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="../../../../org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.BufferManager</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="../../../../org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.Sample</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="../../../../org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.TriggerManager</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="../../../../org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeBean</span></a> (implements org.apache.edgent.streamscope.mbeans.<a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a>)</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeRegistry</span></a></li>
+<li type="circle">org.apache.edgent.streamscope.<a href="../../../../org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeRegistryBean</span></a> (implements org.apache.edgent.streamscope.mbeans.<a href="../../../../org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a>)</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="../../../../org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeSetup</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/runtime/jsoncontrol/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/streamscope/mbeans/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-use.html
new file mode 100644
index 0000000..00af3bf
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/streamscope/package-use.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.streamscope (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.streamscope (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.streamscope" class="title">Uses of Package<br>org.apache.edgent.streamscope</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> used by <a href="../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/streamscope/class-use/StreamScope.html#org.apache.edgent.streamscope">StreamScope</a>
+<div class="block">A Stream "oscilloscope" for capturing stream tuples for analysis / debug.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/streamscope/class-use/StreamScope.BufferManager.html#org.apache.edgent.streamscope">StreamScope.BufferManager</a>
+<div class="block">Control the retention of captured tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/streamscope/class-use/StreamScope.Sample.html#org.apache.edgent.streamscope">StreamScope.Sample</a>
+<div class="block">A captured tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/streamscope/class-use/StreamScope.TriggerManager.html#org.apache.edgent.streamscope">StreamScope.TriggerManager</a>
+<div class="block">Control what triggers capturing of tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/streamscope/class-use/StreamScopeRegistry.html#org.apache.edgent.streamscope">StreamScopeRegistry</a>
+<div class="block">A registry for Stream "oscilloscope" <a href="../../../../org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><code>StreamScope</code></a> instances.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/streamscope/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/TSink.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/TSink.html
new file mode 100644
index 0000000..489605c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/TSink.html
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TSink (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TSink (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TSink.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/TSink.html" target="_top">Frames</a></li>
+<li><a href="TSink.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology</div>
+<h2 title="Interface TSink" class="title">Interface TSink&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">TSink&lt;T&gt;</span>
+extends <a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></pre>
+<div class="block">Termination point (sink) for a stream.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TSink.html" title="type parameter in TSink">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TSink.html#getFeed--">getFeed</a></span>()</code>
+<div class="block">Get the stream feeding this sink.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TopologyElement">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></h3>
+<code><a href="../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getFeed--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getFeed</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TSink.html" title="type parameter in TSink">T</a>&gt;&nbsp;getFeed()</pre>
+<div class="block">Get the stream feeding this sink.
+ The returned reference may be used for
+ further processing of the feeder stream.
+ <BR>
+ For example, <code>s.print().filter(...)</code>
+ <BR>
+ Here the filter is applied
+ to <code>s</code> so that <code>s</code> feeds
+ the <code>print()</code> and <code>filter()</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>stream feeding this sink.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TSink.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/TSink.html" target="_top">Frames</a></li>
+<li><a href="TSink.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/TStream.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/TStream.html
new file mode 100644
index 0000000..b5b3c98
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/TStream.html
@@ -0,0 +1,1119 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TStream (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TStream.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/TStream.html" target="_top">Frames</a></li>
+<li><a href="TStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology</div>
+<h2 title="Interface TStream" class="title">Interface TStream&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type.</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a>, <a href="../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">TStream&lt;T&gt;</span>
+extends <a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></pre>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples. A
+ connected topology of streams and functional transformations is built using
+ <a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><code>Topology</code></a>. <BR>
+ Generic methods on this interface provide the ability to
+ <a href="../../../../org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-"><code>filter</code></a>, <a href="../../../../org/apache/edgent/topology/TStream.html#map-org.apache.edgent.function.Function-"><code>map (or transform)</code></a> or <a href="../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-"><code>sink</code></a> this declared stream using a
+ function.
+ <P>
+ <code>TStream</code> is not a runtime representation of a stream,
+ it is a declaration used in building a topology.
+ The actual runtime stream is created once the topology
+ is <a href="../../../../org/apache/edgent/execution/Submitter.html#submit-E-"><code>submitted</code></a>
+ to a runtime.
+ 
+ </P></div>
+</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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#TYPE">TYPE</a></span></code>
+<div class="block">TYPE is used to identify <a href="../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a> mbeans registered for
+ for a TStream.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#alias-java.lang.String-">alias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
+<div class="block">Set an alias for the stream.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#asString--">asString</a></span>()</code>
+<div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
+ <code>toString()</code> on each tuple.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;fanin,
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+<div class="block">Declare a stream that contains the output of the specified 
+ <a href="../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-">filter</a></span>(<a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;predicate)</code>
+<div class="block">Declare a new stream that filters tuples from this stream.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>
+<div class="block">Declare a new stream that maps tuples from this stream into one or
+ more (or zero) tuples of a different type <code>U</code>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#getAlias--">getAlias</a></span>()</code>
+<div class="block">Returns the stream's alias if any.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#getTags--">getTags</a></span>()</code>
+<div class="block">Returns the set of tags associated with this stream.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+    <a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
+    <a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with the last tuple seen on a stream of type <code>U</code>
+ with partitioning.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#last-int-org.apache.edgent.function.Function-">last</a></span>(int&nbsp;count,
+    <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</code>
+<div class="block">Declare a partitioned window that continually represents the last <code>count</code>
+ tuples on this stream for each partition.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+    <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</code>
+<div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
+ tuples on this stream for each partition.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#map-org.apache.edgent.function.Function-">map</a></span>(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;mapper)</code>
+<div class="block">Declare a new stream that maps (or transforms) each tuple from this stream into one
+ (or zero) tuple of a different type <code>U</code>.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#modify-org.apache.edgent.function.UnaryOperator-">modify</a></span>(<a href="../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;modifier)</code>
+<div class="block">Declare a new stream that modifies each tuple from this stream into one
+ (or zero) tuple of the same type <code>T</code>.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#peek-org.apache.edgent.function.Consumer-">peek</a></span>(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;peeker)</code>
+<div class="block">Declare a stream that contains the same contents as this stream while
+ peeking at each element using <code>peeker</code>.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">pipe</a></span>(<a href="../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;pipe)</code>
+<div class="block">Declare a stream that contains the output of the specified <a href="../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><code>Pipe</code></a>
+ oplet applied to this stream.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#print--">print</a></span>()</code>
+<div class="block">Utility method to print the contents of this stream
+ to <code>System.out</code> at runtime.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-">sink</a></span>(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;sinker)</code>
+<div class="block">Sink (terminate) this stream using a function.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.oplet.core.Sink-">sink</a></span>(<a href="../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;oplet)</code>
+<div class="block">Sink (terminate) this stream using a oplet.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
+     <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,E&gt;&nbsp;splitter)</code>
+<div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
+ <code>splitter</code>.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
+     <a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;splitter)</code>
+<div class="block">Split a stream's tuples among <code>n</code> streams as specified by
+ <code>splitter</code>.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#tag-java.lang.String...-">tag</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</code>
+<div class="block">Adds the specified tags to the stream.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+<div class="block">Declare a stream that will contain all tuples from this stream and all the
+ streams in <code>others</code>.</div>
+</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TStream.html#union-org.apache.edgent.topology.TStream-">union</a></span>(<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;other)</code>
+<div class="block">Declare a stream that will contain all tuples from this stream and
+ <code>other</code>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TopologyElement">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></h3>
+<code><a href="../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</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="TYPE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TYPE</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE</pre>
+<div class="block">TYPE is used to identify <a href="../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a> mbeans registered for
+ for a TStream.
+ The value is "stream"</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.edgent.topology.TStream.TYPE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="filter-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>filter</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;filter(<a href="../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;predicate)</pre>
+<div class="block">Declare a new stream that filters tuples from this stream. Each tuple
+ <code>t</code> on this stream will appear in the returned stream if
+ <a href="../../../../org/apache/edgent/function/Predicate.html#test-T-"><code>filter.test(t)</code></a> returns <code>true</code>. If
+ <code>filter.test(t)</code> returns <code>false</code> then then <code>t</code> will not
+ appear in the returned stream.
+ <P>
+ Examples of filtering out all empty strings from stream <code>s</code> of type
+ <code>String</code>
+ </P>
+ 
+ <pre>
+ <code>
+ TStream&lt;String&gt; s = ...
+ TStream&lt;String&gt; filtered = s.filter(t -&gt; !t.isEmpty());
+             
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>predicate</code> - Filtering logic to be executed against each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Filtered stream</dd>
+</dl>
+</li>
+</ul>
+<a name="map-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>map</h4>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;map(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;mapper)</pre>
+<div class="block">Declare a new stream that maps (or transforms) each tuple from this stream into one
+ (or zero) tuple of a different type <code>U</code>. For each tuple <code>t</code>
+ on this stream, the returned stream will contain a tuple that is the
+ result of <code>mapper.apply(t)</code> when the return is not <code>null</code>.
+ If <code>mapper.apply(t)</code> returns <code>null</code> then no tuple
+ is submitted to the returned stream for <code>t</code>.
+ 
+ <P>
+ Examples of transforming a stream containing numeric values as
+ <code>String</code> objects into a stream of <code>Double</code> values.
+ </P>
+ 
+ <pre>
+ <code>
+ // Using lambda expression
+ TStream&lt;String&gt; strings = ...
+ TStream&lt;Double&gt; doubles = strings.map(v -&gt; Double.valueOf(v));
+ 
+ // Using method reference
+ TStream&lt;String&gt; strings = ...
+ TStream&lt;Double&gt; doubles = strings.map(Double::valueOf);
+ 
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type of output stream</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mapper</code> - Mapping logic to be executed against each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that will contain tuples of type <code>U</code> mapped from this
+         stream's tuples.</dd>
+</dl>
+</li>
+</ul>
+<a name="flatMap-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>flatMap</h4>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;flatMap(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</pre>
+<div class="block">Declare a new stream that maps tuples from this stream into one or
+ more (or zero) tuples of a different type <code>U</code>. For each tuple
+ <code>t</code> on this stream, the returned stream will contain all non-null tuples in
+ the <code>Iterator&lt;U&gt;</code> that is the result of <code>mapper.apply(t)</code>.
+ Tuples will be added to the returned stream in the order the iterator
+ returns them.
+ 
+ <BR>
+ If the return is null or an empty iterator then no tuples are added to
+ the returned stream for input tuple <code>t</code>.
+ <P>
+ Examples of mapping a stream containing lines of text into a stream
+ of words split out from each line. The order of the words in the stream
+ will match the order of the words in the lines.
+ </P>
+ 
+ <pre>
+ <code>
+ TStream&lt;String&gt; lines = ...
+ TStream&lt;String&gt; words = lines.flatMap(
+                     line -&gt; Arrays.asList(line.split(" ")));
+             
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Type of mapped input tuples.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mapper</code> - Mapper logic to be executed against each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that will contain tuples of type <code>U</code> mapped and flattened from this
+         stream's tuples.</dd>
+</dl>
+</li>
+</ul>
+<a name="split-int-org.apache.edgent.function.ToIntFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>split</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;split(int&nbsp;n,
+                       <a href="../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;splitter)</pre>
+<div class="block">Split a stream's tuples among <code>n</code> streams as specified by
+ <code>splitter</code>.
+ 
+ <P>
+ For each tuple on the stream, <code>splitter.applyAsInt(tuple)</code> is
+ called. The return value <code>r</code> determines the destination stream:
+ </P>
+ 
+ <pre>
+ if r &lt; 0 the tuple is discarded
+ else it is sent to the stream at position (r % n) in the returned array.
+ </pre>
+
+ <P>
+ Each split <code>TStream</code> is exposed by the API. The user has full
+ control over the each stream's processing pipeline. Each stream's
+ pipeline must be declared explicitly. Each stream can have different
+ processing pipelines.
+ </P>
+ <P>
+ An N-way <code>split()</code> is logically equivalent to a collection of N
+ <code>filter()</code> invocations, each with a predicate to select the tuples
+ for its stream. <code>split()</code> is more efficient. Each tuple is analyzed
+ only once by a single <code>splitter</code> instance to identify the
+ destination stream. For example, these are logically equivalent:
+ </P>
+ <pre>
+ List&lt;TStream&lt;String&gt;&gt; streams = stream.split(2, tuple -&gt; tuple.length());
+ 
+ TStream&lt;String&gt; stream0 = stream.filter(tuple -&gt; (tuple.length() % 2) == 0);
+ TStream&lt;String&gt; stream1 = stream.filter(tuple -&gt; (tuple.length() % 2) == 1);
+ </pre>
+ <P>
+ Example of splitting a stream of log records by their level attribute:
+ </P>
+ 
+ <pre>
+ <code>
+ TStream&lt;LogRecord&gt; lrs = ...
+ List&lt;&lt;TStream&lt;LogRecord&gt;&gt; splits = lrr.split(3, lr -&gt; {
+            if (SEVERE.equals(lr.getLevel()))
+                return 0;
+            else if (WARNING.equals(lr.getLevel()))
+                return 1;
+            else
+                return 2;
+        });
+ splits.get(0). ... // SEVERE log record processing pipeline
+ splits.get(1). ... // WARNING log record  processing pipeline
+ splits.get(2). ... // "other" log record processing pipeline
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>n</code> - the number of output streams</dd>
+<dd><code>splitter</code> - the splitter function</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>List of <code>n</code> streams</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if <code>n &lt;= 0</code></dd>
+</dl>
+</li>
+</ul>
+<a name="split-java.lang.Class-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>split</h4>
+<pre>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;split(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
+                                                <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,E&gt;&nbsp;splitter)</pre>
+<div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
+ <code>splitter</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>E</code> - Enum type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>enumClass</code> - enum data to split</dd>
+<dd><code>splitter</code> - the splitter function</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>EnumMap&lt;E,TStream&lt;T&gt;&gt;</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if <code>enumclass.size &lt;= 0</code></dd>
+</dl>
+</li>
+</ul>
+<a name="peek-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>peek</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;peek(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;peeker)</pre>
+<div class="block">Declare a stream that contains the same contents as this stream while
+ peeking at each element using <code>peeker</code>. <BR>
+ For each tuple <code>t</code> on this stream, <code>peeker.accept(t)</code> will be
+ called.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>peeker</code> - Function to be called for each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>this</code></dd>
+</dl>
+</li>
+</ul>
+<a name="sink-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sink</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;sink(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;sinker)</pre>
+<div class="block">Sink (terminate) this stream using a function. For each tuple <code>t</code> on this stream
+ <a href="../../../../org/apache/edgent/function/Consumer.html#accept-T-"><code>sinker.accept(t)</code></a> will be called. This is
+ typically used to send information to external systems, such as databases
+ or dashboards.
+ <p>
+ If <code>sinker</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
+ method will be called when the topology's execution is terminated.
+ </P>
+ <P>
+ Example of terminating a stream of <code>String</code> tuples by printing them
+ to <code>System.out</code>.
+ </P>
+ 
+ <pre>
+ <code>
+ TStream&lt;String&gt; values = ...
+ values.sink(t -&gt; System.out.println(tuple));
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sinker</code> - Logic to be executed against each tuple on this stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="sink-org.apache.edgent.oplet.core.Sink-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sink</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;sink(<a href="../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;oplet)</pre>
+<div class="block">Sink (terminate) this stream using a oplet.
+ This provides a richer api for a sink than
+ <a href="../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-"><code>sink(Consumer)</code></a> with a full life-cycle of
+ the oplet as well as easy access to
+ <a href="../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><code>runtime services</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>oplet</code> - Oplet processes each tuple without producing output.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="pipe-org.apache.edgent.oplet.core.Pipe-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pipe</h4>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;pipe(<a href="../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;pipe)</pre>
+<div class="block">Declare a stream that contains the output of the specified <a href="../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><code>Pipe</code></a>
+ oplet applied to this stream.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type of the returned stream.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pipe</code> - The <a href="../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><code>Pipe</code></a> oplet.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Declared stream that contains the tuples emitted by the pipe
+      oplet.</dd>
+</dl>
+</li>
+</ul>
+<a name="fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fanin</h4>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;fanin(<a href="../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;fanin,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</pre>
+<div class="block">Declare a stream that contains the output of the specified 
+ <a href="../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type of the returned streams.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fanin</code> - The <a href="../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet.</dd>
+<dd><code>others</code> - The other input streams. 
+        Must not be empty or contain duplicates or <code>this</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a stream that contains the tuples emitted by the oplet.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-"><code>union(Set)</code></a>, 
+<a href="../../../../org/apache/edgent/topology/TStream.html#pipe-org.apache.edgent.oplet.core.Pipe-"><code>pipe(Pipe)</code></a>, 
+<a href="../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.oplet.core.Sink-"><code>sink(Sink)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="modify-org.apache.edgent.function.UnaryOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>modify</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;modify(<a href="../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;modifier)</pre>
+<div class="block">Declare a new stream that modifies each tuple from this stream into one
+ (or zero) tuple of the same type <code>T</code>. For each tuple <code>t</code>
+ on this stream, the returned stream will contain a tuple that is the
+ result of <code>modifier.apply(t)</code> when the return is not <code>null</code>.
+ The function may return the same reference as its input <code>t</code> or
+ a different object of the same type.
+ If <code>modifier.apply(t)</code> returns <code>null</code> then no tuple
+ is submitted to the returned stream for <code>t</code>.
+ 
+ <P>
+ Example of modifying a stream  <code>String</code> values by adding the suffix '<code>extra</code>'.
+ </P>
+ 
+ <pre>
+ <code>
+ TStream&lt;String&gt; strings = ...
+ TStream&lt;String&gt; modifiedStrings = strings.modify(t -&gt; t.concat("extra"));
+ </code>
+ </pre>
+ 
+ <P>
+ This method is equivalent to
+ <code>map(Function&lt;T,T&gt; modifier</code>).
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>modifier</code> - Modifier logic to be executed against each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that will contain tuples of type <code>T</code> modified from this
+         stream's tuples.</dd>
+</dl>
+</li>
+</ul>
+<a name="asString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>asString</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;asString()</pre>
+<div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
+ <code>toString()</code> on each tuple. This is equivalent to
+ <code>map(Object::toString)</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Declared stream that will contain each the string representation
+         of each tuple on this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="print--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>print</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;print()</pre>
+<div class="block">Utility method to print the contents of this stream
+ to <code>System.out</code> at runtime. Each tuple is printed
+ using <code>System.out.println(tuple)</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>TSink</code> for the sink processing.</dd>
+</dl>
+</li>
+</ul>
+<a name="last-int-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>last</h4>
+<pre>&lt;K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;last(int&nbsp;count,
+                      <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</pre>
+<div class="block">Declare a partitioned window that continually represents the last <code>count</code>
+ tuples on this stream for each partition. Each partition independently maintains the last
+ <code>count</code> tuples for each key seen on this stream.
+ If no tuples have been seen on the stream for a key then the corresponding partition will be empty.
+ <BR>
+ The window is partitioned by each tuple's key, obtained by <code>keyFunction</code>.
+ For each tuple on the stream <code>keyFunction.apply(tuple)</code> is called
+ and the returned value is the tuple's key. For any two tuples <code>ta,tb</code> in a partition
+ <code>keyFunction.apply(ta).equals(keyFunction.apply(tb))</code> is true.
+ <BR>
+ The key function must return keys that implement <code>equals()</code> and <code>hashCode()</code> correctly.
+ <P>
+ To create a window partitioned using the tuple as the key use <a href="../../../../org/apache/edgent/function/Functions.html#identity--"><code>identity()</code></a>
+ as the key function.
+ </P>
+ <P>
+ To create an unpartitioned window use a key function that returns a constant,
+ by convention <a href="../../../../org/apache/edgent/function/Functions.html#unpartitioned--"><code>unpartitioned()</code></a> is recommended.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - Key type.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>count</code> - Number of tuples to maintain in each partition.</dd>
+<dd><code>keyFunction</code> - Function that defines the key for each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Window on this stream representing the last <code>count</code> tuples for each partition.</dd>
+</dl>
+</li>
+</ul>
+<a name="last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>last</h4>
+<pre>&lt;K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;last(long&nbsp;time,
+                      <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+                      <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</pre>
+<div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
+ tuples on this stream for each partition. If no tuples have been 
+ seen on the stream for a key in the last <code>time</code> seconds then the partition will be empty.
+ Each partition independently maintains the last
+ <code>count</code> tuples for each key seen on this stream.
+ <BR>
+ The window is partitioned by each tuple's key, obtained by <code>keyFunction</code>.
+ For each tuple on the stream <code>keyFunction.apply(tuple)</code> is called
+ and the returned value is the tuple's key. For any two tuples <code>ta,tb</code> in a partition
+ <code>keyFunction.apply(ta).equals(keyFunction.apply(tb))</code> is true.
+ <BR>
+ The key function must return keys that implement <code>equals()</code> and <code>hashCode()</code> correctly.
+ <P>
+ To create a window partitioned using the tuple as the key use <a href="../../../../org/apache/edgent/function/Functions.html#identity--"><code>identity()</code></a>
+ as the key function.
+ </P>
+ <P>
+ To create an unpartitioned window use a key function that returns a constant,
+ by convention <a href="../../../../org/apache/edgent/function/Functions.html#unpartitioned--"><code>unpartitioned()</code></a> is recommended.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - Key type.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>time</code> - Time to retain a tuple in a partition.</dd>
+<dd><code>unit</code> - Unit for <code>time</code>.</dd>
+<dd><code>keyFunction</code> - Function that defines the key for each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Partitioned window on this stream representing the last <code>count</code> tuple.</dd>
+</dl>
+</li>
+</ul>
+<a name="union-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>union</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;union(<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;other)</pre>
+<div class="block">Declare a stream that will contain all tuples from this stream and
+ <code>other</code>. A stream cannot be unioned with itself, in this case
+ <code>this</code> will be returned.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - the other stream</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that is the union of <code>this</code> and <code>other</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="union-java.util.Set-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>union</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;union(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</pre>
+<div class="block">Declare a stream that will contain all tuples from this stream and all the
+ streams in <code>others</code>. A stream cannot be unioned with itself, in
+ this case the union will only contain tuples from this stream once. If
+ <code>others</code> is empty or only contains <code>this</code> then <code>this</code>
+ is returned.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>others</code> - Stream to union with this stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that is the union of <code>this</code> and <code>others</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="tag-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tag</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;tag(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</pre>
+<div class="block">Adds the specified tags to the stream.  Adding the same tag to 
+ a stream multiple times will not change the result beyond the 
+ initial application.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>values</code> - Tag values.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The tagged stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTags--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTags</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
+<div class="block">Returns the set of tags associated with this stream.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>set of tags</dd>
+</dl>
+</li>
+</ul>
+<a name="alias-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>alias</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;alias(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</pre>
+<div class="block">Set an alias for the stream.
+ <p>
+ The alias must be unique within the topology.
+ The alias may be used in various contexts:
+ </p>
+ <ul>
+ <li>Runtime control services for the stream are registered with this alias.</li>
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>alias</code> - an alias for the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the an alias has already been set.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="getAlias--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAlias</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
+<div class="block">Returns the stream's alias if any.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the alias. null if one has not be set.</dd>
+</dl>
+</li>
+</ul>
+<a name="join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>join</h4>
+<pre>&lt;J,U,K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;&nbsp;join(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+                        <a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
+                        <a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</pre>
+<div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.
+ For each tuple on this stream, it is joined with the contents of <code>window</code>
+ for the key <code>keyer.apply(tuple)</code>. Each tuple is
+ passed into <code>joiner</code> and the return value is submitted to the
+ returned stream. If call returns null then no tuple is submitted.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>J</code> - Tuple type of result stream</dd>
+<dd><code>U</code> - Tuple type of window to join with</dd>
+<dd><code>K</code> - Key type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>keyer</code> - Key function for this stream to match the window's key.</dd>
+<dd><code>window</code> - Keyed window to join this stream with.</dd>
+<dd><code>joiner</code> - Join function.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that is the results of joining this stream with
+         <code>window</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>joinLast</h4>
+<pre>&lt;J,U,K&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;&nbsp;joinLast(<a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+                            <a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+                            <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+                            <a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U,J&gt;&nbsp;joiner)</pre>
+<div class="block">Join this stream with the last tuple seen on a stream of type <code>U</code>
+ with partitioning.
+ For each tuple on this
+ stream, it is joined with the last tuple seen on <code>lastStream</code>
+ with a matching key (of type <code>K</code>).
+ <BR>
+ Each tuple <code>t</code> on this stream will match the last tuple
+ <code>u</code> on <code>lastStream</code> if
+ <code>keyer.apply(t).equals(lastStreamKeyer.apply(u))</code>
+ is true.
+ <BR>
+ The assumption is made that
+ the key classes correctly implement the contract for <code>equals</code> and
+ <code>hashCode()</code>.
+ <P>Each tuple is
+ passed into <code>joiner</code> and the return value is submitted to the
+ returned stream. If call returns null then no tuple is submitted.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>J</code> - Tuple type of result stream</dd>
+<dd><code>U</code> - Tuple type of stream to join with</dd>
+<dd><code>K</code> - Key type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>keyer</code> - Key function for this stream</dd>
+<dd><code>lastStream</code> - Stream to join with.</dd>
+<dd><code>lastStreamKeyer</code> - Key function for <code>lastStream</code></dd>
+<dd><code>joiner</code> - Join function.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that is the results of joining this stream with
+         <code>lastStream</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TStream.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/TStream.html" target="_top">Frames</a></li>
+<li><a href="TStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/TWindow.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/TWindow.html
new file mode 100644
index 0000000..49b02f7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/TWindow.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TWindow (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TWindow (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TWindow.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/TWindow.html" target="_top">Frames</a></li>
+<li><a href="TWindow.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology</div>
+<h2 title="Interface TWindow" class="title">Interface TWindow&lt;T,K&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dd><code>K</code> - Partition key type</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a>, <a href="../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowImpl</a>, <a href="../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">TWindow&lt;T,K&gt;</span>
+extends <a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></pre>
+<div class="block">Partitioned window of tuples. Logically a window
+ represents an continuously updated ordered list of tuples according to the
+ criteria that created it. For example <a href="../../../../org/apache/edgent/topology/TStream.html#last-int-org.apache.edgent.function.Function-"><code>s.last(10, zero())</code></a>
+ declares a window with a single partition that at any time contains the last ten tuples seen on
+ stream <code>s</code>.
+ <P>
+ Windows are partitioned which means the window's configuration
+ is independently maintained for each key seen on the stream.
+ For example with a window created using <a href="../../../../org/apache/edgent/topology/TStream.html#last-int-org.apache.edgent.function.Function-"><code>last(3, tuple -> tuple.getId())</code></a>
+ then each key has its own window containing the last
+ three tuples with the same key obtained from the tuple's identity using <code>getId()</code>.
+ </P></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/topology/TStream.html#last-int-org.apache.edgent.function.Function-"><code>Count based window</code></a>, 
+<a href="../../../../org/apache/edgent/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-"><code>Time based window</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</code>
+<div class="block">Declares a stream that is a continuous, sliding, aggregation of
+ partitions in this window.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</code>
+<div class="block">Declares a stream that represents a batched aggregation of
+ partitions in this window.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TWindow.html#feeder--">feeder</a></span>()</code>
+<div class="block">Get the stream that feeds this window.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TWindow.html#getKeyFunction--">getKeyFunction</a></span>()</code>
+<div class="block">Returns the key function used to map tuples to partitions.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TopologyElement">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></h3>
+<code><a href="../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="aggregate-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregate</h4>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;aggregate(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</pre>
+<div class="block">Declares a stream that is a continuous, sliding, aggregation of
+ partitions in this window.
+ <P>
+ Changes in a partition's contents trigger an invocation of
+ <code>aggregator.apply(tuples, key)</code>, where <code>tuples</code> is
+ a <code>List&lt;T&gt;</code> containing all the tuples in the partition in
+ insertion order from oldest to newest.  The list is stable
+ during the aggregator invocation.
+ <UL>
+ <LI>Count-based window: the aggregator is called after each
+ tuple added to a partition.  When an addition results in a tuple
+ being evicted, the eviction occurs before the aggregator is called.</LI>
+ <LI>Time-based window: the aggregator is called after each tuple
+ added to a partition. The aggregator is also called
+ each time one or more tuples are evicted from a partition 
+ (multiple tuples may be evicted at once).  The list will be
+ empty if the eviction results in an empty partition.</LI>
+ </UL>
+ A non-null <code>aggregator</code> result is added to the returned stream.
+ <P>
+ Thus the returned stream will contain a sequence of tuples where the
+ most recent tuple represents the most up to date aggregation of a
+ partition.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>aggregator</code> - Logic to aggregation a partition.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that contains the latest aggregations of partitions in this window.</dd>
+</dl>
+</li>
+</ul>
+<a name="batch-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>batch</h4>
+<pre>&lt;U&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;batch(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</pre>
+<div class="block">Declares a stream that represents a batched aggregation of
+ partitions in this window. 
+ <P>
+ Each partition "batch" triggers an invocation of
+ <code>batcher.apply(tuples, key)</code>, where <code>tuples</code> is
+ a <code>List&lt;T&gt;</code> containing all the tuples in the partition in
+ insertion order from oldest to newest  The list is stable
+ during the batcher invocation.
+ <UL>
+ <LI>Count-based window: a batch occurs when the partition is full.</LI>
+ <LI>Time-based window: a batch occurs every "time" period units.  The
+ list will be empty if no tuples have been received during the period.</LI>
+ </UL>
+ A non-null <code>batcher</code> result is added to the returned stream.
+ The partition's contents are cleared after a batch is processed.
+ <P>
+ Thus the returned stream will contain a sequence of tuples where the
+ most recent tuple represents the most up to date aggregation of a
+ partition.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>batcher</code> - Logic to aggregation a partition.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that contains the latest aggregations of partitions in this window.</dd>
+</dl>
+</li>
+</ul>
+<a name="getKeyFunction--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getKeyFunction</h4>
+<pre><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>,<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>&gt;&nbsp;getKeyFunction()</pre>
+<div class="block">Returns the key function used to map tuples to partitions.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Key function used to map tuples to partitions.</dd>
+</dl>
+</li>
+</ul>
+<a name="feeder--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>feeder</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;&nbsp;feeder()</pre>
+<div class="block">Get the stream that feeds this window.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>stream that feeds this window.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TWindow.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/TWindow.html" target="_top">Frames</a></li>
+<li><a href="TWindow.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/Topology.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/Topology.html
new file mode 100644
index 0000000..0cb6b01
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/Topology.html
@@ -0,0 +1,564 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Topology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Topology (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Topology.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/Topology.html" target="_top">Frames</a></li>
+<li><a href="Topology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology</div>
+<h2 title="Interface Topology" class="title">Interface Topology</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a>, <a href="../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a>, <a href="../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Topology</span>
+extends <a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></pre>
+<div class="block">A declaration of a topology of streaming data.
+ 
+ This class provides some fundamental generic methods to create source
+ streams, such as <a href="../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-"><code>source</code></a>,
+ <a href="../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-"><code>poll</code></a>, 
+ <a href="../../../../org/apache/edgent/topology/Topology.html#strings-java.lang.String...-"><code>strings</code></a>.
+ <P>
+ See <a href="doc-files/sources.html">Edgent Source Streams</a>.
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#collection-java.util.Collection-">collection</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</code>
+<div class="block">Declare a stream of constants from a collection.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#events-org.apache.edgent.function.Consumer-">events</a></span>(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&gt;&nbsp;eventSetup)</code>
+<div class="block">Declare a stream populated by an event system.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#generate-org.apache.edgent.function.Supplier-">generate</a></span>(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data)</code>
+<div class="block">Declare an endless source stream.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#getName--">getName</a></span>()</code>
+<div class="block">Name of this topology.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#getRuntimeServiceSupplier--">getRuntimeServiceSupplier</a></span>()</code>
+<div class="block">Return a function that at execution time
+ will return a <a href="../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><code>RuntimeServices</code></a> instance
+ a stream function can use.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#getTester--">getTester</a></span>()</code>
+<div class="block">Get the tester for this topology.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#graph--">graph</a></span>()</code>
+<div class="block">Get the underlying graph.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#of-T...-">of</a></span>(T...&nbsp;values)</code>
+<div class="block">Declare a stream of objects.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
+    long&nbsp;period,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>
+<div class="block">Declare a new source stream that iterates over the return of
+ <code>Iterable&lt;T&gt; get()</code> from <code>data</code>.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/Topology.html#strings-java.lang.String...-">strings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;strings)</code>
+<div class="block">Declare a stream of strings.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TopologyElement">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></h3>
+<code><a href="../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block">Name of this topology.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Name of this topology.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-"><code>TopologyProvider.newTopology(String)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="source-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>source</h4>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;source(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</pre>
+<div class="block">Declare a new source stream that iterates over the return of
+ <code>Iterable&lt;T&gt; get()</code> from <code>data</code>. Once all the tuples from
+ <code>data.get()</code> have been submitted on the stream, no more tuples are
+ submitted. <BR>
+ The returned stream will be endless if the iterator returned from the
+ <code>Iterable</code> never completes.
+ <p>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
+ method will be called when the topology's execution is terminated.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>data</code> - Function that produces that data for the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>New stream containing the tuples from the iterator returned by
+         <code>data.get()</code>.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="doc-files/sources.html">Edgent Source Streams</a></dd>
+</dl>
+</li>
+</ul>
+<a name="generate-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>generate</h4>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;generate(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data)</pre>
+<div class="block">Declare an endless source stream. <code>data.get()</code> will be called
+ repeatably. Each non-null returned value will be present on the stream.
+ <p>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
+ method will be called when the topology's execution is terminated.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>data</code> - Supplier of the tuples.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>New stream containing the tuples from calls to <code>data.get()</code>
+         .</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="doc-files/sources.html">Edgent Source Streams</a></dd>
+</dl>
+</li>
+</ul>
+<a name="poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>poll</h4>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;poll(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
+                    long&nbsp;period,
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.
+ Each non-null value returned will appear on the returned stream. Thus
+ each call to {code data.get()} will result in zero tuples or one tuple on
+ the stream.
+ <p>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
+ method will be called when the topology's execution is terminated.
+ </p><p>
+ The poll rate may be changed when the topology is running via a runtime
+ <a href="../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><code>PeriodMXBean</code></a>.
+ In order to use this mechanism the caller must provide a 
+ alias for the stream when building the topology.
+ The <code>PeriodMXBean</code> is registered with the <a href="../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>
+ with type <a href="../../../../org/apache/edgent/topology/TStream.html#TYPE"><code>TStream.TYPE</code></a> and the stream's alias.  
+ e.g.,
+ </p>
+ <pre><code>
+ Topology t = ...
+ TStream&lt;Integer&gt; stream = t.poll(...).alias("myStreamControlAlias");
+ 
+ // change the poll frequency at runtime
+ static &lt;T&gt; void setPollFrequency(TStream&lt;T&gt; pollStream, long period, TimeUnit unit) {
+     ControlService cs = t.getRuntimeServiceSupplier().getService(ControlService.class);
+     String alias = pollStream.getAlias();
+     PeriodMXBean control = cs.getControl(TStream.TYPE, alias, PeriodMXBean.class);
+     control.setPoll(period, unit);
+ }
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>data</code> - Function that produces that data for the stream.</dd>
+<dd><code>period</code> - Approximate period {code data.get()} will be called.</dd>
+<dd><code>unit</code> - Time unit of <code>period</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>New stream containing the tuples returned by <code>data.get()</code>.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="doc-files/sources.html">Edgent Source Streams</a></dd>
+</dl>
+</li>
+</ul>
+<a name="events-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>events</h4>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;events(<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&gt;&nbsp;eventSetup)</pre>
+<div class="block">Declare a stream populated by an event system. At startup
+ <code>eventSetup.accept(eventSubmitter))</code> is called by the runtime with
+ <code>eventSubmitter</code> being a <code>Consumer&lt;T&gt;</code>. Calling
+ <code>eventSubmitter.accept(t)</code> results in <code>t</code> being present on
+ the returned stream if it is not null. If <code>t</code> is null then no
+ action is taken. <BR>
+ It is expected that <code>eventSubmitter</code> is called from the event
+ handler callback registered with the event system.
+ <P>
+ Downstream processing is isolated from the event source
+ to ensure that event listener is not blocked by a long
+ or slow processing flow.
+ </P>
+ <p>
+ If <code>eventSetup</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
+ method will be called when the topology's execution is terminated.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>eventSetup</code> - handler to receive the <code>eventSubmitter</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>New stream containing the tuples added by <code>eventSubmitter.accept(t)</code>.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#pressureReliever-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-int-"><code>PlumbingStreams.pressureReliever(TStream, org.apache.edgent.function.Function, int)</code></a>, 
+<a href="doc-files/sources.html">Edgent Source Streams</a></dd>
+</dl>
+</li>
+</ul>
+<a name="strings-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>strings</h4>
+<pre><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;strings(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;strings)</pre>
+<div class="block">Declare a stream of strings.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>strings</code> - Strings that will be present on the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing all values in <code>strings</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="of-java.lang.Object:A-">
+<!--   -->
+</a><a name="of-T...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>of</h4>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;of(T...&nbsp;values)</pre>
+<div class="block">Declare a stream of objects.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>values</code> - Values that will be present on the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing all values in <code>values</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="collection-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>collection</h4>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;collection(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</pre>
+<div class="block">Declare a stream of constants from a collection.
+ The returned stream will contain all the tuples in <code>tuples</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuples</code> - Tuples that will be present on the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing all values in <code>tuples</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTester--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTester</h4>
+<pre><a href="../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&nbsp;getTester()</pre>
+<div class="block">Get the tester for this topology.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>tester for this topology.</dd>
+</dl>
+</li>
+</ul>
+<a name="graph--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>graph</h4>
+<pre><a href="../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph()</pre>
+<div class="block">Get the underlying graph.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the underlying graph.</dd>
+</dl>
+</li>
+</ul>
+<a name="getRuntimeServiceSupplier--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getRuntimeServiceSupplier</h4>
+<pre><a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>&gt;&nbsp;getRuntimeServiceSupplier()</pre>
+<div class="block">Return a function that at execution time
+ will return a <a href="../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><code>RuntimeServices</code></a> instance
+ a stream function can use.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Function that at execution time
+ will return a <a href="../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><code>RuntimeServices</code></a> instance</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Topology.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/Topology.html" target="_top">Frames</a></li>
+<li><a href="Topology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/TopologyElement.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/TopologyElement.html
new file mode 100644
index 0000000..4883997
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/TopologyElement.html
@@ -0,0 +1,239 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TopologyElement (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TopologyElement (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TopologyElement.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/TopologyElement.html" target="_top">Frames</a></li>
+<li><a href="TopologyElement.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology</div>
+<h2 title="Interface TopologyElement" class="title">Interface TopologyElement</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Subinterfaces:</dt>
+<dd><a href="../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>, <a href="../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a>, <a href="../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a>, <a href="../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>, <a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>, <a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;, <a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;, <a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;T,K&gt;, <a href="../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">AbstractTester</a>, <a href="../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a>, <a href="../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a>, <a href="../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a>, <a href="../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a>, <a href="../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a>, <a href="../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a>, <a href="../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a>, <a href="../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a>, <a href="../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a>, <a href="../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a>, <a href="../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowImpl</a>, <a href="../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">TopologyElement</span></pre>
+<div class="block">An element of a <code>Topology</code>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></span>()</code>
+<div class="block">Topology this element is contained in.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="topology--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>topology</h4>
+<pre><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology()</pre>
+<div class="block">Topology this element is contained in.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Topology this element is contained in.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TopologyElement.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/TopologyElement.html" target="_top">Frames</a></li>
+<li><a href="TopologyElement.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/TopologyProvider.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/TopologyProvider.html
new file mode 100644
index 0000000..32648b7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/TopologyProvider.html
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TopologyProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TopologyProvider (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TopologyProvider.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/TopologyProvider.html" target="_top">Frames</a></li>
+<li><a href="TopologyProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology</div>
+<h2 title="Interface TopologyProvider" class="title">Interface TopologyProvider</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a>, <a href="../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a>, <a href="../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>, <a href="../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">TopologyProvider</span></pre>
+<div class="block">Provider (factory) for creating topologies.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology--">newTopology</a></span>()</code>
+<div class="block">Create a new topology with a generated name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Create a new topology with a given name.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="newTopology-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newTopology</h4>
+<pre><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;newTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block">Create a new topology with a given name.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name for topology</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new topology.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - for null or empty name</dd>
+</dl>
+</li>
+</ul>
+<a name="newTopology--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>newTopology</h4>
+<pre><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;newTopology()</pre>
+<div class="block">Create a new topology with a generated name.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new topology.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TopologyProvider.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/TopologyProvider.html" target="_top">Frames</a></li>
+<li><a href="TopologyProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TSink.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TSink.html
new file mode 100644
index 0000000..73dc6d1
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TSink.html
@@ -0,0 +1,699 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.TSink (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.topology.TSink (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/TSink.html" target="_top">Frames</a></li>
+<li><a href="TSink.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.topology.TSink" class="title">Uses of Interface<br>org.apache.edgent.topology.TSink</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.command">org.apache.edgent.connectors.command</a></td>
+<td class="colLast">
+<div class="block">Command / OS Process connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iot">org.apache.edgent.connectors.iot</a></td>
+<td class="colLast">
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
+<td class="colLast">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub">org.apache.edgent.connectors.pubsub</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe model between jobs.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient">org.apache.edgent.connectors.wsclient</a></td>
+<td class="colLast">
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
+<td class="colLast">
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.connectors.command">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</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="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-">sink</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Sink a <code>TStream&lt;String&gt;</code> to a command's input.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</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="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname)</code>
+<div class="block">Write the contents of a stream to files.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</code>
+<div class="block">Write the contents of a stream to files subject to the control
+ of a file writer policy.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+               int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+               int&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+          <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</code>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-java.lang.String-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.kafka">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-java.lang.String-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified topic partitions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       int&nbsp;qos,
+       boolean&nbsp;retain)</code>
+<div class="block">Publish a <code>TStream&lt;String&gt;</code> stream's tuples as MQTT messages.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
+<div class="block">Publish a stream's tuples as MQTT messages.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PublishSubscribe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
+<div class="block">Publish this stream to a topic.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#send-org.apache.edgent.topology.TStream-">send</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's JsonObject tuples as JSON in a WebSocket text message.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendBytes-org.apache.edgent.topology.TStream-">sendBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's byte[] tuples in a WebSocket binary message.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's String tuples in a WebSocket text message.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient.javax.websocket">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#send-org.apache.edgent.topology.TStream-">send</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's JsonObject tuples as JSON in a WebSocket text message.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendBytes-org.apache.edgent.topology.TStream-">sendBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's byte[] tuples in a WebSocket binary message.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's String tuples in a WebSocket text message.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#print--">print</a></span>()</code>
+<div class="block">Utility method to print the contents of this stream
+ to <code>System.out</code> at runtime.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-">sink</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;sinker)</code>
+<div class="block">Sink (terminate) this stream using a function.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.oplet.core.Sink-">sink</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;oplet)</code>
+<div class="block">Sink (terminate) this stream using a oplet.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#print--">print</a></span>()</code>
+<div class="block">Utility method to print the contents of this stream to <code>System.out</code>
+ at runtime.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#sink-org.apache.edgent.function.Consumer-">sink</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;sinker)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that return <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#sink-org.apache.edgent.oplet.core.Sink-">sink</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;oplet)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/TSink.html" target="_top">Frames</a></li>
+<li><a href="TSink.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TStream.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TStream.html
new file mode 100644
index 0000000..b428ab7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TStream.html
@@ -0,0 +1,2205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.TStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.topology.TStream (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/TStream.html" target="_top">Frames</a></li>
+<li><a href="TStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.topology.TStream" class="title">Uses of Interface<br>org.apache.edgent.topology.TStream</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
+<td class="colLast">
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors</a></td>
+<td class="colLast">
+<div class="block">Analytics focused on handling sensor data.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.command">org.apache.edgent.connectors.command</a></td>
+<td class="colLast">
+<div class="block">Command / OS Process connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.http">org.apache.edgent.connectors.http</a></td>
+<td class="colLast">
+<div class="block">HTTP stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iot">org.apache.edgent.connectors.iot</a></td>
+<td class="colLast">
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
+<td class="colLast">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub">org.apache.edgent.connectors.pubsub</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe model between jobs.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient">org.apache.edgent.connectors.wsclient</a></td>
+<td class="colLast">
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
+<td class="colLast">
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics">org.apache.edgent.metrics</a></td>
+<td class="colLast">
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing</a></td>
+<td class="colLast">
+<div class="block">Plumbing for a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
+<td class="colLast">
+<div class="block">Testing for a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valueProperty,
+         <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+         <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+         <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-">mvAggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
+<div class="block">Aggregate against multiple <code>Numeric</code> variables contained in an JSON object.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.sensors">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 &lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-">deadband</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand)</code>
+<div class="block">Deadband filter.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-long-java.util.concurrent.TimeUnit-">deadband</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
+        long&nbsp;maximumSuppression,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Deadband filter with maximum suppression time.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadtime-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">deadtime</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        long&nbsp;deadtimePeriod,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Deadtime filter.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 &lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-">deadband</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand)</code>
+<div class="block">Deadband filter.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,V&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadband-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Predicate-long-java.util.concurrent.TimeUnit-">deadband</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,V&gt;&nbsp;value,
+        <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;V&gt;&nbsp;inBand,
+        long&nbsp;maximumSuppression,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Deadband filter with maximum suppression time.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Filters.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/sensors/Filters.html#deadtime-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">deadtime</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        long&nbsp;deadtimePeriod,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Deadtime filter.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.command">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#generate-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-">generate</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Create an endless <code>TStream&lt;String&gt;</code> from a long running command's output.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#periodicSource-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-long-java.util.concurrent.TimeUnit-">periodicSource</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd,
+              long&nbsp;period,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;units)</code>
+<div class="block">Create a <code>TStream&lt;String&gt;</code> from a periodically run command's output.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#sink-org.apache.edgent.topology.TStream-java.lang.ProcessBuilder-">sink</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Sink a <code>TStream&lt;String&gt;</code> to a command's input.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory)</code>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-java.util.Comparator-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&gt;&nbsp;comparator)</code>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames)</code>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</code>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames)</code>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileReader-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">textFileReader</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;pathnames,
+              <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;preFn,
+              <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;postFn)</code>
+<div class="block">Declare a stream containing the lines read from the files
+ whose pathnames correspond to each tuple on the <code>pathnames</code>
+ stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname)</code>
+<div class="block">Write the contents of a stream to files.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#textFileWriter-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Supplier-">textFileWriter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;contents,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;basePathname,
+              <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;&nbsp;policy)</code>
+<div class="block">Write the contents of a stream to files subject to the control
+ of a file writer policy.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.http">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">deleteJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
+<div class="block">Make an HTTP DELETE request with JsonObject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">getJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
+<div class="block">Make an HTTP GET request with JsonObject.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP POST request with JsonObject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP PUT request with JsonObject.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request for each tuple on a stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request with body for each tuple.<br></div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#deleteJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">deleteJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
+<div class="block">Make an HTTP DELETE request with JsonObject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#getJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-">getJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri)</code>
+<div class="block">Make an HTTP GET request with JsonObject.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#postJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">postJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP POST request with JsonObject.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#putJson-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">putJson</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+       <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;body)</code>
+<div class="block">Make an HTTP PUT request with JsonObject.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requests-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requests</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request for each tuple on a stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HttpStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/http/HttpStreams.html#requestsWithBody-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">requestsWithBody</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;org.apache.http.impl.client.CloseableHttpClient&gt;&nbsp;clientCreator,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;method,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;uri,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,org.apache.http.HttpEntity&gt;&nbsp;body,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,org.apache.http.client.methods.CloseableHttpResponse,R&gt;&nbsp;response)</code>
+<div class="block">Make an HTTP request with body for each tuple.<br></div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">HeartBeat.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/HeartBeat.html#addHeartBeat-org.apache.edgent.connectors.iot.IotDevice-long-java.util.concurrent.TimeUnit-java.lang.String-">addHeartBeat</a></span>(<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&nbsp;iotDevice,
+            long&nbsp;period,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
+<div class="block">Add IoT device heart beat processing to a topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceIds,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;deviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+               int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.util.Set-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceIds,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForDevice-java.lang.String-java.lang.String...-">commandsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#commandsForType-java.lang.String-java.lang.String...-">commandsForType</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceTypeId,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">eventsForDevice</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+               <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#eventsForDevice-java.lang.String-org.apache.edgent.topology.TStream-java.lang.String-int-">eventsForDevice</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fqDeviceId,
+               <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+               int&nbsp;qos)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+          <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload)</code>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#httpEvents-org.apache.edgent.topology.TStream-java.lang.String-">httpEvents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId)</code>
+<div class="block">Publish a stream's tuples as device events using the WIoTP HTTP protocol.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.connectors.jdbc.StatementSupplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">StatementSupplier</a>&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JdbcStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#executeStatement-org.apache.edgent.topology.TStream-org.apache.edgent.function.Supplier-org.apache.edgent.connectors.jdbc.ParameterSetter-org.apache.edgent.connectors.jdbc.ResultsHandler-">executeStatement</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stmtSupplier,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc">ParameterSetter</a>&lt;T&gt;&nbsp;paramSetter,
+                <a href="../../../../../org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc">ResultsHandler</a>&lt;T,R&gt;&nbsp;resultsHandler)</code>
+<div class="block">For each tuple on <code>stream</code> execute an SQL statement and
+ add 0 or more resulting tuples to a result stream.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.kafka">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribe-org.apache.edgent.function.Function-java.lang.String...-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.StringConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaConsumer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#subscribeBytes-org.apache.edgent.function.Function-java.lang.String...-">subscribeBytes</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka">KafkaConsumer.ByteConsumerRecord</a>,T&gt;&nbsp;toTupleFn,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;topics)</code>
+<div class="block">Subscribe to the specified topics and yield a stream of tuples
+ from the published Kafka records.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-java.lang.String-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;keyFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;valueFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified partitions of the specified topics.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">KafkaProducer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#publishBytes-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publishBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;keyFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;valueFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topicFn,
+            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;partitionFn)</code>
+<div class="block">Publish the stream of tuples as Kafka key/value records
+ to the specified topic partitions.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-">subscribe</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
+         int&nbsp;qos)</code>
+<div class="block">Subscribe to the MQTT topic(s) and create a <code>TStream&lt;String&gt;</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#subscribe-java.lang.String-int-org.apache.edgent.function.BiFunction-">subscribe</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topicFilter,
+         int&nbsp;qos,
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[],T&gt;&nbsp;message2Tuple)</code>
+<div class="block">Subscribe to the MQTT topic(s) and create a stream of tuples of type <code>T</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-java.lang.String-int-boolean-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       int&nbsp;qos,
+       boolean&nbsp;retain)</code>
+<div class="block">Publish a <code>TStream&lt;String&gt;</code> stream's tuples as MQTT messages.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#publish-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-org.apache.edgent.function.Function-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;topic,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,byte[]&gt;&nbsp;payload,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos,
+       <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;retain)</code>
+<div class="block">Publish a stream's tuples as MQTT messages.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#commands-java.lang.String...-">commands</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;commands)</code>
+<div class="block">Create a stream of device commands as JSON objects.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.UnaryOperator-org.apache.edgent.function.Function-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;eventId,
+      <a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;com.google.gson.JsonObject&gt;&nbsp;payload,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#events-org.apache.edgent.topology.TStream-java.lang.String-int-">events</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;eventId,
+      int&nbsp;qos)</code>
+<div class="block">Publish a stream's tuples as device events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PublishSubscribe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType)</code>
+<div class="block">Subscribe to a published topic.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PublishSubscribe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#publish-org.apache.edgent.topology.TStream-java.lang.String-java.lang.Class-">publish</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+       <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? super T&gt;&nbsp;streamType)</code>
+<div class="block">Publish this stream to a topic.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#receive--">receive</a></span>()</code>
+<div class="block">Create a stream of JsonObject tuples from received JSON WebSocket text messages.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#receiveBytes--">receiveBytes</a></span>()</code>
+<div class="block">Create a stream of byte[] tuples from received WebSocket binary messages.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#receiveString--">receiveString</a></span>()</code>
+<div class="block">Create a stream of String tuples from received WebSocket text messages.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#send-org.apache.edgent.topology.TStream-">send</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's JsonObject tuples as JSON in a WebSocket text message.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendBytes-org.apache.edgent.topology.TStream-">sendBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's byte[] tuples in a WebSocket binary message.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's String tuples in a WebSocket text message.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient.javax.websocket">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#receive--">receive</a></span>()</code>
+<div class="block">Create a stream of JsonObject tuples from received JSON WebSocket text messages.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#receiveBytes--">receiveBytes</a></span>()</code>
+<div class="block">Create a stream of byte[] tuples from received WebSocket binary messages.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#receiveString--">receiveString</a></span>()</code>
+<div class="block">Create a stream of String tuples from received WebSocket text messages.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#send-org.apache.edgent.topology.TStream-">send</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's JsonObject tuples as JSON in a WebSocket text message.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;byte[]&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendBytes-org.apache.edgent.topology.TStream-">sendBytes</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;byte[]&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's byte[] tuples in a WebSocket binary message.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#sendString-org.apache.edgent.topology.TStream-">sendString</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;stream)</code>
+<div class="block">Send a stream's String tuples in a WebSocket text message.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Metrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/Metrics.html#counter-org.apache.edgent.topology.TStream-">counter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream)</code>
+<div class="block">Increment a counter metric when peeking at each tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Metrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/Metrics.html#rateMeter-org.apache.edgent.topology.TStream-">rateMeter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream)</code>
+<div class="block">Measure current tuple throughput and calculate one-, five-, and
+ fifteen-minute exponentially-weighted moving averages.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Metrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/Metrics.html#counter-org.apache.edgent.topology.TStream-">counter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream)</code>
+<div class="block">Increment a counter metric when peeking at each tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Metrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/Metrics.html#rateMeter-org.apache.edgent.topology.TStream-">rateMeter</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream)</code>
+<div class="block">Measure current tuple throughput and calculate one-, five-, and
+ fifteen-minute exponentially-weighted moving averages.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JobEvents.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html#source-org.apache.edgent.topology.Topology-org.apache.edgent.function.BiFunction-">source</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>,T&gt;&nbsp;wrapper)</code>
+<div class="block">Declares a stream populated by <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a> events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;aggregator)</code>
+<div class="block">Declares a stream that is a continuous, sliding, aggregation of
+ partitions in this window.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#alias-java.lang.String-">alias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
+<div class="block">Set an alias for the stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#asString--">asString</a></span>()</code>
+<div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
+ <code>toString()</code> on each tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">K</a>,U&gt;&nbsp;batcher)</code>
+<div class="block">Declares a stream that represents a batched aggregation of
+ partitions in this window.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#collection-java.util.Collection-">collection</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</code>
+<div class="block">Declare a stream of constants from a collection.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#events-org.apache.edgent.function.Consumer-">events</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&gt;&nbsp;eventSetup)</code>
+<div class="block">Declare a stream populated by an event system.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;fanin,
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+<div class="block">Declare a stream that contains the output of the specified 
+ <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="type parameter in TWindow">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html#feeder--">feeder</a></span>()</code>
+<div class="block">Get the stream that feeds this window.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-">filter</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;predicate)</code>
+<div class="block">Declare a new stream that filters tuples from this stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>
+<div class="block">Declare a new stream that maps tuples from this stream into one or
+ more (or zero) tuples of a different type <code>U</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#generate-org.apache.edgent.function.Supplier-">generate</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data)</code>
+<div class="block">Declare an endless source stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="type parameter in TSink">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TSink.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TSink.html#getFeed--">getFeed</a></span>()</code>
+<div class="block">Get the stream feeding this sink.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+    <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with the last tuple seen on a stream of type <code>U</code>
+ with partitioning.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#map-org.apache.edgent.function.Function-">map</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;mapper)</code>
+<div class="block">Declare a new stream that maps (or transforms) each tuple from this stream into one
+ (or zero) tuple of a different type <code>U</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#modify-org.apache.edgent.function.UnaryOperator-">modify</a></span>(<a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;modifier)</code>
+<div class="block">Declare a new stream that modifies each tuple from this stream into one
+ (or zero) tuple of the same type <code>T</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#of-T...-">of</a></span>(T...&nbsp;values)</code>
+<div class="block">Declare a stream of objects.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#peek-org.apache.edgent.function.Consumer-">peek</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;peeker)</code>
+<div class="block">Declare a stream that contains the same contents as this stream while
+ peeking at each element using <code>peeker</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">pipe</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;pipe)</code>
+<div class="block">Declare a stream that contains the output of the specified <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><code>Pipe</code></a>
+ oplet applied to this stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
+    long&nbsp;period,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>
+<div class="block">Declare a new source stream that iterates over the return of
+ <code>Iterable&lt;T&gt; get()</code> from <code>data</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html#strings-java.lang.String...-">strings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;strings)</code>
+<div class="block">Declare a stream of strings.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#tag-java.lang.String...-">tag</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</code>
+<div class="block">Adds the specified tags to the stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+<div class="block">Declare a stream that will contain all tuples from this stream and all the
+ streams in <code>others</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#union-org.apache.edgent.topology.TStream-">union</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;other)</code>
+<div class="block">Declare a stream that will contain all tuples from this stream and
+ <code>other</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
+     <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,E&gt;&nbsp;splitter)</code>
+<div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
+ <code>splitter</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
+     <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;splitter)</code>
+<div class="block">Split a stream's tuples among <code>n</code> streams as specified by
+ <code>splitter</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with the last tuple seen on a stream of type <code>U</code>
+ with partitioning.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#union-org.apache.edgent.topology.TStream-">union</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&nbsp;other)</code>
+<div class="block">Declare a stream that will contain all tuples from this stream and
+ <code>other</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with type arguments of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,U&gt;&nbsp;fanin,
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+<div class="block">Declare a stream that contains the output of the specified 
+ <a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>&gt;&gt;&nbsp;others)</code>
+<div class="block">Declare a stream that will contain all tuples from this stream and all the
+ streams in <code>others</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.plumbing">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</code>
+<div class="block">A tuple synchronization barrier.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
+       int&nbsp;queueCapacity)</code>
+<div class="block">A tuple synchronization barrier.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+             long&nbsp;delay,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Insert a blocking delay between tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingOneShotDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingOneShotDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                    long&nbsp;delay,
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Insert a blocking delay before forwarding the first tuple and
+ no delay for subsequent tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingThrottle-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingThrottle</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                long&nbsp;delay,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Maintain a constant blocking delay between tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrentMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#gate-org.apache.edgent.topology.TStream-java.util.concurrent.Semaphore-">gate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a>&nbsp;semaphore)</code>
+<div class="block">Control the flow of tuples to an output stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#isolate-org.apache.edgent.topology.TStream-boolean-">isolate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       boolean&nbsp;ordered)</code>
+<div class="block">Isolate upstream processing from downstream processing.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#isolate-org.apache.edgent.topology.TStream-int-">isolate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       int&nbsp;queueCapacity)</code>
+<div class="block">Isolate upstream processing from downstream processing.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        int&nbsp;width,
+        <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                int&nbsp;width,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallelMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+           int&nbsp;width,
+           <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</code>
+<div class="block">Perform an analytic function on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#pressureReliever-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-int-">pressureReliever</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+                int&nbsp;count)</code>
+<div class="block">Relieve pressure on upstream processing by discarding tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+             long&nbsp;delay,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Insert a blocking delay between tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingOneShotDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingOneShotDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                    long&nbsp;delay,
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Insert a blocking delay before forwarding the first tuple and
+ no delay for subsequent tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingThrottle-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingThrottle</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                long&nbsp;delay,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Maintain a constant blocking delay between tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrentMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#gate-org.apache.edgent.topology.TStream-java.util.concurrent.Semaphore-">gate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a>&nbsp;semaphore)</code>
+<div class="block">Control the flow of tuples to an output stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#isolate-org.apache.edgent.topology.TStream-boolean-">isolate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       boolean&nbsp;ordered)</code>
+<div class="block">Isolate upstream processing from downstream processing.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#isolate-org.apache.edgent.topology.TStream-int-">isolate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       int&nbsp;queueCapacity)</code>
+<div class="block">Isolate upstream processing from downstream processing.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        int&nbsp;width,
+        <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                int&nbsp;width,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallelMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+           int&nbsp;width,
+           <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</code>
+<div class="block">Perform an analytic function on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#pressureReliever-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-int-">pressureReliever</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+                int&nbsp;count)</code>
+<div class="block">Relieve pressure on upstream processing by discarding tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a> with type arguments of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</code>
+<div class="block">A tuple synchronization barrier.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
+       int&nbsp;queueCapacity)</code>
+<div class="block">A tuple synchronization barrier.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        int&nbsp;width,
+        <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        int&nbsp;width,
+        <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                int&nbsp;width,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PlumbingStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                int&nbsp;width,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> that implement <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a>&lt;G extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</span></code>
+<div class="block">Abstract stream that uses the functional primitives to implement most
+ methods.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#asString--">asString</a></span>()</code>
+<div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
+ <code>toString()</code> on each tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#collection-java.util.Collection-">collection</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#generate-org.apache.edgent.function.Supplier-">generate</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#modify-org.apache.edgent.function.UnaryOperator-">modify</a></span>(<a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;modifier)</code>
+<div class="block">Declare a new stream that modifies each tuple from this stream into one
+ (or zero) tuple of the same type <code>T</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#of-T...-">of</a></span>(T...&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#strings-java.lang.String...-">strings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;tuples)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#union-org.apache.edgent.topology.TStream-">union</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;other)</code>
+<div class="block">Declare a stream that will contain all tuples from this stream and
+ <code>other</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#union-org.apache.edgent.topology.TStream-">union</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;other)</code>
+<div class="block">Declare a stream that will contain all tuples from this stream and
+ <code>other</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#verify-org.apache.edgent.topology.TStream-">verify</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;other)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that implement <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a>&lt;G extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</span></code>
+<div class="block">A stream that directly adds oplets to the graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that return <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</code>
+<div class="block">Window behaviour here is that:
+ 
+ Tuples are always inserted into the partition.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#alias-java.lang.String-">alias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindowTimeImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TWindowImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected &lt;N extends <a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;,U&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#connectPipe-N-">connectPipe</a></span>(N&nbsp;pipeOp)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#events-org.apache.edgent.function.Consumer-">events</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&gt;&nbsp;eventSetup)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;fanin,
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#feeder--">feeder</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#filter-org.apache.edgent.function.Predicate-">filter</a></span>(<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;predicate)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+    <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#map-org.apache.edgent.function.Function-">map</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;mapper)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#peek-org.apache.edgent.function.Consumer-">peek</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;peeker)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">pipe</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;pipe)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
+    long&nbsp;period,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected &lt;N extends <a href="../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;,T&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">GraphTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#sourceStream-N-">sourceStream</a></span>(N&nbsp;sourceOp)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#tag-java.lang.String...-">tag</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
+     <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,E&gt;&nbsp;splitter)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
+     <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;splitter)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with type arguments of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</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>&lt;U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;fanin,
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a> in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#atLeastTupleCount-org.apache.edgent.topology.TStream-long-">atLeastTupleCount</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
+                 long&nbsp;expectedCount)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted at
+ least <code>expectedCount</code> number of tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#contentsUnordered-org.apache.edgent.topology.TStream-T...-">contentsUnordered</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                 T...&nbsp;values)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted
+ tuples matching <code>values</code> in any order.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#streamContents-org.apache.edgent.topology.TStream-T...-">streamContents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+              T...&nbsp;values)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted
+ tuples matching <code>values</code> in the same order.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#tupleCount-org.apache.edgent.topology.TStream-long-">tupleCount</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
+          long&nbsp;expectedCount)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted exactly
+ <code>expectedCount</code> number of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/TStream.html" target="_top">Frames</a></li>
+<li><a href="TStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TWindow.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TWindow.html
new file mode 100644
index 0000000..cb7007c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TWindow.html
@@ -0,0 +1,311 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.TWindow (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.topology.TWindow (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/TWindow.html" target="_top">Frames</a></li>
+<li><a href="TWindow.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.topology.TWindow" class="title">Uses of Interface<br>org.apache.edgent.topology.TWindow</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
+<td class="colLast">
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a> in <a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</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 &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;valueProperty,
+         <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#aggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-org.apache.edgent.function.ToDoubleFunction-org.apache.edgent.analytics.math3.json.JsonUnivariateAggregate...-">aggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionProperty,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+         <a href="../../../../../org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function">ToDoubleFunction</a>&lt;com.google.gson.JsonObject&gt;&nbsp;valueGetter,
+         <a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>...&nbsp;aggregates)</code>
+<div class="block">Aggregate against a single <code>Numeric</code> variable contained in an JSON object.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;K extends com.google.gson.JsonElement&gt;<br><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JsonAnalytics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/analytics/math3/json/JsonAnalytics.html#mvAggregate-org.apache.edgent.topology.TWindow-java.lang.String-java.lang.String-java.util.List-">mvAggregate</a></span>(<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;com.google.gson.JsonObject,K&gt;&nbsp;window,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultPartitionKeyProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;resultProperty,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.commons.math3.util.Pair&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>[]&gt;&gt;&nbsp;aggregateSpecs)</code>
+<div class="block">Aggregate against multiple <code>Numeric</code> variables contained in an JSON object.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> that return <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</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>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#last-int-org.apache.edgent.function.Function-">last</a></span>(int&nbsp;count,
+    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</code>
+<div class="block">Declare a partitioned window that continually represents the last <code>count</code>
+ tuples on this stream for each partition.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyFunction)</code>
+<div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
+ tuples on this stream for each partition.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</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>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,K&gt;&nbsp;keyer,
+    <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;window,
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="type parameter in TStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that implement <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a>&lt;T,K&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowImpl</a>&lt;T,K&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a>&lt;T,K&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that return <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</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>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#last-int-org.apache.edgent.function.Function-">last</a></span>(int&nbsp;count,
+    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</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>&lt;J,U,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+    <a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
+    <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/TWindow.html" target="_top">Frames</a></li>
+<li><a href="TWindow.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/Topology.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/Topology.html
new file mode 100644
index 0000000..5b9b188
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/Topology.html
@@ -0,0 +1,1066 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.Topology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.topology.Topology (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/Topology.html" target="_top">Frames</a></li>
+<li><a href="Topology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.topology.Topology" class="title">Uses of Interface<br>org.apache.edgent.topology.Topology</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.runtime">org.apache.edgent.apps.runtime</a></td>
+<td class="colLast">
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.command">org.apache.edgent.connectors.command</a></td>
+<td class="colLast">
+<div class="block">Command / OS Process connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
+<td class="colLast">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
+<td class="colLast">
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics">org.apache.edgent.metrics</a></td>
+<td class="colLast">
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.development">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.services">org.apache.edgent.topology.services</a></td>
+<td class="colLast">
+<div class="block">Services for topologies.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.tester">org.apache.edgent.topology.spi.tester</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
+<td class="colLast">
+<div class="block">Testing for a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.apps.runtime">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a> that return <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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>protected <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">JobMonitorApp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#declareTopology-java.lang.String-">declareTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Declares the following topology:</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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 void</code></td>
+<td class="colLast"><span class="typeNameLabel">JobMonitorApp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#declareTopology-org.apache.edgent.topology.Topology-">declareTopology</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
+<div class="block">Populates the following topology:</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a> with type arguments of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">JobMonitorApp</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+             <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
+ context of the specified provider.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.command">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#generate-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-">generate</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd)</code>
+<div class="block">Create an endless <code>TStream&lt;String&gt;</code> from a long running command's output.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">CommandStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/command/CommandStreams.html#periodicSource-org.apache.edgent.topology.Topology-java.lang.ProcessBuilder-long-java.util.concurrent.TimeUnit-">periodicSource</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html?is-external=true" title="class or interface in java.lang">ProcessBuilder</a>&nbsp;cmd,
+              long&nbsp;period,
+              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;units)</code>
+<div class="block">Create a <code>TStream&lt;String&gt;</code> from a periodically run command's output.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> that return <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotpGateway.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#topology--">topology</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#topology--">topology</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotpDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#quickstart-org.apache.edgent.topology.Topology-java.lang.String-">quickstart</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;deviceId)</code>
+<div class="block">Create an <code>IotpDevice</code> connector to the Quickstart service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-com.ibm.iotf.client.device.DeviceClient-">IotpDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          com.ibm.iotf.client.device.DeviceClient&nbsp;deviceClient)</code>
+<div class="block">Create a connector using the supplied WIoTP <code>DeviceClient</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.io.File-">IotpDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</code>
+<div class="block">Create a connector for the IoT device specified by <code>optionsFile</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html#IotpDevice-org.apache.edgent.topology.Topology-java.util.Properties-">IotpDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</code>
+<div class="block">Create a connector for the IoT device specified by <code>options</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-java.io.File-">IotpGateway</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;optionsFile)</code>
+<div class="block">Create a connector for the IoT gateway device specified by <code>optionsFile</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-com.ibm.iotf.client.gateway.GatewayClient-">IotpGateway</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           com.ibm.iotf.client.gateway.GatewayClient&nbsp;gatewayClient)</code>
+<div class="block">Create a connector using the supplied WIoTP <code>DeviceClient</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html#IotpGateway-org.apache.edgent.topology.Topology-java.util.Properties-">IotpGateway</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;options)</code>
+<div class="block">Create a connector for the IoT gateway device specified by <code>options</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/jdbc/JdbcStreams.html#JdbcStreams-org.apache.edgent.topology.Topology-org.apache.edgent.connectors.jdbc.CheckedSupplier-org.apache.edgent.connectors.jdbc.CheckedFunction-">JdbcStreams</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedSupplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>&gt;&nbsp;dataSourceFn,
+           <a href="../../../../../org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc">CheckedFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</a>&gt;&nbsp;connFn)</code>
+<div class="block">Create a connector that uses a JDBC <a href="http://docs.oracle.com/javase/8/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><code>DataSource</code></a> object to get
+ a database connection.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.kafka">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaConsumer.html#KafkaConsumer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaConsumer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
+<div class="block">Create a consumer connector for subscribing to Kafka topics
+ and creating tuples from the received messages.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/kafka/KafkaProducer.html#KafkaProducer-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">KafkaProducer</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+             <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&gt;&nbsp;config)</code>
+<div class="block">Create a producer connector for publishing tuples to Kafka topics.s</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> that return <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MqttStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#topology--">topology</a></span>()</code>
+<div class="block">Get the <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><code>Topology</code></a> the connector is associated with.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#MqttStreams-org.apache.edgent.topology.Topology-java.lang.String-java.lang.String-">MqttStreams</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;url,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientId)</code>
+<div class="block">Create a connector to the specified server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/MqttStreams.html#MqttStreams-org.apache.edgent.topology.Topology-org.apache.edgent.function.Supplier-">MqttStreams</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+           <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&gt;&nbsp;config)</code>
+<div class="block">Create a connector with the specified configuration.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> that return <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">MqttDevice.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#topology--">topology</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-">MqttDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties)</code>
+<div class="block">Create an MqttDevice connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html#MqttDevice-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.connectors.mqtt.MqttConfig-">MqttDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;properties,
+          <a href="../../../../../org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt">MqttConfig</a>&nbsp;mqttConfig)</code>
+<div class="block">Create an MqttDevice connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient.javax.websocket">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a> that return <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Jsr356WebSocketClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#topology--">topology</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-">Jsr356WebSocketClient</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config)</code>
+<div class="block">Create a new Web Socket Client connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html#Jsr356WebSocketClient-org.apache.edgent.topology.Topology-java.util.Properties-org.apache.edgent.function.Supplier-">Jsr356WebSocketClient</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</a>&nbsp;config,
+                     <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;javax.websocket.WebSocketContainer&gt;&nbsp;containerFn)</code>
+<div class="block">Create a new Web Socket Client connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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 void</code></td>
+<td class="colLast"><span class="typeNameLabel">Metrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/metrics/Metrics.html#counter-org.apache.edgent.topology.Topology-">counter</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
+<div class="block">Add counter metrics to all the topology's streams.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.development">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DevelopmentProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      com.google.gson.JsonObject&nbsp;config)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> that implement <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></span></code>
+<div class="block"><code>DirectTopology</code> is a <a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><code>GraphTopology</code></a> that
+ is executed in threads in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">DirectProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      com.google.gson.JsonObject&nbsp;config)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> that return <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#newTopology--">newTopology</a></span>()</code>
+<div class="block">Create a new topology with a generated name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Create a new topology with a given name.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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>protected <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#createMessageHubDevice-org.apache.edgent.topology.Topology-">createMessageHubDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
+<div class="block">Create the connection to the message hub.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology)</code>
+<div class="block">Submit an executable.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html?is-external=true" title="class or interface in java.util.concurrent">Future</a>&lt;<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#submit-org.apache.edgent.topology.Topology-com.google.gson.JsonObject-">submit</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      com.google.gson.JsonObject&nbsp;config)</code>
+<div class="block">Submit an executable.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> with type arguments of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.providers.direct.DirectProvider-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a>&nbsp;provider,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses the passed in <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code> that uses its own <code>DirectProvider</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> with type arguments of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AppService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#createAndRegister-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-">createAndRegister</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+                 <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter)</code>
+<div class="block">Create an register an application service using the default alias <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS"><code>ApplicationService.ALIAS</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">AppService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructor parameters in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> with type arguments of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">AppService</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+          <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
+<div class="block">Create an <code>ApplicationService</code> instance.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">JobEvents.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/jobregistry/JobEvents.html#source-org.apache.edgent.topology.Topology-org.apache.edgent.function.BiFunction-">source</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology,
+      <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services">JobRegistryService.EventType</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>,T&gt;&nbsp;wrapper)</code>
+<div class="block">Declares a stream populated by <a href="../../../../../org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><code>JobRegistryService</code></a> events.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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 void</code></td>
+<td class="colLast"><span class="typeNameLabel">StreamScopeSetup.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/streamscope/StreamScopeSetup.html#addStreamScopes-org.apache.edgent.topology.Topology-">addStreamScopes</a></span>(<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;t)</code>
+<div class="block">Add StreamScope instances to the topology</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> that return <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TopologyProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology--">newTopology</a></span>()</code>
+<div class="block">Create a new topology with a generated name.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TopologyProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Create a new topology with a given name.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TopologyElement.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></span>()</code>
+<div class="block">Topology this element is contained in.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.services">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">TopologyBuilder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html#getBuilder--">getBuilder</a></span>()</code>
+<div class="block">How the application is built.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a> with type arguments of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ApplicationService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
+<div class="block">Add a topology that can be started though a control mbean.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> with type parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a>&lt;T extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a>&lt;G extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</span></code>
+<div class="block">Abstract stream that uses the functional primitives to implement most
+ methods.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> that implement <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a>&lt;X extends <a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</span></code>
+<div class="block">Topology implementation that uses the basic functions to implement most
+ sources streams.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> that return <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTopology.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#topology--">topology</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with type parameters of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a>&lt;G extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</span></code>
+<div class="block">A stream that directly adds oplets to the graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that implement <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a>&lt;X extends <a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</span></code>
+<div class="block">Topology implementation that provides basic functions for implementing
+ source streams backed by a <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that return <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTWindow.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#topology--">topology</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a> with type arguments of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete</a></span>(<a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+        com.google.gson.JsonObject&nbsp;config,
+        <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+        long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a> in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> with type arguments of type <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</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>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete</a></span>(<a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+        com.google.gson.JsonObject&nbsp;config,
+        <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+        long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Submit the topology for this tester and wait for it to complete, or reach
+ an end condition.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/Topology.html" target="_top">Frames</a></li>
+<li><a href="Topology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TopologyElement.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TopologyElement.html
new file mode 100644
index 0000000..7073760
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TopologyElement.html
@@ -0,0 +1,598 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.TopologyElement (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.topology.TopologyElement (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/TopologyElement.html" target="_top">Frames</a></li>
+<li><a href="TopologyElement.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.topology.TopologyElement" class="title">Uses of Interface<br>org.apache.edgent.topology.TopologyElement</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.iot">org.apache.edgent.apps.iot</a></td>
+<td class="colLast">
+<div class="block">Applications for use in an Internet of Things environment.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iot">org.apache.edgent.connectors.iot</a></td>
+<td class="colLast">
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub">org.apache.edgent.connectors.pubsub</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe model between jobs.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.serial">org.apache.edgent.connectors.serial</a></td>
+<td class="colLast">
+<div class="block">Serial port connector API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient">org.apache.edgent.connectors.wsclient</a></td>
+<td class="colLast">
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
+<td class="colLast">
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.tester">org.apache.edgent.topology.spi.tester</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
+<td class="colLast">
+<div class="block">Testing for a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.apps.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/apps/iot/package-summary.html">org.apache.edgent.apps.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/apps/iot/package-summary.html">org.apache.edgent.apps.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</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="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotDevicePubSub.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/iot/IotDevicePubSub.html#addIotDevice-org.apache.edgent.topology.TopologyElement-">addIotDevice</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te)</code>
+<div class="block">Add a proxy <code>IotDevice</code> for the topology containing <code>te</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</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="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory)</code>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">FileStreams.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/file/FileStreams.html#directoryWatcher-org.apache.edgent.topology.TopologyElement-org.apache.edgent.function.Supplier-java.util.Comparator-">directoryWatcher</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+                <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;directory,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&gt;&nbsp;comparator)</code>
+<div class="block">Declare a stream containing the absolute pathname of 
+ newly created file names from watching <code>directory</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a></span></code>
+<div class="block">A generic IoT device IoT hub connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a></span></code>
+<div class="block">A generic IoT gateway device IoT hub connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a> that implement <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp">IotpDevice</a></span></code>
+<div class="block">A Device Connector to IBM Watson IoT Platform (WIoTP).</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp">IotpGateway</a></span></code>
+<div class="block">An IoT Gateway Device Connector to IBM Watson IoT Platform (WIoTP).</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a> that implement <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot">MqttDevice</a></span></code>
+<div class="block">An MQTT based Edgent <a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><code>IotDevice</code></a> connector.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</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 &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">PublishSubscribe.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/pubsub/PublishSubscribe.html#subscribe-org.apache.edgent.topology.TopologyElement-java.lang.String-java.lang.Class-">subscribe</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>&nbsp;te,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;topic,
+         <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;T&gt;&nbsp;streamType)</code>
+<div class="block">Subscribe to a published topic.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.serial">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial">SerialDevice</a></span></code>
+<div class="block">Access to a device (or devices) connected by a serial port.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a></span></code>
+<div class="block">A generic connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient.javax.websocket">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a> that implement <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket">Jsr356WebSocketClient</a></span></code>
+<div class="block">A connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> that implement <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></span></code>
+<div class="block"><code>DirectTopology</code> is a <a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><code>GraphTopology</code></a> that
+ is executed in threads in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></span></code>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</span></code>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</span></code>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;T,K&gt;</span></code>
+<div class="block">Partitioned window of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> that implement <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a>&lt;X extends <a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</span></code>
+<div class="block">Topology implementation that uses the basic functions to implement most
+ sources streams.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a>&lt;G extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</span></code>
+<div class="block">Abstract stream that uses the functional primitives to implement most
+ methods.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that implement <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a>&lt;T,K&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a>&lt;G extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</span></code>
+<div class="block">A stream that directly adds oplets to the graph.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a>&lt;X extends <a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</span></code>
+<div class="block">Topology implementation that provides basic functions for implementing
+ source streams backed by a <a href="../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowImpl</a>&lt;T,K&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a>&lt;T,K&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a> that implement <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">AbstractTester</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a> in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></span></code>
+<div class="block">A <code>Tester</code> adds the ability to test a topology in a test framework such
+ as JUnit.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/TopologyElement.html" target="_top">Frames</a></li>
+<li><a href="TopologyElement.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TopologyProvider.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TopologyProvider.html
new file mode 100644
index 0000000..0617bec
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/class-use/TopologyProvider.html
@@ -0,0 +1,332 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.TopologyProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.topology.TopologyProvider (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/TopologyProvider.html" target="_top">Frames</a></li>
+<li><a href="TopologyProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.topology.TopologyProvider" class="title">Uses of Interface<br>org.apache.edgent.topology.TopologyProvider</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.runtime">org.apache.edgent.apps.runtime</a></td>
+<td class="colLast">
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.development">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.apps.runtime">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a> in <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/apps/runtime/JobMonitorApp.html#JobMonitorApp-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">JobMonitorApp</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+             <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Constructs a <code>JobMonitorApp</code> with the specified name in the 
+ context of the specified provider.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.development">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a> in <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a> that implement <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></span></code>
+<div class="block">Provider intended for development.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a> in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a> that implement <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></span></code>
+<div class="block"><code>DirectProvider</code> is a <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> that
+ runs a submitted topology as a <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> in threads
+ in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a> in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> that implement <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot">IotProvider</a></span></code>
+<div class="block">A provider that supports sharing of a single connection to an IoT message hub and
+ access to control MBeans via IoT device commands.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/providers/iot/IotProvider.html#IotProvider-java.lang.String-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-org.apache.edgent.function.Function-">IotProvider</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+           <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+           <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>&gt;&nbsp;iotDeviceCreator)</code>
+<div class="block">Create an <code>IotProvider</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a> in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</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="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AppService.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#createAndRegister-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-">createAndRegister</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+                 <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter)</code>
+<div class="block">Create an register an application service using the default alias <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS"><code>ApplicationService.ALIAS</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> with parameters of type <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html#AppService-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-java.lang.String-">AppService</a></span>(<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+          <a href="../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
+<div class="block">Create an <code>ApplicationService</code> instance.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a> in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> that implement <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a>&lt;T extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/class-use/TopologyProvider.html" target="_top">Frames</a></li>
+<li><a href="TopologyProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/doc-files/sources.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/doc-files/sources.html
new file mode 100644
index 0000000..2a6b260
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/doc-files/sources.html
@@ -0,0 +1,193 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<html lang="en">
+<head>
+    <title>Edgent Source Streams</title>
+</head>
+<body>
+<div role="main" aria-label="Source streams">
+<H1>Edgent Source Streams</H1>
+<h2>Introduction</h2>
+One of the first things you probably want to do is to bring data
+into your Edgent applications.
+The task is to create a <em>source stream</em> that contains the data
+that is to be processed and analyzed by Edgent.
+<br>
+Edgent provides a number of connectors providing source streams, such as IoTF, MQTT, Kafka, Files, HTTP etc,
+however for a specific device or application you may need to develop your own source streams.
+<h2>Source Streams</h2>
+To simplify the discussion we will describe these in terms of reading sensors,
+though each approach can apply to non-sensor data, such as polling an HTTP server for information.
+<P>
+Thus the goal is to produce a <em>source stream</em> where each tuple on the stream represents
+a reading from a sensor (or multiple sensors if the tuple object contains a sensor identifier).
+</P>
+<P>
+Source streams are created using functions and there are three styles of bringing data into Edgent.
+<OL>
+<LI> <a href="#polling">Polling</a> - periodically polling of a sensor's value. </LI>
+<LI> <a href="#blocking">Blocking</a> - a request is made to fetch data from a sensor </LI>
+<LI> <a href="#events">Events</a> - an event is created (by a non-Edgent framework) when the sensor changes </LI>
+</OL>
+<h3 id="polling">Polling Sources</h3>
+To poll a sensor periodically an application provides a <b>non-blocking</b>
+<a href="../../function/Supplier.html">Supplier function</a> that reads the sensor's value
+and passes it to <a href="../Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">Topology.poll()</a>.
+<P>
+For example imagine a library provides a static method to read an engine's oil temperature.
+<pre>
+<code>
+    double oilTemp = EngineInfo.getOilTemperature();
+</code>
+</pre>
+<br>
+To declare a stream in a topology that will result in the sensor being read every 100ms:
+an application uses a lambda expression as the function and passes it to <code>poll()</code>:
+<pre>
+<code>
+    TStream&lt;Double> oilTemps = topology.poll(() -> EngineInfo.getOilTemperature(), 100, TimeUnit.MILLISECONDS);
+</code>
+</pre>
+At runtime this results in a stream containing a new tuple approximately every 100ms
+set to the current value of the oil temperature (as a Double object).  
+<BR>
+A JSON source stream can be created that contains the sensor identifier in addition to the sensor reading.
+This allows multiple sensors to be present on the same stream (for example by merging a stream containing
+oil temperatures every 100ms with one containing coolant temperature polled every ten seconds), for partitioned
+downstream processing.
+<br>
+Here's an example of representing the same oil temperature as a JSON object:
+<pre>
+<code>
+    TStream&lt;JsonObject> oilTemps = topology.poll(() ->
+       {
+          JsonObject j = new JsonObject();
+          j.addProperty("id", "oilTemp");
+          j.addProperty("value", EngineInfo.getOilTemperature());
+          return j;
+       }, 100, TimeUnit.MILLISECONDS);
+</code>
+</pre>
+<h3 id="blocking">Blocking Sources</h3>
+Some sensors may be of the blocking style, a method is called that blocks until a new reading is available.
+Similar to the polling style an application provides a
+<a href="../../function/Supplier.html">Supplier function</a> that reads the sensor's value. The difference
+here is that the method can block waiting for a reading to become available. When a reading is available the method
+returns and the value is put on the returned stream.
+<P>
+The function is passed to
+<a href="../Topology.html#generate-org.apache.edgent.function.Supplier-">Topology.generate()</a>
+which at runtime will result in a dedicated thread that loops calling <code>get()</code>.
+Thus every time the function has a reading available it returns it which places the returned value
+on the stream and then is called again to wait for the next available reading.
+<br>
+With this example the function is similar to the polling example, the only difference is the
+call to get the sensor reading blocks :
+<pre>
+<code>
+    TStream&lt;JsonObject> drillDepths = topology.generate(() ->
+       {
+          JsonObject j = new JsonObject();
+          j.addProperty("id", "drillDepth");
+          // blocks until the drill has completed a
+          // requested move and returns its current depth.
+          j.addProperty("value", Drill.getDepth());
+          return j;
+       });
+</code>
+</pre>
+</P>
+<P>
+<a href="../Topology.html#source-org.apache.edgent.function.Supplier-">Topology.source()</a> is another method
+that supports a blocking source. This time the <code>Supplier</code> function passed in is called once
+to fetch the object that will be iterated over. The iterable object may be finite or infinite. In either
+case the <code>next()</code> method may block waiting to obtain the next value to place on the stream.
+</P>
+<h3 id="events">Event Sources</h3>
+<P>
+This is a typical style for sensors where a framework exists such that an application can register interest
+in receiving events or notifications when a sensor changes its value or state. This is typically performed
+by the application registering a callback or listener object that is called by the framework when the sensor changes.
+</P>
+<a href="../Topology.html#events-org.apache.edgent.function.Consumer-">Topology.events()</a> is the method to
+create a source stream from events using a listener function. The Edgent application passes
+a <a href="../../function/Consumer.html">Consumer function</a> that will be called when the
+application starts.
+<BR>
+The application's consumer function is passed a reference to a different <code>eventSubmitter</code>
+function provided by Edgent, this function (also a <code>Consumer</code>) is used by the callback
+to place tuples onto the stream (it <em>submits the event to the stream</em>).
+<BR>
+Thus the application's function has to:
+<UL>
+<LI>Register a callback with the sensor framework that will be called when the sensor changes. </LI>
+<LI>Have the callback convert the sensor change event information into the tuple type it wants to send on the stream,
+for example a JSON object. In some cases the raw event object is used as the stream's tuple. </LI>
+<LI>Execute the function provided by Edgent calling <code>eventSubmitter.accept(tuple)</code> to place the
+tuple onto the stream.
+</UL>
+<P>
+Here's an example of creating a stream of sensor events in Android.
+<BR>
+<pre>
+<code>
+   SensorManager mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
+
+   // Passes a Consumer that registers a SensorChangeEvents that 
+   // puts the SensorEvent onto the stream using eventSubmitter
+   // supplied by Edgent.
+   
+   // Note for clarity the application function is implemented as a lambda expression
+
+   TStream&lt;SensorEventt> tempSensor = topology.events(eventSubmitter ->
+      mSensorManager.registerListener(
+           new SensorChangeEvents(eventSubmitter),
+           Sensor.TYPE_AMBIENT_TEMPERATURE,
+           SensorManager.SENSOR_DELAY_NORMAL);
+
+// ....
+
+/**
+ * Sensor event listener that submits sensor
+ * change events as tuples using a Consumer.
+ */
+public class SensorChangeEvents implements SensorEventListener {
+    private final Consumer&lt;SensorEvent> eventSubmitter;
+    
+    public SensorChangeEvents(Consumer&lt;SensorEvent> eventSubmitter) {
+        this.eventSubmitter = eventSubmitter;
+    }
+    @Override
+    public void onSensorChanged(SensorEvent event) {
+        // Submit the event directly to the stream
+        eventSubmitter.accept(event);
+    }
+
+    @Override
+    public void onAccuracyChanged(Sensor sensor, int accuracy) {
+    }
+}
+
+</code>
+</pre> 
+</P>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/json/JsonFunctions.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/JsonFunctions.html
new file mode 100644
index 0000000..48c5245
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/JsonFunctions.html
@@ -0,0 +1,477 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>JsonFunctions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="JsonFunctions (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonFunctions.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/json/JsonFunctions.html" target="_top">Frames</a></li>
+<li><a href="JsonFunctions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.json</div>
+<h2 title="Class JsonFunctions" class="title">Class JsonFunctions</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.json.JsonFunctions</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">JsonFunctions</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Utilities for use of JSON and Json Objects in a streaming topology.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#JsonFunctions--">JsonFunctions</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,byte[]&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#asBytes--">asBytes</a></span>()</code>
+<div class="block">Get the UTF-8 bytes representation of the JSON for a JsonObject.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#asString--">asString</a></span>()</code>
+<div class="block">Get the JSON for a JsonObject.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;byte[],com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#fromBytes--">fromBytes</a></span>()</code>
+<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#fromString--">fromString</a></span>()</code>
+<div class="block">Create a new JsonObject from JSON.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,com.google.gson.JsonElement&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#unpartitioned--">unpartitioned</a></span>()</code>
+<div class="block">Returns a constant function that returns a zero (0) JsonElement.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfBoolean-java.lang.String-">valueOfBoolean</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Boolean</code> property.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfCharacter-java.lang.String-">valueOfCharacter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Character</code> property.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static &lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br><a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfNumber-java.lang.String-">valueOfNumber</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>Number</code> property.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html#valueOfString-java.lang.String-">valueOfString</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</code>
+<div class="block">Create a JsonObject with a <code>String</code> property.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="JsonFunctions--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>JsonFunctions</h4>
+<pre>public&nbsp;JsonFunctions()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="asString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>asString</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;asString()</pre>
+<div class="block">Get the JSON for a JsonObject.
+ 
+ <p>Returns a Function whose <code>apply(JsonObject jo)</code> returns the JSON
+ for the <code>jo</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+<a name="fromString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fromString</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;&nbsp;fromString()</pre>
+<div class="block">Create a new JsonObject from JSON.
+ 
+ <p>Returns a Function whose <code>apply(String json)</code> creates a JsonObject
+ from the <code>json</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+<a name="asBytes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>asBytes</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,byte[]&gt;&nbsp;asBytes()</pre>
+<div class="block">Get the UTF-8 bytes representation of the JSON for a JsonObject.
+ 
+ <p>Returns a Function whose <code>apply(JsonObject jo)</code> returns
+ the UTF-8 bytes for the JSON of <code>jo</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+<a name="fromBytes--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fromBytes</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;byte[],com.google.gson.JsonObject&gt;&nbsp;fromBytes()</pre>
+<div class="block">Create a new JsonObject from the UTF8 bytes representation of JSON.
+ 
+ <p>Returns a Function whose <code>apply(byte[] bytes)</code> returns
+ a JsonObject from the <code>bytes</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+<a name="unpartitioned--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unpartitioned</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;com.google.gson.JsonObject,com.google.gson.JsonElement&gt;&nbsp;unpartitioned()</pre>
+<div class="block">Returns a constant function that returns a zero (0) JsonElement.
+ 
+ <p>Useful for an unpartitioned <code>TWindow&lt;JsonObject,JsonElement&gt;</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Constant function that returns a zero (0) JsonElement.</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfNumber-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfNumber</h4>
+<pre>public static&nbsp;&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,com.google.gson.JsonObject&gt;&nbsp;valueOfNumber(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</pre>
+<div class="block">Create a JsonObject with a <code>Number</code> property.
+ 
+ <p>Returns a Function whose <code>apply(T v)</code> returns a JsonObject having 
+ a single property named <code>propName</code> with the value of <code>v</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - type of number</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>propName</code> - property name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfBoolean-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfBoolean</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>,com.google.gson.JsonObject&gt;&nbsp;valueOfBoolean(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</pre>
+<div class="block">Create a JsonObject with a <code>Boolean</code> property.
+ 
+ <p>Returns a Function whose <code>apply(Boolean v)</code> creates a new JsonObject having 
+ a single property named <code>propName</code> with the value of <code>v</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>propName</code> - property name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfString-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valueOfString</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,com.google.gson.JsonObject&gt;&nbsp;valueOfString(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</pre>
+<div class="block">Create a JsonObject with a <code>String</code> property.
+ 
+ <p>Returns a Function whose <code>apply(String v)</code> creates a new JsonObject having 
+ a single property named <code>propName</code> with the value of <code>v</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>propName</code> - property name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOfCharacter-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOfCharacter</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Character.html?is-external=true" title="class or interface in java.lang">Character</a>,com.google.gson.JsonObject&gt;&nbsp;valueOfCharacter(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;propName)</pre>
+<div class="block">Create a JsonObject with a <code>Character</code> property.
+ 
+ <p>Returns a Function whose <code>apply(Character v)</code> creates a new JsonObject having 
+ a single property named <code>propName</code> with the value of <code>v</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>propName</code> - property name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the Function</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/JsonFunctions.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/json/JsonFunctions.html" target="_top">Frames</a></li>
+<li><a href="JsonFunctions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/json/class-use/JsonFunctions.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/class-use/JsonFunctions.html
new file mode 100644
index 0000000..696dad4
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/class-use/JsonFunctions.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.json.JsonFunctions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.json.JsonFunctions (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/json/class-use/JsonFunctions.html" target="_top">Frames</a></li>
+<li><a href="JsonFunctions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.json.JsonFunctions" class="title">Uses of Class<br>org.apache.edgent.topology.json.JsonFunctions</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.topology.json.JsonFunctions</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/json/class-use/JsonFunctions.html" target="_top">Frames</a></li>
+<li><a href="JsonFunctions.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-frame.html
new file mode 100644
index 0000000..a3558b8
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/topology/json/package-summary.html" target="classFrame">org.apache.edgent.topology.json</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="JsonFunctions.html" title="class in org.apache.edgent.topology.json" target="classFrame">JsonFunctions</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-summary.html
new file mode 100644
index 0000000..1e9c30a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-summary.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.json (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/mbeans/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/json/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.topology.json</h1>
+<div class="docSummary">
+<div class="block">Utilities for use of JSON in a streaming topology.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json">JsonFunctions</a></td>
+<td class="colLast">
+<div class="block">Utilities for use of JSON and Json Objects in a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.topology.json Description">Package org.apache.edgent.topology.json Description</h2>
+<div class="block">Utilities for use of JSON in a streaming topology.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/mbeans/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/json/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-tree.html
new file mode 100644
index 0000000..092f1a7
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.json Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.json Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/mbeans/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/json/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.topology.json</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.topology.json.<a href="../../../../../org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json"><span class="typeNameLink">JsonFunctions</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/mbeans/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/json/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-use.html
new file mode 100644
index 0000000..cb7f1c9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/json/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.json (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.topology.json (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/json/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.topology.json" class="title">Uses of Package<br>org.apache.edgent.topology.json</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.topology.json</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/json/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html
new file mode 100644
index 0000000..50532a2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html
@@ -0,0 +1,323 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ApplicationServiceMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ApplicationServiceMXBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ApplicationServiceMXBean.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" target="_top">Frames</a></li>
+<li><a href="ApplicationServiceMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.mbeans</div>
+<h2 title="Interface ApplicationServiceMXBean" class="title">Interface ApplicationServiceMXBean</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice">AppServiceControl</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ApplicationServiceMXBean</span></pre>
+<div class="block">Control MBean for the application service.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>ApplicationService</code></a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#TYPE">TYPE</a></span></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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
+<div class="block">Register a jar file containing applications with
+ the application service.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-">submit</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+      <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
+<div class="block">Submit an application registered with the application service.</div>
+</td>
+</tr>
+</table>
+</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="TYPE">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TYPE</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> TYPE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.topology.mbeans.ApplicationServiceMXBean.TYPE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="submit-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>submit</h4>
+<pre>void&nbsp;submit(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Submit an application registered with the application service.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>applicationName</code> - Name of the application.</dd>
+<dd><code>jsonConfig</code> - JsonObject configuration serialized as a JSON String.
+ Null or an empty String is equivalent to an empty JSON object.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Error submitting application.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>ApplicationService</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="registerJar-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>registerJar</h4>
+<pre>void&nbsp;registerJar(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Register a jar file containing applications with
+ the application service.
+ 
+ <p>See <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-"><code>ApplicationService.registerJar()</code></a>
+ for further semantics and requirements on the jar.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jarURL</code> - URL for the jar file.</dd>
+<dd><code>jsonConfig</code> - JsonObject configuration serialized as a JSON String.
+ Null or an empty String is equivalent to an empty JSON object.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Error registering jar.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><code>ApplicationService</code></a>, 
+<a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><code>TopologyBuilder</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ApplicationServiceMXBean.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" target="_top">Frames</a></li>
+<li><a href="ApplicationServiceMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/class-use/ApplicationServiceMXBean.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/class-use/ApplicationServiceMXBean.html
new file mode 100644
index 0000000..c5f7400
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/class-use/ApplicationServiceMXBean.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.mbeans.ApplicationServiceMXBean (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.topology.mbeans.ApplicationServiceMXBean (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/mbeans/class-use/ApplicationServiceMXBean.html" target="_top">Frames</a></li>
+<li><a href="ApplicationServiceMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.topology.mbeans.ApplicationServiceMXBean" class="title">Uses of Interface<br>org.apache.edgent.topology.mbeans.ApplicationServiceMXBean</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a> in <a href="../../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> that implement <a href="../../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice">AppServiceControl</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/mbeans/class-use/ApplicationServiceMXBean.html" target="_top">Frames</a></li>
+<li><a href="ApplicationServiceMXBean.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-frame.html
new file mode 100644
index 0000000..9bfd91d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/topology/mbeans/package-summary.html" target="classFrame">org.apache.edgent.topology.mbeans</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans" target="classFrame"><span class="interfaceName">ApplicationServiceMXBean</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-summary.html
new file mode 100644
index 0000000..60fb819
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-summary.html
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/json/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/mbeans/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.topology.mbeans</h1>
+<div class="docSummary">
+<div class="block">Controls for executing topologies.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a></td>
+<td class="colLast">
+<div class="block">Control MBean for the application service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.topology.mbeans Description">Package org.apache.edgent.topology.mbeans Description</h2>
+<div class="block">Controls for executing topologies.
+ <P>
+ The "Attribute Name" column values below correspond to <code>KEY</code> values defined
+ in <code>org.apache.edgent.runtime.jsoncontrol.JsonControlService</code>.
+ 
+ <h3>Application Service </h3>
+ <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">Application service</a>
+ allows an application to be registered
+ so that it be be submitted remotely using a device command.
+ 
+ <BR>
+ This service registers a control MBean
+ <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><code>ApplicationServiceMXBean</code></a>
+ to provide control of the service.
+  
+ <h4 id="submitApp">Submit an Application</h4>
+ Method: <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>ApplicationServiceMXBean.submit(String, String)</code></a>
+ <table border=1 cellpadding=3 cellspacing=1>
+ <caption>JSON Submit Application</caption>
+ <tr>
+    <th id="attrName" align=center><b>Attribute name</b></th>
+    <th id="type" align=center><b>Type</b></th>
+    <th id="value" align=center><b>Value</b></th>
+    <th id="desc" align=center><b>Description</b></th>
+  </tr>
+ <tr>
+    <td headers="attrName"><code>type</code></td>
+    <td headers="type">String</td>
+    <td headers="value"><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#TYPE"><code>appService</code></a></td>
+    <td headers="desc"><code>ApplicationServiceMXBean</code> control MBean type.</td>
+  </tr>
+  <tr>
+    <td headers="attrName"><code>op</code></td>
+    <td headers="type">String</td>
+    <td headers="value"><code>submit</code></td>
+    <td headers="desc">Invoke <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>submit</code></a> operation
+    against the control MBean.</td>
+  </tr>
+  <tr>
+    <td headers="attrName"><code>alias</code></td>
+    <td headers="type">String</td>
+    <td headers="value">Alias of control MBean.</td>
+    <td headers="desc">Default is <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS"><code>edgent</code></a>.</td>
+  </tr>
+  <tr>
+    <td rowspan="2" headers="attrName"><code>args</code></td>
+    <td rowspan="2" headers="type">List</td>
+    <td headers="value">String: application name</td>
+    <td headers="desc">Registered application to submit.</td>
+  </tr>
+  <tr>
+    <td headers="value">JSON Object: submission configuration</td>
+    <td headers="desc">Configuration for the submission,
+    see <a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-"><code>submit()</code></a>.
+    If <code>jobName</code> is not set in the configuration then the job is submitted with <code>jobName</code> set to the
+    application name.</td>
+  </tr>
+ </table>
+ <BR>
+ Example submitting the application <code>EngineTemp</code> with no configuration, will result in a running
+ job named <code>EngineTemp</code>.
+ <BR>
+ <code>{"type":"appService","alias":"edgent","op":"submit","args":["EngineTemp",{}]}</code></div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/json/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/mbeans/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-tree.html
new file mode 100644
index 0000000..fe29c13
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-tree.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.mbeans Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/json/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/mbeans/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.topology.mbeans</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.topology.mbeans.<a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><span class="typeNameLink">ApplicationServiceMXBean</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/json/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/mbeans/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-use.html
new file mode 100644
index 0000000..a8539aa
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/mbeans/package-use.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 (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.topology.mbeans (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/mbeans/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.topology.mbeans" class="title">Uses of Package<br>org.apache.edgent.topology.mbeans</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/topology/mbeans/package-summary.html">org.apache.edgent.topology.mbeans</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/mbeans/package-summary.html">org.apache.edgent.topology.mbeans</a> used by <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/mbeans/class-use/ApplicationServiceMXBean.html#org.apache.edgent.runtime.appservice">ApplicationServiceMXBean</a>
+<div class="block">Control MBean for the application service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/mbeans/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/package-frame.html
new file mode 100644
index 0000000..37bea8e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/package-frame.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../org/apache/edgent/topology/package-summary.html" target="classFrame">org.apache.edgent.topology</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="Topology.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">Topology</span></a></li>
+<li><a href="TopologyElement.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TopologyElement</span></a></li>
+<li><a href="TopologyProvider.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TopologyProvider</span></a></li>
+<li><a href="TSink.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TSink</span></a></li>
+<li><a href="TStream.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TStream</span></a></li>
+<li><a href="TWindow.html" title="interface in org.apache.edgent.topology" target="classFrame"><span class="interfaceName">TWindow</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/package-summary.html
new file mode 100644
index 0000000..b042e13
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/package-summary.html
@@ -0,0 +1,192 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/oplets/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/topology/json/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.topology</h1>
+<div class="docSummary">
+<div class="block">Functional api to build a streaming topology.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></td>
+<td class="colLast">
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></td>
+<td class="colLast">
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></td>
+<td class="colLast">
+<div class="block">Provider (factory) for creating topologies.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;T,K&gt;</td>
+<td class="colLast">
+<div class="block">Partitioned window of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.topology Description">Package org.apache.edgent.topology Description</h2>
+<div class="block">Functional api to build a streaming topology.
+ 
+ <h2>Bringing data into Edgent</h2>
+ Data, for example device events, to be be processed and analyzed by Edgent
+ is brought on <em>source streams</em> which are implemented through functions.
+ <BR>
+ For details on how to create <em>source streams</em> see
+ <a href="doc-files/sources.html">Edgent Source Streams</a>.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/oplets/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../org/apache/edgent/topology/json/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/package-tree.html
new file mode 100644
index 0000000..5953ccd
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/package-tree.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/oplets/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/topology/json/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.topology</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.topology.<a href="../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TopologyElement</span></a>
+<ul>
+<li type="circle">org.apache.edgent.topology.<a href="../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Topology</span></a></li>
+<li type="circle">org.apache.edgent.topology.<a href="../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TSink</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.topology.<a href="../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TStream</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.topology.<a href="../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TWindow</span></a>&lt;T,K&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.topology.<a href="../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TopologyProvider</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/streamscope/oplets/package-tree.html">Prev</a></li>
+<li><a href="../../../../org/apache/edgent/topology/json/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/package-use.html
new file mode 100644
index 0000000..ca3f256
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/package-use.html
@@ -0,0 +1,1091 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.topology (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.topology" class="title">Uses of Package<br>org.apache.edgent.topology</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.math3.json">org.apache.edgent.analytics.math3.json</a></td>
+<td class="colLast">
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors</a></td>
+<td class="colLast">
+<div class="block">Analytics focused on handling sensor data.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.iot">org.apache.edgent.apps.iot</a></td>
+<td class="colLast">
+<div class="block">Applications for use in an Internet of Things environment.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.apps.runtime">org.apache.edgent.apps.runtime</a></td>
+<td class="colLast">
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.command">org.apache.edgent.connectors.command</a></td>
+<td class="colLast">
+<div class="block">Command / OS Process connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.file">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.http">org.apache.edgent.connectors.http</a></td>
+<td class="colLast">
+<div class="block">HTTP stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iot">org.apache.edgent.connectors.iot</a></td>
+<td class="colLast">
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.iotp">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.jdbc">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.kafka">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt">org.apache.edgent.connectors.mqtt</a></td>
+<td class="colLast">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.mqtt.iot">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.pubsub">org.apache.edgent.connectors.pubsub</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe model between jobs.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.serial">org.apache.edgent.connectors.serial</a></td>
+<td class="colLast">
+<div class="block">Serial port connector API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient">org.apache.edgent.connectors.wsclient</a></td>
+<td class="colLast">
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.connectors.wsclient.javax.websocket">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
+<td class="colLast">
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.metrics">org.apache.edgent.metrics</a></td>
+<td class="colLast">
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.development">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.jobregistry">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.streamscope">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing</a></td>
+<td class="colLast">
+<div class="block">Plumbing for a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.services">org.apache.edgent.topology.services</a></td>
+<td class="colLast">
+<div class="block">Services for topologies.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.tester">org.apache.edgent.topology.spi.tester</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
+<td class="colLast">
+<div class="block">Testing for a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.json">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.analytics.math3.json">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TWindow.html#org.apache.edgent.analytics.math3.json">TWindow</a>
+<div class="block">Partitioned window of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.sensors">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.analytics.sensors">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.apps.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/apps/iot/package-summary.html">org.apache.edgent.apps.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.apps.iot">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.apps.runtime">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.apps.runtime">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyProvider.html#org.apache.edgent.apps.runtime">TopologyProvider</a>
+<div class="block">Provider (factory) for creating topologies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.command">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.connectors.command">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.connectors.command">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.command">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.file">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.connectors.file">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.connectors.file">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.file">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.http">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.http">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.connectors.iot">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.connectors.iot">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.iot">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.iotp">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.connectors.iotp">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.connectors.iotp">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.connectors.iotp">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.iotp">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.jdbc">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.connectors.jdbc">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.connectors.jdbc">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.jdbc">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.kafka">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.connectors.kafka">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.connectors.kafka">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.kafka">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.connectors.mqtt">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.connectors.mqtt">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.mqtt">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.mqtt.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.connectors.mqtt.iot">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.connectors.mqtt.iot">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.connectors.mqtt.iot">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.mqtt.iot">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.pubsub">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.connectors.pubsub">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.connectors.pubsub">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.pubsub">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.serial">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.connectors.serial">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.connectors.wsclient">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.connectors.wsclient">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.wsclient">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.connectors.wsclient.javax.websocket">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.connectors.wsclient.javax.websocket">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.connectors.wsclient.javax.websocket">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.connectors.wsclient.javax.websocket">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.connectors.wsclient.javax.websocket">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.metrics">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.metrics">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.development">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.providers.development">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyProvider.html#org.apache.edgent.providers.development">TopologyProvider</a>
+<div class="block">Provider (factory) for creating topologies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.providers.direct">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.providers.direct">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyProvider.html#org.apache.edgent.providers.direct">TopologyProvider</a>
+<div class="block">Provider (factory) for creating topologies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.providers.iot">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyProvider.html#org.apache.edgent.providers.iot">TopologyProvider</a>
+<div class="block">Provider (factory) for creating topologies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.runtime.appservice">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyProvider.html#org.apache.edgent.runtime.appservice">TopologyProvider</a>
+<div class="block">Provider (factory) for creating topologies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.jobregistry">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.runtime.jobregistry">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.runtime.jobregistry">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.streamscope">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.streamscope">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.topology">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.topology">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.topology">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.topology">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TWindow.html#org.apache.edgent.topology">TWindow</a>
+<div class="block">Partitioned window of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.plumbing">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.topology.plumbing">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.services">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.topology.services">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.topology.spi">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.topology.spi">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyProvider.html#org.apache.edgent.topology.spi">TopologyProvider</a>
+<div class="block">Provider (factory) for creating topologies.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.topology.spi">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.topology.spi">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.topology.spi.graph">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.topology.spi.graph">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TSink.html#org.apache.edgent.topology.spi.graph">TSink</a>
+<div class="block">Termination point (sink) for a stream.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.topology.spi.graph">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TWindow.html#org.apache.edgent.topology.spi.graph">TWindow</a>
+<div class="block">Partitioned window of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.tester">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.topology.spi.tester">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.topology.spi.tester">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.tester">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> used by <a href="../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/Topology.html#org.apache.edgent.topology.tester">Topology</a>
+<div class="block">A declaration of a topology of streaming data.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TopologyElement.html#org.apache.edgent.topology.tester">TopologyElement</a>
+<div class="block">An element of a <code>Topology</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/topology/class-use/TStream.html#org.apache.edgent.topology.tester">TStream</a>
+<div class="block">A <code>TStream</code> is a declaration of a continuous sequence of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/topology/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html
new file mode 100644
index 0000000..3711cd2
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html
@@ -0,0 +1,339 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>LoadBalancedSplitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="LoadBalancedSplitter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LoadBalancedSplitter.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" target="_top">Frames</a></li>
+<li><a href="LoadBalancedSplitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.plumbing</div>
+<h2 title="Class LoadBalancedSplitter" class="title">Class LoadBalancedSplitter&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.plumbing.LoadBalancedSplitter&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">LoadBalancedSplitter&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;</pre>
+<div class="block">A Load Balanced Splitter function.
+ <P>
+ This is intended to be used as an argument to <a href="../../../../../org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-"><code>TStream.split(int, ToIntFunction)</code></a>.
+ The splitter maintains state for <code>numChannels</code> splitter channels,
+ tracking whether a channel is busy or free.
+ </P><P>
+ <a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html#applyAsInt-T-"><code>applyAsInt</code></a> awaits a free channel, marks
+ the channel as busy, and forwards the tuple to the channel.  The end
+ of the channel's pipeline must call <a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html#channelDone-int-"><code>channelDone(int)</code></a> to
+ signal that the channel is free.
+ </P></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-"><code>parallelBalanced</code></a>, 
+<a href="../../../../../serialized-form.html#org.apache.edgent.topology.plumbing.LoadBalancedSplitter">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html#LoadBalancedSplitter-int-">LoadBalancedSplitter</a></span>(int&nbsp;numChannels)</code>
+<div class="block">Create a new splitter.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html#applyAsInt-T-">applyAsInt</a></span>(<a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="type parameter in LoadBalancedSplitter">T</a>&nbsp;value)</code>
+<div class="block">Apply a function to <code>value</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html#channelDone-int-">channelDone</a></span>(int&nbsp;channel)</code>
+<div class="block">Signal that the channel is done processing the splitter supplied tuple.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="LoadBalancedSplitter-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>LoadBalancedSplitter</h4>
+<pre>public&nbsp;LoadBalancedSplitter(int&nbsp;numChannels)</pre>
+<div class="block">Create a new splitter.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>numChannels</code> - the number of splitter channels</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="channelDone-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>channelDone</h4>
+<pre>public&nbsp;void&nbsp;channelDone(int&nbsp;channel)</pre>
+<div class="block">Signal that the channel is done processing the splitter supplied tuple.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>channel</code> - the 0-based channel number</dd>
+</dl>
+</li>
+</ul>
+<a name="applyAsInt-java.lang.Object-">
+<!--   -->
+</a><a name="applyAsInt-T-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>applyAsInt</h4>
+<pre>public&nbsp;int&nbsp;applyAsInt(<a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="type parameter in LoadBalancedSplitter">T</a>&nbsp;value)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/function/ToIntFunction.html#applyAsInt-T-">ToIntFunction</a></code></span></div>
+<div class="block">Apply a function to <code>value</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/function/ToIntFunction.html#applyAsInt-T-">applyAsInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="type parameter in LoadBalancedSplitter">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - Value the function is applied to</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Result of the function against <code>value</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/LoadBalancedSplitter.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" target="_top">Frames</a></li>
+<li><a href="LoadBalancedSplitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/PlumbingStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/PlumbingStreams.html
new file mode 100644
index 0000000..f420d6a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/PlumbingStreams.html
@@ -0,0 +1,1011 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PlumbingStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PlumbingStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PlumbingStreams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/PlumbingStreams.html" target="_top">Frames</a></li>
+<li><a href="PlumbingStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.plumbing</div>
+<h2 title="Class PlumbingStreams" class="title">Class PlumbingStreams</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.plumbing.PlumbingStreams</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">PlumbingStreams</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Plumbing utilities for <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><code>TStream</code></a>.
+ Methods that manipulate the flow of tuples in a streaming topology,
+ but are not part of the logic of the application.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#PlumbingStreams--">PlumbingStreams</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</code>
+<div class="block">A tuple synchronization barrier.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-">barrier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
+       int&nbsp;queueCapacity)</code>
+<div class="block">A tuple synchronization barrier.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+             long&nbsp;delay,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Insert a blocking delay between tuples.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingOneShotDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingOneShotDelay</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                    long&nbsp;delay,
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Insert a blocking delay before forwarding the first tuple and
+ no delay for subsequent tuples.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingThrottle-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">blockingThrottle</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                long&nbsp;delay,
+                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Maintain a constant blocking delay between tuples.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrent</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+          <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static &lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">concurrentMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+             <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</code>
+<div class="block">Perform analytics concurrently.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#gate-org.apache.edgent.topology.TStream-java.util.concurrent.Semaphore-">gate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a>&nbsp;semaphore)</code>
+<div class="block">Control the flow of tuples to an output stream.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#isolate-org.apache.edgent.topology.TStream-boolean-">isolate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       boolean&nbsp;ordered)</code>
+<div class="block">Isolate upstream processing from downstream processing.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#isolate-org.apache.edgent.topology.TStream-int-">isolate</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+       int&nbsp;queueCapacity)</code>
+<div class="block">Isolate upstream processing from downstream processing.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallel</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+        int&nbsp;width,
+        <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static &lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">parallelBalanced</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                int&nbsp;width,
+                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</code>
+<div class="block">Perform an analytic pipeline on tuples in parallel.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static &lt;T,U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">parallelMap</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+           int&nbsp;width,
+           <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</code>
+<div class="block">Perform an analytic function on tuples in parallel.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#pressureReliever-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-int-">pressureReliever</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+                int&nbsp;count)</code>
+<div class="block">Relieve pressure on upstream processing by discarding tuples.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#roundRobinSplitter-int-">roundRobinSplitter</a></span>(int&nbsp;width)</code>
+<div class="block">A round-robin splitter ToIntFunction</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PlumbingStreams--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PlumbingStreams</h4>
+<pre>public&nbsp;PlumbingStreams()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="blockingDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>blockingDelay</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;blockingDelay(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                           long&nbsp;delay,
+                                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Insert a blocking delay between tuples.
+ Returned stream is the input stream delayed by <code>delay</code>.
+ <p>
+ Delays less than 1msec are translated to a 0 delay.
+ <p>
+ This function always adds the <code>delay</code> amount after receiving
+ a tuple before forwarding it.  
+ <p>
+ Downstream tuple processing delays will affect
+ the overall delay of a subsequent tuple.
+ <p>
+ e.g., the input stream contains two tuples t1 and t2 and
+ the delay is 100ms.  The forwarding of t1 is delayed by 100ms.
+ Then if a downstream processing delay of 80ms occurs, this function
+ receives t2 80ms after it forwarded t1 and it will delay another
+ 100ms before forwarding t2.  Hence the overall delay between forwarding
+ t1 and t2 is 180ms.
+ See <a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#blockingThrottle-long-java.util.concurrent.TimeUnit-"><code>blockingThrottle</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream t</dd>
+<dd><code>delay</code> - Amount of time to delay a tuple.</dd>
+<dd><code>unit</code> - Time unit for <code>delay</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that will be delayed.</dd>
+</dl>
+</li>
+</ul>
+<a name="blockingThrottle-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>blockingThrottle</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;blockingThrottle(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                              long&nbsp;delay,
+                                              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Maintain a constant blocking delay between tuples.
+ The returned stream is the input stream throttled by <code>delay</code>.
+ <p>
+ Delays less than 1msec are translated to a 0 delay.
+ <p>
+ Sample use:
+ <pre><code>
+ TStream&lt;String&gt; stream = topology.strings("a", "b, "c");
+ // Create a stream with tuples throttled to 1 second intervals.
+ TStream&lt;String&gt; throttledStream = blockingThrottle(stream, 1, TimeUnit.SECOND);
+ // print out the throttled tuples as they arrive
+ throttledStream.peek(t -&gt; System.out.println(new Date() + " - " + t));
+ </code></pre>
+ <p>
+ The function adjusts for downstream processing delays.
+ The first tuple is not delayed.  If <code>delay</code> has already
+ elapsed since the prior tuple was forwarded, the tuple 
+ is forwarded immediately.
+ Otherwise, forwarding the tuple is delayed to achieve
+ a <code>delay</code> amount since forwarding the prior tuple.
+ <p>
+ e.g., the input stream contains two tuples t1 and t2 and
+ the delay is 100ms.  The forwarding of t1 is delayed by 100ms.
+ Then if a downstream processing delay of 80ms occurs, this function
+ receives t2 80ms after it forwarded t1 and it will only delay another
+ 20ms (100ms - 80ms) before forwarding t2.  
+ Hence the overall delay between forwarding t1 and t2 remains 100ms.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the stream to throttle</dd>
+<dd><code>delay</code> - Amount of time to delay a tuple.</dd>
+<dd><code>unit</code> - Time unit for <code>delay</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the throttled stream</dd>
+</dl>
+</li>
+</ul>
+<a name="blockingOneShotDelay-org.apache.edgent.topology.TStream-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>blockingOneShotDelay</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;blockingOneShotDelay(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                                  long&nbsp;delay,
+                                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">Insert a blocking delay before forwarding the first tuple and
+ no delay for subsequent tuples.
+ <p>
+ Delays less than 1msec are translated to a 0 delay.
+ <p>
+ Sample use:
+ <pre><code>
+ TStream&lt;String&gt; stream = topology.strings("a", "b, "c");
+ // create a stream where the first tuple is delayed by 5 seconds. 
+ TStream&lt;String&gt; oneShotDelayedStream =
+      stream.map( blockingOneShotDelay(5, TimeUnit.SECONDS) );
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - input stream</dd>
+<dd><code>delay</code> - Amount of time to delay a tuple.</dd>
+<dd><code>unit</code> - Time unit for <code>delay</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the delayed stream</dd>
+</dl>
+</li>
+</ul>
+<a name="pressureReliever-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pressureReliever</h4>
+<pre>public static&nbsp;&lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;pressureReliever(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                                <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+                                                int&nbsp;count)</pre>
+<div class="block">Relieve pressure on upstream processing by discarding tuples.
+ This method ensures that upstream processing is not
+ constrained by any delay in downstream processing,
+ for example by a connector not being able to connect
+ to its external system.
+ <P>
+ Any downstream processing of the returned stream is isolated
+ from <code>stream</code> so that any slow down does not affect <code>stream</code>.
+ When the downstream processing cannot keep up with rate of
+ <code>stream</code> tuples will be dropped from returned stream.
+ <BR>
+ Up to <code>count</code> of the most recent tuples per key from <code>stream</code>
+ are maintained when downstream processing is slow, any older tuples
+ that have not been submitted to the returned stream will be discarded.
+ <BR>
+ Tuple order is maintained within a partition but is not guaranteed to
+ be maintained across partitions.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type.</dd>
+<dd><code>K</code> - Key type.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be isolated from downstream processing.</dd>
+<dd><code>keyFunction</code> - Function defining the key of each tuple.</dd>
+<dd><code>count</code> - Maximum number of tuples to maintain when downstream processing is backing up.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that is isolated from and thus relieves pressure on <code>stream</code>.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#isolate-org.apache.edgent.topology.TStream-int-"><code>isolate</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="isolate-org.apache.edgent.topology.TStream-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isolate</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;isolate(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                     boolean&nbsp;ordered)</pre>
+<div class="block">Isolate upstream processing from downstream processing.
+ <BR>
+ Implementations may throw <code>OutOfMemoryExceptions</code> 
+ if the processing against returned stream cannot keep up
+ with the arrival rate of tuples on <code>stream</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be isolated from downstream processing.</dd>
+<dd><code>ordered</code> - <code>true</code> to maintain arrival order on the returned stream,
+ <code>false</code> to not guaranteed arrival order.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that is isolated from <code>stream</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="isolate-org.apache.edgent.topology.TStream-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isolate</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;isolate(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                     int&nbsp;queueCapacity)</pre>
+<div class="block">Isolate upstream processing from downstream processing.
+ <P>
+ If the processing against the returned stream cannot keep up
+ with the arrival rate of tuples on <code>stream</code>, upstream
+ processing will block until there is space in the queue between
+ the streams.
+ </P><P>
+ Processing of tuples occurs in the order they were received.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be isolated from downstream processing.</dd>
+<dd><code>queueCapacity</code> - size of the queue between <code>stream</code> and
+        the returned stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that is isolated from <code>stream</code>.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#pressureReliever-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-int-"><code>pressureReliever</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>concurrentMap</h4>
+<pre>public static&nbsp;&lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;concurrentMap(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,U&gt;&gt;&nbsp;mappers,
+                                               <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</pre>
+<div class="block">Perform analytics concurrently.
+ <P>
+ This is a convenience function that calls
+ <a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-"><code>concurrent(TStream, List, Function)</code></a> after
+ creating <code>pipeline</code> and <code>combiner</code> functions
+ from the supplied <code>mappers</code> and <code>combiner</code> arguments.
+ </P><P>
+ That is, it is logically, if not exactly, the same as:
+ </P>
+ <pre><code>
+ List&lt;Function&lt;TStream&lt;T&gt;,TStream&lt;U&gt;&gt;&gt; pipelines = new ArrayList&lt;&gt;();
+ for (Function&lt;T,U&gt; mapper : mappers)
+   pipelines.add(s -&gt; s.map(mapper));
+ concurrent(stream, pipelines, combiner);
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type on input stream.</dd>
+<dd><code>U</code> - Tuple type generated by mappers.</dd>
+<dd><code>R</code> - Tuple type of the result.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - input stream</dd>
+<dd><code>mappers</code> - functions to be run concurrently.  Each mapper MUST
+                 return a non-null result.
+                 A runtime error will be generated if a null result
+                 is returned.</dd>
+<dd><code>combiner</code> - function to create a result tuple from the list of
+                 results from <code>mappers</code>.
+                 The input list order is 1:1 with the <code>mappers</code> list.
+                 I.e., list entry [0] is the result from mappers[0],
+                 list entry [1] is the result from mappers[1], etc.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>result stream</dd>
+</dl>
+</li>
+</ul>
+<a name="concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>concurrent</h4>
+<pre>public static&nbsp;&lt;T,U,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;concurrent(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&gt;&gt;&nbsp;pipelines,
+                                            <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,R&gt;&nbsp;combiner)</pre>
+<div class="block">Perform analytics concurrently.
+ <P>
+ Process input tuples one at at time, invoking the specified
+ analytics (<code>pipelines</code>) concurrently, combine the results,
+ and then process the next input tuple in the same manner.
+ </P><P>
+ Logically, instead of doing this:
+ </P>
+ <pre><code>
+ sensorReadings&lt;T&gt; -&gt; A1 -&gt; A2 -&gt; A3 -&gt; results&lt;R&gt;
+ </code></pre>
+ create a graph that's logically like this:
+ <pre><code>
+ - 
+                      |-&gt; A1 -&gt;|
+ sensorReadings&lt;T&gt; -&gt; |-&gt; A2 -&gt;| -&gt; results&lt;R&gt;
+                      |-&gt; A3 -&gt;|
+ 
+ </code></pre>
+ more specifically a graph like this:
+ <pre><code>
+ -
+           |-&gt; isolate(1) -&gt; pipeline1 -&gt; |
+ stream -&gt; |-&gt; isolate(1) -&gt; pipeline2 -&gt; |-&gt; barrier(10) -&gt; combiner 
+           |-&gt; isolate(1) -&gt; pipeline3 -&gt; |
+                . . .
+ </code></pre>
+ <P>
+ The typical use case for this is when an application has a collection
+ of independent analytics to perform on each tuple and the analytics
+ are sufficiently long running such that performing them concurrently
+ is desired.
+ </P><P>
+ Note, this is in contrast to "parallel" stream processing,
+ which in Java8 Streams and other contexts means processing multiple
+ tuples in parallel, each on a replicated processing pipeline.
+ </P><P>
+ Threadsafety - one of the following must be true:
+ </P>
+ <ul>
+ <li>the tuples from <code>stream</code> are threadsafe</li>
+ <li>the <code>pipelines</code> do not modify the input tuples</li>
+ <li>the <code>pipelines</code> provide their own synchronization controls
+     to protect concurrent modifications of the input tuples</li>
+ </ul>
+ <P>
+ Logically, a thread is allocated for each of the <code>pipelines</code>.
+ The actual degree of concurrency may be <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> dependent.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type on input stream.</dd>
+<dd><code>U</code> - Tuple type generated by pipelines.</dd>
+<dd><code>R</code> - Tuple type of the result.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - input stream</dd>
+<dd><code>pipelines</code> - a list of functions to add a pipeline to the topology.
+                 Each <code>pipeline.apply()</code> is called with <code>stream</code>
+                 as the input, yielding the pipeline's result stream.
+                 For each input tuple, a pipeline MUST create exactly one output tuple.
+                 Tuple flow into the pipelines will cease if that requirement
+                 is not met.</dd>
+<dd><code>combiner</code> - function to create a result tuple from the list of
+                 results from <code>pipelines</code>.
+                 The input tuple list's order is 1:1 with the <code>pipelines</code> list.
+                 I.e., list entry [0] is the result from pipelines[0],
+                 list entry [1] is the result from pipelines[1], etc.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>result stream</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-"><code>barrier</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="barrier-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>barrier</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;barrier(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams)</pre>
+<div class="block">A tuple synchronization barrier.
+ <P>
+ Same as <code>barrier(others, 1)</code>
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>streams</code> - input streams</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the output stream</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#barrier-java.util.List-int-"><code>barrier(List, int)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="barrier-java.util.List-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>barrier</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;barrier(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&gt;&nbsp;streams,
+                                           int&nbsp;queueCapacity)</pre>
+<div class="block">A tuple synchronization barrier.
+ <P>
+ A barrier has n input streams with tuple type <code>T</code>
+ and one output stream with tuple type <code>List&lt;T&gt;</code>.
+ Once the barrier receives one tuple on each of its input streams,
+ it generates an output tuple containing one tuple from each input stream.
+ It then waits until it has received another tuple from each input stream.
+ </P><P>
+ Input stream 0's tuple is in the output tuple's list[0],
+ stream 1's tuple in list[1], and so on.
+ </P><P>
+ The barrier's output stream is isolated from the input streams.
+ </P><P>
+ The barrier has a queue of size <code>queueCapacity</code> for each
+ input stream.  When a tuple for an input stream is received it is
+ added to its queue.  The stream will block if the queue is full.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of the tuple.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>streams</code> - the list of input streams</dd>
+<dd><code>queueCapacity</code> - the size of each input stream's queue</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the output stream</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing"><code>Barrier</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="parallelMap-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parallelMap</h4>
+<pre>public static&nbsp;&lt;T,U&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;parallelMap(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                           int&nbsp;width,
+                                           <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+                                           <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,U&gt;&nbsp;mapper)</pre>
+<div class="block">Perform an analytic function on tuples in parallel.
+ <P>
+ Same as <code>parallel(stream, width, splitter, (s,ch) -&gt; s.map(t -&gt; mapper.apply(t, ch))</code>
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Input stream tuple type</dd>
+<dd><code>U</code> - Result stream tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - input stream</dd>
+<dd><code>splitter</code> - the tuple channel allocation function</dd>
+<dd><code>mapper</code> - analytic function</dd>
+<dd><code>width</code> - number of channels</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the unordered result stream</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#roundRobinSplitter-int-"><code>roundRobinSplitter</code></a>, 
+<a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrentMap-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-"><code>concurrentMap</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parallel</h4>
+<pre>public static&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;parallel(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                        int&nbsp;width,
+                                        <a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;splitter,
+                                        <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</pre>
+<div class="block">Perform an analytic pipeline on tuples in parallel.
+ <P>
+ Splits <code>stream</code> into <code>width</code> parallel processing channels,
+ partitioning tuples among the channels using <code>splitter</code>.
+ Each channel runs a copy of <code>pipeline</code>.
+ The resulting stream is isolated from the upstream parallel channels.
+ </P><P>
+ The ordering of tuples in <code>stream</code> is not maintained in the
+ results from <code>parallel</code>.
+ </P><P>
+ <code>pipeline</code> is not required to yield a result for each input
+ tuple.
+ </P><P>
+ A common splitter function is a <a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#roundRobinSplitter-int-"><code>roundRobinSplitter</code></a>.
+ </P><P>
+ The generated graph looks like this:
+ </P>
+ <pre><code>
+ -
+                                    |-&gt; isolate(10) -&gt; pipeline-ch1 -&gt; |
+ stream -&gt; split(width,splitter) -&gt; |-&gt; isolate(10) -&gt; pipeline-ch2 -&gt; |-&gt; union -&gt; isolate(width)
+                                    |-&gt; isolate(10) -&gt; pipeline-ch3 -&gt; |
+                                                . . .
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Input stream tuple type</dd>
+<dd><code>R</code> - Result stream tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the input stream</dd>
+<dd><code>width</code> - number of parallel processing channels</dd>
+<dd><code>splitter</code> - the tuple channel allocation function</dd>
+<dd><code>pipeline</code> - the pipeline for each channel.  
+        <code>pipeline.apply(inputStream,channel)</code>
+        is called to generate the pipeline for each channel.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the isolated unordered result from each parallel channel</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#roundRobinSplitter-int-"><code>roundRobinSplitter</code></a>, 
+<a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#concurrent-org.apache.edgent.topology.TStream-java.util.List-org.apache.edgent.function.Function-"><code>concurrent</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="parallelBalanced-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>parallelBalanced</h4>
+<pre>public static&nbsp;&lt;T,R&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&nbsp;parallelBalanced(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                                int&nbsp;width,
+                                                <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;R&gt;&gt;&nbsp;pipeline)</pre>
+<div class="block">Perform an analytic pipeline on tuples in parallel.
+ <P>
+ Splits <code>stream</code> into <code>width</code> parallel processing channels,
+ partitioning tuples among the channels in a load balanced fashion.
+ Each channel runs a copy of <code>pipeline</code>.
+ The resulting stream is isolated from the upstream parallel channels.
+ </P><P>
+ The ordering of tuples in <code>stream</code> is not maintained in the
+ results from <code>parallel</code>.
+ </P><P>
+ A <code>pipeline</code> <b>MUST</b> yield a result for each input
+ tuple.  Failure to do so will result in the channel remaining
+ in a busy state and no longer available to process additional tuples.
+ </P><P>
+ A <a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing"><code>LoadBalancedSplitter</code></a> is used to distribute tuples.
+ </P><P>
+ The generated graph looks like this:
+ </P>
+ <pre><code>
+ -
+                                    |-&gt; isolate(1) -&gt; pipeline-ch1 -&gt; peek(splitter.channelDone()) -&gt; |
+ stream -&gt; split(width,splitter) -&gt; |-&gt; isolate(1) -&gt; pipeline-ch2 -&gt; peek(splitter.channelDone()) -&gt; |-&gt; union -&gt; isolate(width)
+                                    |-&gt; isolate(1) -&gt; pipeline-ch3 -&gt; peek(splitter.channelDone()) -&gt; |
+                                                . . .
+ </code></pre>
+ <P>
+ Note, this implementation requires that the splitter is used from
+ only a single JVM.  The <code>org.apache.edgent.providers.direct.DirectProvider</code>
+ provider meets this requirement.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Input stream tuple type</dd>
+<dd><code>R</code> - Result stream tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the input stream</dd>
+<dd><code>width</code> - number of parallel processing channels</dd>
+<dd><code>pipeline</code> - the pipeline for each channel.  
+        <code>pipeline.apply(inputStream,channel)</code>
+        is called to generate the pipeline for each channel.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the isolated unordered result from each parallel channel</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-"><code>parallel(TStream, int, ToIntFunction, BiFunction)</code></a>, 
+<a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing"><code>LoadBalancedSplitter</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="roundRobinSplitter-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>roundRobinSplitter</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;&nbsp;roundRobinSplitter(int&nbsp;width)</pre>
+<div class="block">A round-robin splitter ToIntFunction
+ <P>
+ The splitter function cycles among the <code>width</code> channels
+ on successive calls to <code>roundRobinSplitter.applyAsInt()</code>,
+ returning <code>0, 1, ..., width-1, 0, 1, ..., width-1</code>.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>width</code> - number of splitter channels</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the splitter</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-"><code>TStream.split</code></a>, 
+<a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#parallel-org.apache.edgent.topology.TStream-int-org.apache.edgent.function.ToIntFunction-org.apache.edgent.function.BiFunction-"><code>parallel</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="gate-org.apache.edgent.topology.TStream-java.util.concurrent.Semaphore-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>gate</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;gate(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a>&nbsp;semaphore)</pre>
+<div class="block">Control the flow of tuples to an output stream.
+ <P>
+ A <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent"><code>Semaphore</code></a> is used to control the flow of tuples
+ through the <code>gate</code>.
+ The gate acquires a permit from the
+ semaphore to pass the tuple through, blocking until a permit is
+ acquired (and applying backpressure upstream while blocked).
+ Elsewhere, some code calls <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true#release-int-" title="class or interface in java.util.concurrent"><code>Semaphore.release(int)</code></a>
+ to make permits available.
+ </P><P>
+ If a TopologyProvider is used that can distribute a topology's
+ streams to different JVM's the gate and the code releasing the
+ permits must be in the same JVM.
+ </P><P>
+ Sample use:
+ <BR>
+ Suppose you wanted to control processing such that concurrent
+ pipelines processed each tuple in lock-step.
+ I.e., You want all of the pipelines to start processing a tuple
+ at the same time and not start a new tuple until the current
+ tuple had been fully processed by each of them:
+ </P>
+ <pre><code>
+ TStream&lt;Integer&gt; readings = ...;
+ Semaphore gateControl = new Semaphore(1); // allow the first to pass through
+ TStream&lt;Integer&gt; gated = PlumbingStreams.gate(readings, gateControl);
+ 
+ // Create the concurrent pipeline combiner and have it
+ // signal that concurrent processing of the tuple has completed.
+ // In this sample the combiner just returns the received list of
+ // each pipeline result.
+ 
+ Function&lt;TStream&lt;List&lt;Integer&gt;&gt;,TStream&lt;List&lt;Integer&gt;&gt;&gt; combiner =
+   stream -&gt; stream.map(list -&gt; {
+       gateControl.release();
+       return list;
+     });
+   
+ TStream&lt;List&lt;Integer&gt;&gt; results = PlumbingStreams.concurrent(gated, pipelines, combiner);
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - the input stream</dd>
+<dd><code>semaphore</code> - gate control</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>gated stream</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PlumbingStreams.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/PlumbingStreams.html" target="_top">Frames</a></li>
+<li><a href="PlumbingStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/Valve.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/Valve.html
new file mode 100644
index 0000000..53a18ca
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/Valve.html
@@ -0,0 +1,407 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Valve (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Valve (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Valve.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/Valve.html" target="_top">Frames</a></li>
+<li><a href="Valve.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.plumbing</div>
+<h2 title="Class Valve" class="title">Class Valve&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.plumbing.Valve&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - tuple type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Valve&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;</pre>
+<div class="block">A generic "valve" <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><code>Predicate</code></a>.
+ <p>
+ A valve is either open or closed.
+ When used as a Predicate to <code>TStream.filter()</code>,
+ filter passes tuples only when the valve is open.
+ </p><p>
+ A valve is typically used to dynamically control whether or not
+ some downstream tuple processing is enabled.  A decision to change the
+ state of the valve may be a result of local analytics or an external
+ command.
+ <br>
+ E.g., in a simple case, a Valve might be used to control
+ whether or not logging or publishing of tuples is enabled.
+ </p>
+ <pre><code>
+ TStream&lt;JsonObject&gt; stream = ...;
+ 
+ Valve&lt;JsonObject&gt; valve = new Valve&lt;&gt;(false);
+ stream.filter(valve).sink(someTupleLoggingConsumer);
+                                 
+ // from some analytic or device command handler...
+     valve.setOpen(true);
+ </code></pre></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../serialized-form.html#org.apache.edgent.topology.plumbing.Valve">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html#Valve--">Valve</a></span>()</code>
+<div class="block">Create a new Valve Predicate</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html#Valve-boolean-">Valve</a></span>(boolean&nbsp;isOpen)</code>
+<div class="block">Create a new Valve Predicate</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html#isOpen--">isOpen</a></span>()</code>
+<div class="block">Get the valve state</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html#setOpen-boolean-">setOpen</a></span>(boolean&nbsp;isOpen)</code>
+<div class="block">Set the valve state</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html#test-T-">test</a></span>(<a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="type parameter in Valve">T</a>&nbsp;value)</code>
+<div class="block">Test the state of the valve, <code>value</code> is ignored.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html#toString--">toString</a></span>()</code>
+<div class="block">Returns a String for development/debug support.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Valve--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>Valve</h4>
+<pre>public&nbsp;Valve()</pre>
+<div class="block">Create a new Valve Predicate
+ <p>
+ Same as <code>Valve(true)</code></div>
+</li>
+</ul>
+<a name="Valve-boolean-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Valve</h4>
+<pre>public&nbsp;Valve(boolean&nbsp;isOpen)</pre>
+<div class="block">Create a new Valve Predicate
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>isOpen</code> - the initial state</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setOpen-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setOpen</h4>
+<pre>public&nbsp;void&nbsp;setOpen(boolean&nbsp;isOpen)</pre>
+<div class="block">Set the valve state</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>isOpen</code> - true to open the valve</dd>
+</dl>
+</li>
+</ul>
+<a name="isOpen--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isOpen</h4>
+<pre>public&nbsp;boolean&nbsp;isOpen()</pre>
+<div class="block">Get the valve state</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the state, true if the valve is open, false otherwise</dd>
+</dl>
+</li>
+</ul>
+<a name="test-java.lang.Object-">
+<!--   -->
+</a><a name="test-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>test</h4>
+<pre>public&nbsp;boolean&nbsp;test(<a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="type parameter in Valve">T</a>&nbsp;value)</pre>
+<div class="block">Test the state of the valve, <code>value</code> is ignored.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/function/Predicate.html#test-T-">test</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="type parameter in Valve">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>value</code> - Value to be tested.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true when the valve is open, false otherwise</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<div class="block">Returns a String for development/debug support.  Content subject to change.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Valve.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/Valve.html" target="_top">Frames</a></li>
+<li><a href="Valve.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/class-use/LoadBalancedSplitter.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/class-use/LoadBalancedSplitter.html
new file mode 100644
index 0000000..bd94cf5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/class-use/LoadBalancedSplitter.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.plumbing.LoadBalancedSplitter (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.plumbing.LoadBalancedSplitter (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/plumbing/class-use/LoadBalancedSplitter.html" target="_top">Frames</a></li>
+<li><a href="LoadBalancedSplitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.plumbing.LoadBalancedSplitter" class="title">Uses of Class<br>org.apache.edgent.topology.plumbing.LoadBalancedSplitter</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.topology.plumbing.LoadBalancedSplitter</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/plumbing/class-use/LoadBalancedSplitter.html" target="_top">Frames</a></li>
+<li><a href="LoadBalancedSplitter.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/class-use/PlumbingStreams.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/class-use/PlumbingStreams.html
new file mode 100644
index 0000000..f365f3d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/class-use/PlumbingStreams.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.plumbing.PlumbingStreams (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.plumbing.PlumbingStreams (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/plumbing/class-use/PlumbingStreams.html" target="_top">Frames</a></li>
+<li><a href="PlumbingStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.plumbing.PlumbingStreams" class="title">Uses of Class<br>org.apache.edgent.topology.plumbing.PlumbingStreams</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.topology.plumbing.PlumbingStreams</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/plumbing/class-use/PlumbingStreams.html" target="_top">Frames</a></li>
+<li><a href="PlumbingStreams.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/class-use/Valve.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/class-use/Valve.html
new file mode 100644
index 0000000..cd731fd
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/class-use/Valve.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.plumbing.Valve (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.plumbing.Valve (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/plumbing/class-use/Valve.html" target="_top">Frames</a></li>
+<li><a href="Valve.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.plumbing.Valve" class="title">Uses of Class<br>org.apache.edgent.topology.plumbing.Valve</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.topology.plumbing.Valve</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/plumbing/class-use/Valve.html" target="_top">Frames</a></li>
+<li><a href="Valve.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-frame.html
new file mode 100644
index 0000000..13fd607
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-frame.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html" target="classFrame">org.apache.edgent.topology.plumbing</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing" target="classFrame">LoadBalancedSplitter</a></li>
+<li><a href="PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing" target="classFrame">PlumbingStreams</a></li>
+<li><a href="Valve.html" title="class in org.apache.edgent.topology.plumbing" target="classFrame">Valve</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-summary.html
new file mode 100644
index 0000000..3af60d5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-summary.html
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.plumbing (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/mbeans/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/services/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.topology.plumbing</h1>
+<div class="docSummary">
+<div class="block">Plumbing for a streaming topology.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">LoadBalancedSplitter</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A Load Balanced Splitter function.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing">PlumbingStreams</a></td>
+<td class="colLast">
+<div class="block">Plumbing utilities for <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><code>TStream</code></a>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">Valve</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A generic "valve" <a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><code>Predicate</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.topology.plumbing Description">Package org.apache.edgent.topology.plumbing Description</h2>
+<div class="block">Plumbing for a streaming topology.
+ Methods that manipulate the flow of tuples in a streaming topology,
+ but are not part of the logic of the application.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/mbeans/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/services/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-tree.html
new file mode 100644
index 0000000..ba208a8
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-tree.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.plumbing Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.plumbing Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/mbeans/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/services/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.topology.plumbing</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.topology.plumbing.<a href="../../../../../org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">LoadBalancedSplitter</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.topology.plumbing.<a href="../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">PlumbingStreams</span></a></li>
+<li type="circle">org.apache.edgent.topology.plumbing.<a href="../../../../../org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Valve</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/mbeans/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/services/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-use.html
new file mode 100644
index 0000000..9de3677
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/plumbing/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.plumbing (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.topology.plumbing (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.topology.plumbing" class="title">Uses of Package<br>org.apache.edgent.topology.plumbing</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.topology.plumbing</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/plumbing/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/services/ApplicationService.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/ApplicationService.html
new file mode 100644
index 0000000..a63f604
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/ApplicationService.html
@@ -0,0 +1,383 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ApplicationService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ApplicationService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ApplicationService.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/services/ApplicationService.html" target="_top">Frames</a></li>
+<li><a href="ApplicationService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.services</div>
+<h2 title="Interface ApplicationService" class="title">Interface ApplicationService</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ApplicationService</span></pre>
+<div class="block">A service that allows registration of applications and
+ the ability to submit them through a control MBean.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><code>ApplicationServiceMXBean</code></a></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="memberSummary" 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 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS">ALIAS</a></span></code>
+<div class="block">Default alias a service registers its control MBean as.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#SYSTEM_APP_PREFIX">SYSTEM_APP_PREFIX</a></span></code>
+<div class="block">Prefix ("edgent") reserved for system application names.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#getApplicationNames--">getApplicationNames</a></span>()</code>
+<div class="block">Returns the names of applications registered with this service.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-">registerJar</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)</code>
+<div class="block">Register a jar file containing new applications.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">registerTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</code>
+<div class="block">Add a topology that can be started though a control mbean.</div>
+</td>
+</tr>
+</table>
+</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="ALIAS">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ALIAS</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ALIAS</pre>
+<div class="block">Default alias a service registers its control MBean as.
+ Value is "edgent".</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.topology.services.ApplicationService.ALIAS">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="SYSTEM_APP_PREFIX">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>SYSTEM_APP_PREFIX</h4>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SYSTEM_APP_PREFIX</pre>
+<div class="block">Prefix ("edgent") reserved for system application names.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.edgent.topology.services.ApplicationService.SYSTEM_APP_PREFIX">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerTopology</h4>
+<pre>void&nbsp;registerTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;applicationName,
+                      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;builder)</pre>
+<div class="block">Add a topology that can be started though a control mbean.
+ Any registration replaces any existing application with the same name.
+ <BR>
+ When a <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>submit</code></a>
+ is invoked <code>builder.accept(topology, config)</code> is called passing:
+ <UL>
+ <LI>
+ <code>topology</code> - An empty topology with the name <code>applicationName</code>.
+ </LI>
+ <LI>
+ <code>config</code> - JSON submission configuration from
+ <a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html#submit-java.lang.String-java.lang.String-"><code>submit</code></a>.
+ </LI>
+ </UL>
+ Once <code>builder.accept(topology, config)</code> returns it is submitted
+ to the <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution"><code>Submitter</code></a> associated with the implementation of this service.
+ <P>
+ Application names starting with <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#SYSTEM_APP_PREFIX"><code>edgent</code></a> are reserved
+ for system applications.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>applicationName</code> - Application name to register.</dd>
+<dd><code>builder</code> - How to build the topology for this application.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><code>ApplicationServiceMXBean</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="registerJar-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerJar</h4>
+<pre>void&nbsp;registerJar(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jarURL,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;jsonConfig)
+          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Register a jar file containing new applications.
+ 
+ <p>Any <a href="http://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html?is-external=true" title="class or interface in java.util"><code>service provider</code></a> 
+ within the jar of type <a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><code>TopologyBuilder</code></a>
+ will be <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerTopology-java.lang.String-org.apache.edgent.function.BiConsumer-"><code>registered</code></a>.
+ 
+ The jar cannot have any new dependencies, its classpath will
+ be the classpath of this service.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>jarURL</code> - URL of Jar containing new applications.</dd>
+<dd><code>jsonConfig</code> - JSON configuration serialized as a String (currently unused).</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if failure</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html?is-external=true" title="class or interface in java.util"><code>ServiceLoader</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="getApplicationNames--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getApplicationNames</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getApplicationNames()</pre>
+<div class="block">Returns the names of applications registered with this service.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the names of applications registered with this service.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ApplicationService.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/services/ApplicationService.html" target="_top">Frames</a></li>
+<li><a href="ApplicationService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/services/TopologyBuilder.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/TopologyBuilder.html
new file mode 100644
index 0000000..5dc5919
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/TopologyBuilder.html
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TopologyBuilder (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TopologyBuilder (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TopologyBuilder.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/services/TopologyBuilder.html" target="_top">Frames</a></li>
+<li><a href="TopologyBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.services</div>
+<h2 title="Interface TopologyBuilder" class="title">Interface TopologyBuilder</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">TopologyBuilder</span></pre>
+<div class="block">Represents an topology that can be built.
+ 
+ A class implementing <code>TopologyBuilder</code> can
+ be registered as a service provider in a jar file for
+ automatic application registration using
+ <a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html#registerJar-java.lang.String-java.lang.String-"><code>ApplicationService.registerJar(String, String)</code></a>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html#getBuilder--">getBuilder</a></span>()</code>
+<div class="block">How the application is built.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html#getName--">getName</a></span>()</code>
+<div class="block">Name the application will be known as.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block">Name the application will be known as.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Name the application will be known as.</dd>
+</dl>
+</li>
+</ul>
+<a name="getBuilder--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getBuilder</h4>
+<pre><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,com.google.gson.JsonObject&gt;&nbsp;getBuilder()</pre>
+<div class="block">How the application is built.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Function that builds the application.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TopologyBuilder.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/services/TopologyBuilder.html" target="_top">Frames</a></li>
+<li><a href="TopologyBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/services/class-use/ApplicationService.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/class-use/ApplicationService.html
new file mode 100644
index 0000000..dd43593
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/class-use/ApplicationService.html
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.services.ApplicationService (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.topology.services.ApplicationService (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/services/class-use/ApplicationService.html" target="_top">Frames</a></li>
+<li><a href="ApplicationService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.topology.services.ApplicationService" class="title">Uses of Interface<br>org.apache.edgent.topology.services.ApplicationService</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a> in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a> that return <a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></code></td>
+<td class="colLast"><span class="typeNameLabel">IotProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/iot/IotProvider.html#getApplicationService--">getApplicationService</a></span>()</code>
+<div class="block">Get the application service.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a> in <a href="../../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> that implement <a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice">AppService</a></span></code>
+<div class="block">Application service for a <code>TopologyProvider</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a> that return <a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</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="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AppService.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/runtime/appservice/AppService.html#createAndRegister-org.apache.edgent.topology.TopologyProvider-org.apache.edgent.execution.DirectSubmitter-">createAndRegister</a></span>(<a href="../../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>&nbsp;provider,
+                 <a href="../../../../../../org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter)</code>
+<div class="block">Create an register an application service using the default alias <a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html#ALIAS"><code>ALIAS</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/services/class-use/ApplicationService.html" target="_top">Frames</a></li>
+<li><a href="ApplicationService.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/services/class-use/TopologyBuilder.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/class-use/TopologyBuilder.html
new file mode 100644
index 0000000..081c700
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/class-use/TopologyBuilder.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.services.TopologyBuilder (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.topology.services.TopologyBuilder (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/services/class-use/TopologyBuilder.html" target="_top">Frames</a></li>
+<li><a href="TopologyBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.topology.services.TopologyBuilder" class="title">Uses of Interface<br>org.apache.edgent.topology.services.TopologyBuilder</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.topology.services.TopologyBuilder</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/services/class-use/TopologyBuilder.html" target="_top">Frames</a></li>
+<li><a href="TopologyBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-frame.html
new file mode 100644
index 0000000..4bcd550
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/topology/services/package-summary.html" target="classFrame">org.apache.edgent.topology.services</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="ApplicationService.html" title="interface in org.apache.edgent.topology.services" target="classFrame"><span class="interfaceName">ApplicationService</span></a></li>
+<li><a href="TopologyBuilder.html" title="interface in org.apache.edgent.topology.services" target="classFrame"><span class="interfaceName">TopologyBuilder</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-summary.html
new file mode 100644
index 0000000..22e851b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-summary.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.services (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/services/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.topology.services</h1>
+<div class="docSummary">
+<div class="block">Services for topologies.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a></td>
+<td class="colLast">
+<div class="block">A service that allows registration of applications and
+ the ability to submit them through a control MBean.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services">TopologyBuilder</a></td>
+<td class="colLast">
+<div class="block">Represents an topology that can be built.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.topology.services Description">Package org.apache.edgent.topology.services Description</h2>
+<div class="block">Services for topologies.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/services/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-tree.html
new file mode 100644
index 0000000..5c7c1a9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-tree.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.services Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.services Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/services/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.topology.services</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.topology.services.<a href="../../../../../org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">ApplicationService</span></a></li>
+<li type="circle">org.apache.edgent.topology.services.<a href="../../../../../org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">TopologyBuilder</span></a></li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/plumbing/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/services/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-use.html
new file mode 100644
index 0000000..b7d260b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/services/package-use.html
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.services (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.topology.services (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/services/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.topology.services" class="title">Uses of Package<br>org.apache.edgent.topology.services</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.iot">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.runtime.appservice">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.iot">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a> used by <a href="../../../../../org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/services/class-use/ApplicationService.html#org.apache.edgent.providers.iot">ApplicationService</a>
+<div class="block">A service that allows registration of applications and
+ the ability to submit them through a control MBean.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.runtime.appservice">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a> used by <a href="../../../../../org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/services/class-use/ApplicationService.html#org.apache.edgent.runtime.appservice">ApplicationService</a>
+<div class="block">A service that allows registration of applications and
+ the ability to submit them through a control MBean.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/services/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/AbstractTStream.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/AbstractTStream.html
new file mode 100644
index 0000000..afc0299
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/AbstractTStream.html
@@ -0,0 +1,516 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractTStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractTStream (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractTStream.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/AbstractTStream.html" target="_top">Frames</a></li>
+<li><a href="AbstractTStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.spi</div>
+<h2 title="Class AbstractTStream" class="title">Class AbstractTStream&lt;G extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.spi.AbstractTStream&lt;G,T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>G</code> - Type of the <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><code>Topology</code></a> implementation.</dd>
+<dd><code>T</code> - Type of data on the stream.</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractTStream&lt;G extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</pre>
+<div class="block">Abstract stream that uses the functional primitives to implement most
+ methods.
+ <p>
+ The functional primitives are:
+ </p>
+ <UL>
+ <LI><a href="../../../../../org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-"><code>TStream.filter(org.apache.edgent.function.Predicate)</code></a></LI>
+ <LI><a href="../../../../../org/apache/edgent/topology/TStream.html#map-org.apache.edgent.function.Function-"><code>TStream.map(org.apache.edgent.function.Function)</code></a></LI>
+ <LI><a href="../../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-"><code>TStream.sink(org.apache.edgent.function.Consumer)</code></a>
+ </UL>
+ These methods are unimplemented, thus left to the specific implementation
+ used to build the topology.</div>
+</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>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.topology.TStream">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/TStream.html#TYPE">TYPE</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#AbstractTStream-G-">AbstractTStream</a></span>(<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">G</a>&nbsp;topology)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#asString--">asString</a></span>()</code>
+<div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
+ <code>toString()</code> on each tuple.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#modify-org.apache.edgent.function.UnaryOperator-">modify</a></span>(<a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;modifier)</code>
+<div class="block">Declare a new stream that modifies each tuple from this stream into one
+ (or zero) tuple of the same type <code>T</code>.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#print--">print</a></span>()</code>
+<div class="block">Utility method to print the contents of this stream to <code>System.out</code>
+ at runtime.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#sink-org.apache.edgent.function.Consumer-">sink</a></span>(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;sinker)</code>
+<div class="block">Sink (terminate) this stream using a function.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">G</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#topology--">topology</a></span>()</code>
+<div class="block">Topology this element is contained in.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#union-org.apache.edgent.topology.TStream-">union</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;other)</code>
+<div class="block">Declare a stream that will contain all tuples from this stream and
+ <code>other</code>.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#verify-org.apache.edgent.topology.TStream-">verify</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;other)</code>&nbsp;</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TStream">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/TStream.html#alias-java.lang.String-">alias</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-">filter</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#getAlias--">getAlias</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#getTags--">getTags</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#last-int-org.apache.edgent.function.Function-">last</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#map-org.apache.edgent.function.Function-">map</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#peek-org.apache.edgent.function.Consumer-">peek</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">pipe</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.oplet.core.Sink-">sink</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#tag-java.lang.String...-">tag</a>, <a href="../../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">union</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractTStream-org.apache.edgent.topology.Topology-">
+<!--   -->
+</a><a name="AbstractTStream-G-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractTStream</h4>
+<pre>protected&nbsp;AbstractTStream(<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">G</a>&nbsp;topology)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="topology--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topology</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">G</a>&nbsp;topology()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">TopologyElement</a></code></span></div>
+<div class="block">Topology this element is contained in.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Topology this element is contained in.</dd>
+</dl>
+</li>
+</ul>
+<a name="verify-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>verify</h4>
+<pre>protected&nbsp;void&nbsp;verify(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;other)</pre>
+</li>
+</ul>
+<a name="modify-org.apache.edgent.function.UnaryOperator-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>modify</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;modify(<a href="../../../../../org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function">UnaryOperator</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;modifier)</pre>
+<div class="block">Declare a new stream that modifies each tuple from this stream into one
+ (or zero) tuple of the same type <code>T</code>. For each tuple <code>t</code>
+ on this stream, the returned stream will contain a tuple that is the
+ result of <code>modifier.apply(t)</code> when the return is not <code>null</code>.
+ The function may return the same reference as its input <code>t</code> or
+ a different object of the same type.
+ If <code>modifier.apply(t)</code> returns <code>null</code> then no tuple
+ is submitted to the returned stream for <code>t</code>.
+
+ <P>
+ Example of modifying a stream  <code>String</code> values by adding the suffix '<code>extra</code>'.
+ </P>
+ <pre>
+ <code>
+ TStream&lt;String&gt; strings = ...
+ TStream&lt;String&gt; modifiedStrings = strings.modify(t -&gt; t.concat("extra"));
+ </code>
+ </pre>
+ <P>
+ This method is equivalent to
+ <code>map(Function&lt;T,T&gt; modifier</code>).
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TStream.html#modify-org.apache.edgent.function.UnaryOperator-">modify</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>modifier</code> - Modifier logic to be executed against each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that will contain tuples of type <code>T</code> modified from this
+         stream's tuples.</dd>
+</dl>
+</li>
+</ul>
+<a name="asString--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>asString</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;asString()</pre>
+<div class="block">Convert this stream to a stream of <code>String</code> tuples by calling
+ <code>toString()</code> on each tuple. This is equivalent to
+ <code>map(Object::toString)</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TStream.html#asString--">asString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Declared stream that will contain each the string representation
+         of each tuple on this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="print--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>print</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;print()</pre>
+<div class="block">Utility method to print the contents of this stream to <code>System.out</code>
+ at runtime. Each tuple is printed using <code>System.out.println(tuple)</code>
+ .</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TStream.html#print--">print</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>TSink</code> for the sink processing.</dd>
+</dl>
+</li>
+</ul>
+<a name="union-org.apache.edgent.topology.TStream-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>union</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;union(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;other)</pre>
+<div class="block">Declare a stream that will contain all tuples from this stream and
+ <code>other</code>. A stream cannot be unioned with itself, in this case
+ <code>this</code> will be returned.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TStream.html#union-org.apache.edgent.topology.TStream-">union</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>other</code> - TStream</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that is the union of <code>this</code> and <code>other</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="sink-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>sink</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;sink(<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;&nbsp;sinker)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-">TStream</a></code></span></div>
+<div class="block">Sink (terminate) this stream using a function. For each tuple <code>t</code> on this stream
+ <a href="../../../../../org/apache/edgent/function/Consumer.html#accept-T-"><code>sinker.accept(t)</code></a> will be called. This is
+ typically used to send information to external systems, such as databases
+ or dashboards.
+ <p>
+ If <code>sinker</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
+ method will be called when the topology's execution is terminated.
+ </P>
+ <P>
+ Example of terminating a stream of <code>String</code> tuples by printing them
+ to <code>System.out</code>.
+ </P>
+ 
+ <pre>
+ <code>
+ TStream&lt;String&gt; values = ...
+ values.sink(t -&gt; System.out.println(tuple));
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-">sink</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="type parameter in AbstractTStream">T</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sinker</code> - Logic to be executed against each tuple on this stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractTStream.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/AbstractTStream.html" target="_top">Frames</a></li>
+<li><a href="AbstractTStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/AbstractTopology.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/AbstractTopology.html
new file mode 100644
index 0000000..b443701
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/AbstractTopology.html
@@ -0,0 +1,484 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractTopology (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":6,"i5":10,"i6":10,"i7":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractTopology.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/AbstractTopology.html" target="_top">Frames</a></li>
+<li><a href="AbstractTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.spi</div>
+<h2 title="Class AbstractTopology" class="title">Class AbstractTopology&lt;X extends <a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.spi.AbstractTopology&lt;X&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>X</code> - Tester type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>, <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractTopology&lt;X extends <a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></pre>
+<div class="block">Topology implementation that uses the basic functions to implement most
+ sources streams.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#AbstractTopology-java.lang.String-">AbstractTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#collection-java.util.Collection-">collection</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</code>
+<div class="block">Declare a stream of constants from a collection.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#generate-org.apache.edgent.function.Supplier-">generate</a></span>(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data)</code>
+<div class="block">Declare an endless source stream.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#getName--">getName</a></span>()</code>
+<div class="block">Name of this topology.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="type parameter in AbstractTopology">X</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#getTester--">getTester</a></span>()</code>
+<div class="block">Get the tester for this topology.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected abstract <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="type parameter in AbstractTopology">X</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#newTester--">newTester</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#of-T...-">of</a></span>(T...&nbsp;values)</code>
+<div class="block">Declare a stream of objects.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#strings-java.lang.String...-">strings</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;tuples)</code>
+<div class="block">Declare a stream of strings.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#topology--">topology</a></span>()</code>
+<div class="block">Topology this element is contained in.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.Topology">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/Topology.html#events-org.apache.edgent.function.Consumer-">events</a>, <a href="../../../../../org/apache/edgent/topology/Topology.html#getRuntimeServiceSupplier--">getRuntimeServiceSupplier</a>, <a href="../../../../../org/apache/edgent/topology/Topology.html#graph--">graph</a>, <a href="../../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a>, <a href="../../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">source</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractTopology-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractTopology</h4>
+<pre>protected&nbsp;AbstractTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="topology--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topology</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">TopologyElement</a></code></span></div>
+<div class="block">Topology this element is contained in.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Topology this element is contained in.</dd>
+</dl>
+</li>
+</ul>
+<a name="getName--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getName</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html#getName--">Topology</a></code></span></div>
+<div class="block">Name of this topology.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/Topology.html#getName--">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Name of this topology.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-"><code>TopologyProvider.newTopology(String)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="strings-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>strings</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;strings(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;tuples)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html#strings-java.lang.String...-">Topology</a></code></span></div>
+<div class="block">Declare a stream of strings.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/Topology.html#strings-java.lang.String...-">strings</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuples</code> - Strings that will be present on the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing all values in <code>strings</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="of-java.lang.Object:A-">
+<!--   -->
+</a><a name="of-T...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>of</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;of(T...&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html#of-T...-">Topology</a></code></span></div>
+<div class="block">Declare a stream of objects.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/Topology.html#of-T...-">of</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>values</code> - Values that will be present on the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing all values in <code>values</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="generate-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>generate</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;generate(<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html#generate-org.apache.edgent.function.Supplier-">Topology</a></code></span></div>
+<div class="block">Declare an endless source stream. <code>data.get()</code> will be called
+ repeatably. Each non-null returned value will be present on the stream.
+ <p>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
+ method will be called when the topology's execution is terminated.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/Topology.html#generate-org.apache.edgent.function.Supplier-">generate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>data</code> - Supplier of the tuples.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>New stream containing the tuples from calls to <code>data.get()</code>
+         .</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="doc-files/sources.html">Edgent Source Streams</a></dd>
+</dl>
+</li>
+</ul>
+<a name="getTester--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTester</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="type parameter in AbstractTopology">X</a>&nbsp;getTester()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html#getTester--">Topology</a></code></span></div>
+<div class="block">Get the tester for this topology.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/Topology.html#getTester--">getTester</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>tester for this topology.</dd>
+</dl>
+</li>
+</ul>
+<a name="newTester--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newTester</h4>
+<pre>protected abstract&nbsp;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="type parameter in AbstractTopology">X</a>&nbsp;newTester()</pre>
+</li>
+</ul>
+<a name="collection-java.util.Collection-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>collection</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;collection(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;&nbsp;tuples)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html#collection-java.util.Collection-">Topology</a></code></span></div>
+<div class="block">Declare a stream of constants from a collection.
+ The returned stream will contain all the tuples in <code>tuples</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/Topology.html#collection-java.util.Collection-">collection</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></dd>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuples</code> - Tuples that will be present on the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream containing all values in <code>tuples</code>.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractTopology.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/AbstractTopology.html" target="_top">Frames</a></li>
+<li><a href="AbstractTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/AbstractTopologyProvider.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/AbstractTopologyProvider.html
new file mode 100644
index 0000000..e28326f
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/AbstractTopologyProvider.html
@@ -0,0 +1,330 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractTopologyProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractTopologyProvider (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractTopologyProvider.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/AbstractTopologyProvider.html" target="_top">Frames</a></li>
+<li><a href="AbstractTopologyProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.spi</div>
+<h2 title="Class AbstractTopologyProvider" class="title">Class AbstractTopologyProvider&lt;T extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.spi.AbstractTopologyProvider&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractTopologyProvider&lt;T extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#AbstractTopologyProvider--">AbstractTopologyProvider</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#checkName-java.lang.String-">checkName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="type parameter in AbstractTopologyProvider">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#newTopology--">newTopology</a></span>()</code>
+<div class="block">Create a new topology with a generated name.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>abstract <a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="type parameter in AbstractTopologyProvider">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html#newTopology-java.lang.String-">newTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Create a new topology with a given name.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractTopologyProvider--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractTopologyProvider</h4>
+<pre>public&nbsp;AbstractTopologyProvider()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="checkName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>checkName</h4>
+<pre>protected&nbsp;void&nbsp;checkName(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+</li>
+</ul>
+<a name="newTopology-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newTopology</h4>
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="type parameter in AbstractTopologyProvider">T</a>&nbsp;newTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">TopologyProvider</a></code></span></div>
+<div class="block">Create a new topology with a given name.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology-java.lang.String-">newTopology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - name for topology</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new topology.</dd>
+</dl>
+</li>
+</ul>
+<a name="newTopology--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>newTopology</h4>
+<pre>public&nbsp;<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="type parameter in AbstractTopologyProvider">T</a>&nbsp;newTopology()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology--">TopologyProvider</a></code></span></div>
+<div class="block">Create a new topology with a generated name.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html#newTopology--">newTopology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A new topology.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractTopologyProvider.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/AbstractTopologyProvider.html" target="_top">Frames</a></li>
+<li><a href="AbstractTopologyProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/class-use/AbstractTStream.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/class-use/AbstractTStream.html
new file mode 100644
index 0000000..7c6030e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/class-use/AbstractTStream.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.AbstractTStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.AbstractTStream (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/class-use/AbstractTStream.html" target="_top">Frames</a></li>
+<li><a href="AbstractTStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.spi.AbstractTStream" class="title">Uses of Class<br>org.apache.edgent.topology.spi.AbstractTStream</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a> in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a> in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a>&lt;G extends <a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</span></code>
+<div class="block">A stream that directly adds oplets to the graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/class-use/AbstractTStream.html" target="_top">Frames</a></li>
+<li><a href="AbstractTStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/class-use/AbstractTopology.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/class-use/AbstractTopology.html
new file mode 100644
index 0000000..7639f28
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/class-use/AbstractTopology.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.AbstractTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.AbstractTopology (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/class-use/AbstractTopology.html" target="_top">Frames</a></li>
+<li><a href="AbstractTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.spi.AbstractTopology" class="title">Uses of Class<br>org.apache.edgent.topology.spi.AbstractTopology</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a> in <a href="../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a> in <a href="../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></span></code>
+<div class="block"><code>DirectTopology</code> is a <a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><code>GraphTopology</code></a> that
+ is executed in threads in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a> in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a> in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a>&lt;X extends <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</span></code>
+<div class="block">Topology implementation that provides basic functions for implementing
+ source streams backed by a <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/class-use/AbstractTopology.html" target="_top">Frames</a></li>
+<li><a href="AbstractTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/class-use/AbstractTopologyProvider.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/class-use/AbstractTopologyProvider.html
new file mode 100644
index 0000000..ac7c18c
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/class-use/AbstractTopologyProvider.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.AbstractTopologyProvider (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.AbstractTopologyProvider (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/class-use/AbstractTopologyProvider.html" target="_top">Frames</a></li>
+<li><a href="AbstractTopologyProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.spi.AbstractTopologyProvider" class="title">Uses of Class<br>org.apache.edgent.topology.spi.AbstractTopologyProvider</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.development">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.providers.development">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a> in <a href="../../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a> in <a href="../../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development">DevelopmentProvider</a></span></code>
+<div class="block">Provider intended for development.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a> in <a href="../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a> in <a href="../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct">DirectProvider</a></span></code>
+<div class="block"><code>DirectProvider</code> is a <a href="../../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><code>TopologyProvider</code></a> that
+ runs a submitted topology as a <a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><code>Job</code></a> in threads
+ in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/class-use/AbstractTopologyProvider.html" target="_top">Frames</a></li>
+<li><a href="AbstractTopologyProvider.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/EndlessSupplier.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/EndlessSupplier.html
new file mode 100644
index 0000000..736d330
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/EndlessSupplier.html
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>EndlessSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="EndlessSupplier (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EndlessSupplier.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/functions/EndlessSupplier.html" target="_top">Frames</a></li>
+<li><a href="EndlessSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.spi.functions</div>
+<h2 title="Class EndlessSupplier" class="title">Class EndlessSupplier&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">org.apache.edgent.function.WrappedFunction</a>&lt;<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.spi.functions.EndlessSupplier&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">EndlessSupplier&lt;T&gt;</span>
+extends <a href="../../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a>&lt;<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&gt;
+implements <a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../serialized-form.html#org.apache.edgent.topology.spi.functions.EndlessSupplier">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html#EndlessSupplier-org.apache.edgent.function.Supplier-">EndlessSupplier</a></span>(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;&nbsp;data)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html#get--">get</a></span>()</code>
+<div class="block">Supply a value, each call to this function may return
+ a different value.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.function.WrappedFunction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a></h3>
+<code><a href="../../../../../../org/apache/edgent/function/WrappedFunction.html#f--">f</a>, <a href="../../../../../../org/apache/edgent/function/WrappedFunction.html#unwrap-java.lang.Class-">unwrap</a>, <a href="../../../../../../org/apache/edgent/function/WrappedFunction.html#unwrap-java.lang.Class-java.lang.Object-">unwrap</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="EndlessSupplier-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EndlessSupplier</h4>
+<pre>public&nbsp;EndlessSupplier(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;&nbsp;data)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="get--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>get</h4>
+<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;&nbsp;get()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">Supplier</a></code></span></div>
+<div class="block">Supply a value, each call to this function may return
+ a different value.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/function/Supplier.html#get--">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Value supplied by this function.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/EndlessSupplier.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/functions/EndlessSupplier.html" target="_top">Frames</a></li>
+<li><a href="EndlessSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/class-use/EndlessSupplier.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/class-use/EndlessSupplier.html
new file mode 100644
index 0000000..f7daba5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/class-use/EndlessSupplier.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.functions.EndlessSupplier (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.functions.EndlessSupplier (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/functions/class-use/EndlessSupplier.html" target="_top">Frames</a></li>
+<li><a href="EndlessSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.spi.functions.EndlessSupplier" class="title">Uses of Class<br>org.apache.edgent.topology.spi.functions.EndlessSupplier</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.topology.spi.functions.EndlessSupplier</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/functions/class-use/EndlessSupplier.html" target="_top">Frames</a></li>
+<li><a href="EndlessSupplier.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-frame.html
new file mode 100644
index 0000000..4cae41e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.functions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/edgent/topology/spi/functions/package-summary.html" target="classFrame">org.apache.edgent.topology.spi.functions</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions" target="classFrame">EndlessSupplier</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-summary.html
new file mode 100644
index 0000000..0f4b558
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-summary.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.functions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.spi.functions (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/functions/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.topology.spi.functions</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">EndlessSupplier</a>&lt;T&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/functions/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-tree.html
new file mode 100644
index 0000000..78500a8
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-tree.html
@@ -0,0 +1,143 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.functions Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.spi.functions Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/functions/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.topology.spi.functions</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">WrappedFunction</span></a>&lt;F&gt; (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.functions.<a href="../../../../../../org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions"><span class="typeNameLink">EndlessSupplier</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/functions/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-use.html
new file mode 100644
index 0000000..61135d9
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/functions/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.spi.functions (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.topology.spi.functions (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/functions/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.topology.spi.functions" class="title">Uses of Package<br>org.apache.edgent.topology.spi.functions</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.topology.spi.functions</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/functions/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/AbstractTWindow.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/AbstractTWindow.html
new file mode 100644
index 0000000..2367c5a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/AbstractTWindow.html
@@ -0,0 +1,311 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractTWindow (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractTWindow (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractTWindow.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/AbstractTWindow.html" target="_top">Frames</a></li>
+<li><a href="AbstractTWindow.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.spi.graph</div>
+<h2 title="Class AbstractTWindow" class="title">Class AbstractTWindow&lt;T,K&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.spi.graph.AbstractTWindow&lt;T,K&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>, <a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;T,K&gt;</dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowImpl</a>, <a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractTWindow&lt;T,K&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;T,K&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#feeder--">feeder</a></span>()</code>
+<div class="block">Get the stream that feeds this window.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">T</a>,<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">K</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#getKeyFunction--">getKeyFunction</a></span>()</code>
+<div class="block">Returns the key function used to map tuples to partitions.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#topology--">topology</a></span>()</code>
+<div class="block">Topology this element is contained in.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TWindow">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a></h3>
+<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a>, <a href="../../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">batch</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="topology--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topology</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&nbsp;topology()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">TopologyElement</a></code></span></div>
+<div class="block">Topology this element is contained in.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Topology this element is contained in.</dd>
+</dl>
+</li>
+</ul>
+<a name="getKeyFunction--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getKeyFunction</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">T</a>,<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">K</a>&gt;&nbsp;getKeyFunction()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#getKeyFunction--">TWindow</a></code></span></div>
+<div class="block">Returns the key function used to map tuples to partitions.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#getKeyFunction--">getKeyFunction</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">T</a>,<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">K</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Key function used to map tuples to partitions.</dd>
+</dl>
+</li>
+</ul>
+<a name="feeder--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>feeder</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">T</a>&gt;&nbsp;feeder()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#feeder--">TWindow</a></code></span></div>
+<div class="block">Get the stream that feeds this window.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#feeder--">feeder</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">T</a>,<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="type parameter in AbstractTWindow">K</a>&gt;</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>stream that feeds this window.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractTWindow.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/AbstractTWindow.html" target="_top">Frames</a></li>
+<li><a href="AbstractTWindow.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/ConnectorStream.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/ConnectorStream.html
new file mode 100644
index 0000000..92780bc
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/ConnectorStream.html
@@ -0,0 +1,1046 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ConnectorStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ConnectorStream (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ConnectorStream.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/ConnectorStream.html" target="_top">Frames</a></li>
+<li><a href="ConnectorStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.spi.graph</div>
+<h2 title="Class ConnectorStream" class="title">Class ConnectorStream&lt;G extends <a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">org.apache.edgent.topology.spi.AbstractTStream</a>&lt;G,T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.spi.graph.ConnectorStream&lt;G,T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>G</code> - topology type</dd>
+<dd><code>T</code> - tuple type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>, <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">ConnectorStream&lt;G extends <a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</span>
+extends <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a>&lt;G,T&gt;</pre>
+<div class="block">A stream that directly adds oplets to the graph.</div>
+</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>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.edgent.topology.TStream">
+<!--   -->
+</a>
+<h3>Fields inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a></h3>
+<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#TYPE">TYPE</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#ConnectorStream-G-org.apache.edgent.graph.Connector-">ConnectorStream</a></span>(<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">G</a>&nbsp;topology,
+               <a href="../../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;connector)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#alias-java.lang.String-">alias</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</code>
+<div class="block">Set an alias for the stream.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected &lt;N extends <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;,U&gt;<br><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#connectPipe-N-">connectPipe</a></span>(N&nbsp;pipeOp)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected &lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">G</a>,U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#derived-org.apache.edgent.graph.Connector-">derived</a></span>(<a href="../../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;U&gt;&nbsp;connector)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">fanin</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;fanin,
+     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>
+<div class="block">Declare a stream that contains the output of the specified 
+ <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#filter-org.apache.edgent.function.Predicate-">filter</a></span>(<a href="../../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;predicate)</code>
+<div class="block">Declare a new stream that filters tuples from this stream.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#flatMap-org.apache.edgent.function.Function-">flatMap</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</code>
+<div class="block">Declare a new stream that maps tuples from this stream into one or
+ more (or zero) tuples of a different type <code>U</code>.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#getAlias--">getAlias</a></span>()</code>
+<div class="block">Returns the stream's alias if any.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#getTags--">getTags</a></span>()</code>
+<div class="block">Returns the set of tags associated with this stream.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#graph--">graph</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">join</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+    <a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
+    <a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>&lt;J,U,K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">joinLast</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+        <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+        <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+        <a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U,J&gt;&nbsp;joiner)</code>
+<div class="block">Join this stream with the last tuple seen on a stream of type <code>U</code>
+ with partitioning.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#last-int-org.apache.edgent.function.Function-">last</a></span>(int&nbsp;count,
+    <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</code>
+<div class="block">Declare a partitioned window that continually represents the last <code>count</code>
+ tuples on this stream for each partition.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>&lt;K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">last</a></span>(long&nbsp;time,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+    <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</code>
+<div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
+ tuples on this stream for each partition.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#map-org.apache.edgent.function.Function-">map</a></span>(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;mapper)</code>
+<div class="block">Declare a new stream that maps (or transforms) each tuple from this stream into one
+ (or zero) tuple of a different type <code>U</code>.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#peek-org.apache.edgent.function.Consumer-">peek</a></span>(<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;peeker)</code>
+<div class="block">Declare a stream that contains the same contents as this stream while
+ peeking at each element using <code>peeker</code>.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">pipe</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;pipe)</code>
+<div class="block">Declare a stream that contains the output of the specified <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><code>Pipe</code></a>
+ oplet applied to this stream.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#sink-org.apache.edgent.oplet.core.Sink-">sink</a></span>(<a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;oplet)</code>
+<div class="block">Sink (terminate) this stream using a oplet.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;<br><a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">split</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
+     <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,E&gt;&nbsp;splitter)</code>
+<div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
+ <code>splitter</code>.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#split-int-org.apache.edgent.function.ToIntFunction-">split</a></span>(int&nbsp;n,
+     <a href="../../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;splitter)</code>
+<div class="block">Split a stream's tuples among <code>n</code> streams as specified by
+ <code>splitter</code>.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#tag-java.lang.String...-">tag</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</code>
+<div class="block">Adds the specified tags to the stream.</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#toString--">toString</a></span>()</code>
+<div class="block">Intended only as a debug aid and content is not guaranteed.</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#union-java.util.Set-">union</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</code>
+<div class="block">Declare a stream that will contain all tuples from this stream and all the
+ streams in <code>others</code>.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.spi.AbstractTStream">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.topology.spi.<a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a></h3>
+<code><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#asString--">asString</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#modify-org.apache.edgent.function.UnaryOperator-">modify</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#print--">print</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#sink-org.apache.edgent.function.Consumer-">sink</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#topology--">topology</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#union-org.apache.edgent.topology.TStream-">union</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html#verify-org.apache.edgent.topology.TStream-">verify</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="ConnectorStream-org.apache.edgent.topology.Topology-org.apache.edgent.graph.Connector-">
+<!--   -->
+</a><a name="ConnectorStream-G-org.apache.edgent.graph.Connector-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ConnectorStream</h4>
+<pre>protected&nbsp;ConnectorStream(<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">G</a>&nbsp;topology,
+                          <a href="../../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;connector)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="derived-org.apache.edgent.graph.Connector-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>derived</h4>
+<pre>protected&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">G</a>,U&gt;&nbsp;derived(<a href="../../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;U&gt;&nbsp;connector)</pre>
+</li>
+</ul>
+<a name="graph--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>graph</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>&nbsp;graph()</pre>
+</li>
+</ul>
+<a name="connectPipe-org.apache.edgent.oplet.core.Pipe-">
+<!--   -->
+</a><a name="connectPipe-N-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>connectPipe</h4>
+<pre>protected&nbsp;&lt;N extends <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;,U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;connectPipe(N&nbsp;pipeOp)</pre>
+</li>
+</ul>
+<a name="filter-org.apache.edgent.function.Predicate-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>filter</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;filter(<a href="../../../../../../org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;predicate)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#filter-org.apache.edgent.function.Predicate-">TStream</a></code></span></div>
+<div class="block">Declare a new stream that filters tuples from this stream. Each tuple
+ <code>t</code> on this stream will appear in the returned stream if
+ <a href="../../../../../../org/apache/edgent/function/Predicate.html#test-T-"><code>filter.test(t)</code></a> returns <code>true</code>. If
+ <code>filter.test(t)</code> returns <code>false</code> then then <code>t</code> will not
+ appear in the returned stream.
+ <P>
+ Examples of filtering out all empty strings from stream <code>s</code> of type
+ <code>String</code>
+ </P>
+ 
+ <pre>
+ <code>
+ TStream&lt;String&gt; s = ...
+ TStream&lt;String&gt; filtered = s.filter(t -&gt; !t.isEmpty());
+             
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>predicate</code> - Filtering logic to be executed against each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Filtered stream</dd>
+</dl>
+</li>
+</ul>
+<a name="map-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>map</h4>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;map(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;mapper)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#map-org.apache.edgent.function.Function-">TStream</a></code></span></div>
+<div class="block">Declare a new stream that maps (or transforms) each tuple from this stream into one
+ (or zero) tuple of a different type <code>U</code>. For each tuple <code>t</code>
+ on this stream, the returned stream will contain a tuple that is the
+ result of <code>mapper.apply(t)</code> when the return is not <code>null</code>.
+ If <code>mapper.apply(t)</code> returns <code>null</code> then no tuple
+ is submitted to the returned stream for <code>t</code>.
+ 
+ <P>
+ Examples of transforming a stream containing numeric values as
+ <code>String</code> objects into a stream of <code>Double</code> values.
+ </P>
+ 
+ <pre>
+ <code>
+ // Using lambda expression
+ TStream&lt;String&gt; strings = ...
+ TStream&lt;Double&gt; doubles = strings.map(v -&gt; Double.valueOf(v));
+ 
+ // Using method reference
+ TStream&lt;String&gt; strings = ...
+ TStream&lt;Double&gt; doubles = strings.map(Double::valueOf);
+ 
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type of output stream</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mapper</code> - Mapping logic to be executed against each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that will contain tuples of type <code>U</code> mapped from this
+         stream's tuples.</dd>
+</dl>
+</li>
+</ul>
+<a name="flatMap-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>flatMap</h4>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;flatMap(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;U&gt;&gt;&nbsp;mapper)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#flatMap-org.apache.edgent.function.Function-">TStream</a></code></span></div>
+<div class="block">Declare a new stream that maps tuples from this stream into one or
+ more (or zero) tuples of a different type <code>U</code>. For each tuple
+ <code>t</code> on this stream, the returned stream will contain all non-null tuples in
+ the <code>Iterator&lt;U&gt;</code> that is the result of <code>mapper.apply(t)</code>.
+ Tuples will be added to the returned stream in the order the iterator
+ returns them.
+ 
+ <BR>
+ If the return is null or an empty iterator then no tuples are added to
+ the returned stream for input tuple <code>t</code>.
+ <P>
+ Examples of mapping a stream containing lines of text into a stream
+ of words split out from each line. The order of the words in the stream
+ will match the order of the words in the lines.
+ </P>
+ 
+ <pre>
+ <code>
+ TStream&lt;String&gt; lines = ...
+ TStream&lt;String&gt; words = lines.flatMap(
+                     line -&gt; Arrays.asList(line.split(" ")));
+             
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Type of mapped input tuples.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mapper</code> - Mapper logic to be executed against each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Stream that will contain tuples of type <code>U</code> mapped and flattened from this
+         stream's tuples.</dd>
+</dl>
+</li>
+</ul>
+<a name="split-int-org.apache.edgent.function.ToIntFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>split</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;split(int&nbsp;n,
+                              <a href="../../../../../../org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;splitter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#split-int-org.apache.edgent.function.ToIntFunction-">TStream</a></code></span></div>
+<div class="block">Split a stream's tuples among <code>n</code> streams as specified by
+ <code>splitter</code>.
+ 
+ <P>
+ For each tuple on the stream, <code>splitter.applyAsInt(tuple)</code> is
+ called. The return value <code>r</code> determines the destination stream:
+ </P>
+ 
+ <pre>
+ if r &lt; 0 the tuple is discarded
+ else it is sent to the stream at position (r % n) in the returned array.
+ </pre>
+
+ <P>
+ Each split <code>TStream</code> is exposed by the API. The user has full
+ control over the each stream's processing pipeline. Each stream's
+ pipeline must be declared explicitly. Each stream can have different
+ processing pipelines.
+ </P>
+ <P>
+ An N-way <code>split()</code> is logically equivalent to a collection of N
+ <code>filter()</code> invocations, each with a predicate to select the tuples
+ for its stream. <code>split()</code> is more efficient. Each tuple is analyzed
+ only once by a single <code>splitter</code> instance to identify the
+ destination stream. For example, these are logically equivalent:
+ </P>
+ <pre>
+ List&lt;TStream&lt;String&gt;&gt; streams = stream.split(2, tuple -&gt; tuple.length());
+ 
+ TStream&lt;String&gt; stream0 = stream.filter(tuple -&gt; (tuple.length() % 2) == 0);
+ TStream&lt;String&gt; stream1 = stream.filter(tuple -&gt; (tuple.length() % 2) == 1);
+ </pre>
+ <P>
+ Example of splitting a stream of log records by their level attribute:
+ </P>
+ 
+ <pre>
+ <code>
+ TStream&lt;LogRecord&gt; lrs = ...
+ List&lt;&lt;TStream&lt;LogRecord&gt;&gt; splits = lrr.split(3, lr -&gt; {
+            if (SEVERE.equals(lr.getLevel()))
+                return 0;
+            else if (WARNING.equals(lr.getLevel()))
+                return 1;
+            else
+                return 2;
+        });
+ splits.get(0). ... // SEVERE log record processing pipeline
+ splits.get(1). ... // WARNING log record  processing pipeline
+ splits.get(2). ... // "other" log record processing pipeline
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>n</code> - the number of output streams</dd>
+<dd><code>splitter</code> - the splitter function</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>List of <code>n</code> streams</dd>
+</dl>
+</li>
+</ul>
+<a name="split-java.lang.Class-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>split</h4>
+<pre>public&nbsp;&lt;E extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;E&gt;&gt;&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/EnumMap.html?is-external=true" title="class or interface in java.util">EnumMap</a>&lt;E,<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;split(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;E&gt;&nbsp;enumClass,
+                                                       <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,E&gt;&nbsp;splitter)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#split-java.lang.Class-org.apache.edgent.function.Function-">TStream</a></code></span></div>
+<div class="block">Split a stream's tuples among <code>enumClass.size</code> streams as specified by
+ <code>splitter</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>E</code> - Enum type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>enumClass</code> - enum data to split</dd>
+<dd><code>splitter</code> - the splitter function</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>EnumMap&lt;E,TStream&lt;T&gt;&gt;</dd>
+</dl>
+</li>
+</ul>
+<a name="peek-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>peek</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;peek(<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;peeker)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#peek-org.apache.edgent.function.Consumer-">TStream</a></code></span></div>
+<div class="block">Declare a stream that contains the same contents as this stream while
+ peeking at each element using <code>peeker</code>. <BR>
+ For each tuple <code>t</code> on this stream, <code>peeker.accept(t)</code> will be
+ called.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>peeker</code> - Function to be called for each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>this</code></dd>
+</dl>
+</li>
+</ul>
+<a name="sink-org.apache.edgent.oplet.core.Sink-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sink</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology">TSink</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;sink(<a href="../../../../../../org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core">Sink</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;oplet)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.oplet.core.Sink-">TStream</a></code></span></div>
+<div class="block">Sink (terminate) this stream using a oplet.
+ This provides a richer api for a sink than
+ <a href="../../../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.function.Consumer-"><code>TStream.sink(Consumer)</code></a> with a full life-cycle of
+ the oplet as well as easy access to
+ <a href="../../../../../../org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><code>runtime services</code></a>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>oplet</code> - Oplet processes each tuple without producing output.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>sink element representing termination of this stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="pipe-org.apache.edgent.oplet.core.Pipe-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>pipe</h4>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;pipe(<a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;pipe)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#pipe-org.apache.edgent.oplet.core.Pipe-">TStream</a></code></span></div>
+<div class="block">Declare a stream that contains the output of the specified <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><code>Pipe</code></a>
+ oplet applied to this stream.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type of the returned stream.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>pipe</code> - The <a href="../../../../../../org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><code>Pipe</code></a> oplet.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Declared stream that contains the tuples emitted by the pipe
+      oplet.</dd>
+</dl>
+</li>
+</ul>
+<a name="fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fanin</h4>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;fanin(<a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core">FanIn</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U&gt;&nbsp;fanin,
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#fanin-org.apache.edgent.oplet.core.FanIn-java.util.List-">TStream</a></code></span></div>
+<div class="block">Declare a stream that contains the output of the specified 
+ <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet applied to this stream and <code>others</code>.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type of the returned streams.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>fanin</code> - The <a href="../../../../../../org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><code>FanIn</code></a> oplet.</dd>
+<dd><code>others</code> - The other input streams. 
+        Must not be empty or contain duplicates or <code>this</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a stream that contains the tuples emitted by the oplet.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-"><code>TStream.union(Set)</code></a>, 
+<a href="../../../../../../org/apache/edgent/topology/TStream.html#pipe-org.apache.edgent.oplet.core.Pipe-"><code>TStream.pipe(Pipe)</code></a>, 
+<a href="../../../../../../org/apache/edgent/topology/TStream.html#sink-org.apache.edgent.oplet.core.Sink-"><code>TStream.sink(Sink)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="last-int-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>last</h4>
+<pre>public&nbsp;&lt;K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;last(int&nbsp;count,
+                             <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#last-int-org.apache.edgent.function.Function-">TStream</a></code></span></div>
+<div class="block">Declare a partitioned window that continually represents the last <code>count</code>
+ tuples on this stream for each partition. Each partition independently maintains the last
+ <code>count</code> tuples for each key seen on this stream.
+ If no tuples have been seen on the stream for a key then the corresponding partition will be empty.
+ <BR>
+ The window is partitioned by each tuple's key, obtained by <code>keyFunction</code>.
+ For each tuple on the stream <code>keyFunction.apply(tuple)</code> is called
+ and the returned value is the tuple's key. For any two tuples <code>ta,tb</code> in a partition
+ <code>keyFunction.apply(ta).equals(keyFunction.apply(tb))</code> is true.
+ <BR>
+ The key function must return keys that implement <code>equals()</code> and <code>hashCode()</code> correctly.
+ <P>
+ To create a window partitioned using the tuple as the key use <a href="../../../../../../org/apache/edgent/function/Functions.html#identity--"><code>identity()</code></a>
+ as the key function.
+ </P>
+ <P>
+ To create an unpartitioned window use a key function that returns a constant,
+ by convention <a href="../../../../../../org/apache/edgent/function/Functions.html#unpartitioned--"><code>unpartitioned()</code></a> is recommended.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - Key type.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>count</code> - Number of tuples to maintain in each partition.</dd>
+<dd><code>keyFunction</code> - Function that defines the key for each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Window on this stream representing the last <code>count</code> tuples for each partition.</dd>
+</dl>
+</li>
+</ul>
+<a name="last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>last</h4>
+<pre>public&nbsp;&lt;K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;last(long&nbsp;time,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit,
+                             <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyFunction)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#last-long-java.util.concurrent.TimeUnit-org.apache.edgent.function.Function-">TStream</a></code></span></div>
+<div class="block">Declare a partitioned window that continually represents the last <code>time</code> seconds of 
+ tuples on this stream for each partition. If no tuples have been 
+ seen on the stream for a key in the last <code>time</code> seconds then the partition will be empty.
+ Each partition independently maintains the last
+ <code>count</code> tuples for each key seen on this stream.
+ <BR>
+ The window is partitioned by each tuple's key, obtained by <code>keyFunction</code>.
+ For each tuple on the stream <code>keyFunction.apply(tuple)</code> is called
+ and the returned value is the tuple's key. For any two tuples <code>ta,tb</code> in a partition
+ <code>keyFunction.apply(ta).equals(keyFunction.apply(tb))</code> is true.
+ <BR>
+ The key function must return keys that implement <code>equals()</code> and <code>hashCode()</code> correctly.
+ <P>
+ To create a window partitioned using the tuple as the key use <a href="../../../../../../org/apache/edgent/function/Functions.html#identity--"><code>identity()</code></a>
+ as the key function.
+ </P>
+ <P>
+ To create an unpartitioned window use a key function that returns a constant,
+ by convention <a href="../../../../../../org/apache/edgent/function/Functions.html#unpartitioned--"><code>unpartitioned()</code></a> is recommended.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - Key type.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>time</code> - Time to retain a tuple in a partition.</dd>
+<dd><code>unit</code> - Unit for <code>time</code>.</dd>
+<dd><code>keyFunction</code> - Function that defines the key for each tuple.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Partitioned window on this stream representing the last <code>count</code> tuple.</dd>
+</dl>
+</li>
+</ul>
+<a name="join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>join</h4>
+<pre>public&nbsp;&lt;J,U,K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;&nbsp;join(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+                               <a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;U,K&gt;&nbsp;twindow,
+                               <a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;U&gt;,J&gt;&nbsp;joiner)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#join-org.apache.edgent.function.Function-org.apache.edgent.topology.TWindow-org.apache.edgent.function.BiFunction-">TStream</a></code></span></div>
+<div class="block">Join this stream with a partitioned window of type <code>U</code> with key type <code>K</code>.
+ For each tuple on this stream, it is joined with the contents of <code>window</code>
+ for the key <code>keyer.apply(tuple)</code>. Each tuple is
+ passed into <code>joiner</code> and the return value is submitted to the
+ returned stream. If call returns null then no tuple is submitted.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>J</code> - Tuple type of result stream</dd>
+<dd><code>U</code> - Tuple type of window to join with</dd>
+<dd><code>K</code> - Key type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>keyer</code> - Key function for this stream to match the window's key.</dd>
+<dd><code>twindow</code> - Keyed window to join this stream with.</dd>
+<dd><code>joiner</code> - Join function.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that is the results of joining this stream with
+         <code>window</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>joinLast</h4>
+<pre>public&nbsp;&lt;J,U,K&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;J&gt;&nbsp;joinLast(<a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,K&gt;&nbsp;keyer,
+                                   <a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;lastStream,
+                                   <a href="../../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;U,K&gt;&nbsp;lastStreamKeyer,
+                                   <a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>,U,J&gt;&nbsp;joiner)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#joinLast-org.apache.edgent.function.Function-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-org.apache.edgent.function.BiFunction-">TStream</a></code></span></div>
+<div class="block">Join this stream with the last tuple seen on a stream of type <code>U</code>
+ with partitioning.
+ For each tuple on this
+ stream, it is joined with the last tuple seen on <code>lastStream</code>
+ with a matching key (of type <code>K</code>).
+ <BR>
+ Each tuple <code>t</code> on this stream will match the last tuple
+ <code>u</code> on <code>lastStream</code> if
+ <code>keyer.apply(t).equals(lastStreamKeyer.apply(u))</code>
+ is true.
+ <BR>
+ The assumption is made that
+ the key classes correctly implement the contract for <code>equals</code> and
+ <code>hashCode()</code>.
+ <P>Each tuple is
+ passed into <code>joiner</code> and the return value is submitted to the
+ returned stream. If call returns null then no tuple is submitted.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>J</code> - Tuple type of result stream</dd>
+<dd><code>U</code> - Tuple type of stream to join with</dd>
+<dd><code>K</code> - Key type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>keyer</code> - Key function for this stream</dd>
+<dd><code>lastStream</code> - Stream to join with.</dd>
+<dd><code>lastStreamKeyer</code> - Key function for <code>lastStream</code></dd>
+<dd><code>joiner</code> - Join function.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that is the results of joining this stream with
+         <code>lastStream</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="union-java.util.Set-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>union</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;union(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&gt;&nbsp;others)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#union-java.util.Set-">TStream</a></code></span></div>
+<div class="block">Declare a stream that will contain all tuples from this stream and all the
+ streams in <code>others</code>. A stream cannot be unioned with itself, in
+ this case the union will only contain tuples from this stream once. If
+ <code>others</code> is empty or only contains <code>this</code> then <code>this</code>
+ is returned.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>others</code> - Stream to union with this stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that is the union of <code>this</code> and <code>others</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="tag-java.lang.String...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tag</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;tag(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>...&nbsp;values)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#tag-java.lang.String...-">TStream</a></code></span></div>
+<div class="block">Adds the specified tags to the stream.  Adding the same tag to 
+ a stream multiple times will not change the result beyond the 
+ initial application.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>values</code> - Tag values.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The tagged stream.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTags--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTags</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;getTags()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#getTags--">TStream</a></code></span></div>
+<div class="block">Returns the set of tags associated with this stream.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>set of tags</dd>
+</dl>
+</li>
+</ul>
+<a name="alias-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>alias</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">T</a>&gt;&nbsp;alias(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;alias)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#alias-java.lang.String-">TStream</a></code></span></div>
+<div class="block">Set an alias for the stream.
+ <p>
+ The alias must be unique within the topology.
+ The alias may be used in various contexts:
+ </p>
+ <ul>
+ <li>Runtime control services for the stream are registered with this alias.</li>
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>alias</code> - an alias for the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>this</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="getAlias--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAlias</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getAlias()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TStream.html#getAlias--">TStream</a></code></span></div>
+<div class="block">Returns the stream's alias if any.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the alias. null if one has not be set.</dd>
+</dl>
+</li>
+</ul>
+<a name="toString--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
+<div class="block">Intended only as a debug aid and content is not guaranteed.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/ConnectorStream.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/ConnectorStream.html" target="_top">Frames</a></li>
+<li><a href="ConnectorStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/GraphTopology.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/GraphTopology.html
new file mode 100644
index 0000000..ced2acb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/GraphTopology.html
@@ -0,0 +1,451 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GraphTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="GraphTopology (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/GraphTopology.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/GraphTopology.html" target="_top">Frames</a></li>
+<li><a href="GraphTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.spi.graph</div>
+<h2 title="Class GraphTopology" class="title">Class GraphTopology&lt;X extends <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">org.apache.edgent.topology.spi.AbstractTopology</a>&lt;X&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.spi.graph.GraphTopology&lt;X&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>X</code> - Tester type</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>, <a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><a href="../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">GraphTopology&lt;X extends <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</span>
+extends <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a>&lt;X&gt;</pre>
+<div class="block">Topology implementation that provides basic functions for implementing
+ source streams backed by a <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#GraphTopology-java.lang.String-">GraphTopology</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#events-org.apache.edgent.function.Consumer-">events</a></span>(<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&gt;&nbsp;eventSetup)</code>
+<div class="block">Declare a stream populated by an event system.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">poll</a></span>(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
+    long&nbsp;period,
+    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#source-org.apache.edgent.function.Supplier-">source</a></span>(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</code>
+<div class="block">Declare a new source stream that iterates over the return of
+ <code>Iterable&lt;T&gt; get()</code> from <code>data</code>.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected &lt;N extends <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;,T&gt;<br><a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html#sourceStream-N-">sourceStream</a></span>(N&nbsp;sourceOp)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.spi.AbstractTopology">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.topology.spi.<a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a></h3>
+<code><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#collection-java.util.Collection-">collection</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#generate-org.apache.edgent.function.Supplier-">generate</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#getName--">getName</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#getTester--">getTester</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#newTester--">newTester</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#of-T...-">of</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#strings-java.lang.String...-">strings</a>, <a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html#topology--">topology</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.Topology">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a></h3>
+<code><a href="../../../../../../org/apache/edgent/topology/Topology.html#getRuntimeServiceSupplier--">getRuntimeServiceSupplier</a>, <a href="../../../../../../org/apache/edgent/topology/Topology.html#graph--">graph</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="GraphTopology-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>GraphTopology</h4>
+<pre>protected&nbsp;GraphTopology(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="sourceStream-org.apache.edgent.oplet.core.Source-">
+<!--   -->
+</a><a name="sourceStream-N-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sourceStream</h4>
+<pre>protected&nbsp;&lt;N extends <a href="../../../../../../org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;T&gt;,T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;sourceStream(N&nbsp;sourceOp)</pre>
+</li>
+</ul>
+<a name="source-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>source</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;source(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;&gt;&nbsp;data)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/Topology.html#source-org.apache.edgent.function.Supplier-">Topology</a></code></span></div>
+<div class="block">Declare a new source stream that iterates over the return of
+ <code>Iterable&lt;T&gt; get()</code> from <code>data</code>. Once all the tuples from
+ <code>data.get()</code> have been submitted on the stream, no more tuples are
+ submitted. <BR>
+ The returned stream will be endless if the iterator returned from the
+ <code>Iterable</code> never completes.
+ <p>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
+ method will be called when the topology's execution is terminated.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>data</code> - Function that produces that data for the stream.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>New stream containing the tuples from the iterator returned by
+         <code>data.get()</code>.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="doc-files/sources.html">Edgent Source Streams</a></dd>
+</dl>
+</li>
+</ul>
+<a name="poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>poll</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;poll(<a href="../../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;&nbsp;data,
+                           long&nbsp;period,
+                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/Topology.html#poll-org.apache.edgent.function.Supplier-long-java.util.concurrent.TimeUnit-">Topology</a></code></span></div>
+<div class="block">Declare a new source stream that calls <code>data.get()</code> periodically.
+ Each non-null value returned will appear on the returned stream. Thus
+ each call to {code data.get()} will result in zero tuples or one tuple on
+ the stream.
+ <p>
+ If <code>data</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
+ method will be called when the topology's execution is terminated.
+ </p><p>
+ The poll rate may be changed when the topology is running via a runtime
+ <a href="../../../../../../org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><code>PeriodMXBean</code></a>.
+ In order to use this mechanism the caller must provide a 
+ alias for the stream when building the topology.
+ The <code>PeriodMXBean</code> is registered with the <a href="../../../../../../org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>
+ with type <a href="../../../../../../org/apache/edgent/topology/TStream.html#TYPE"><code>TStream.TYPE</code></a> and the stream's alias.  
+ e.g.,
+ </p>
+ <pre><code>
+ Topology t = ...
+ TStream&lt;Integer&gt; stream = t.poll(...).alias("myStreamControlAlias");
+ 
+ // change the poll frequency at runtime
+ static &lt;T&gt; void setPollFrequency(TStream&lt;T&gt; pollStream, long period, TimeUnit unit) {
+     ControlService cs = t.getRuntimeServiceSupplier().getService(ControlService.class);
+     String alias = pollStream.getAlias();
+     PeriodMXBean control = cs.getControl(TStream.TYPE, alias, PeriodMXBean.class);
+     control.setPoll(period, unit);
+ }
+ </code></pre></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>data</code> - Function that produces that data for the stream.</dd>
+<dd><code>period</code> - Approximate period {code data.get()} will be called.</dd>
+<dd><code>unit</code> - Time unit of <code>period</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>New stream containing the tuples returned by <code>data.get()</code>.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="doc-files/sources.html">Edgent Source Streams</a></dd>
+</dl>
+</li>
+</ul>
+<a name="events-org.apache.edgent.function.Consumer-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>events</h4>
+<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;events(<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;&gt;&nbsp;eventSetup)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/Topology.html#events-org.apache.edgent.function.Consumer-">Topology</a></code></span></div>
+<div class="block">Declare a stream populated by an event system. At startup
+ <code>eventSetup.accept(eventSubmitter))</code> is called by the runtime with
+ <code>eventSubmitter</code> being a <code>Consumer&lt;T&gt;</code>. Calling
+ <code>eventSubmitter.accept(t)</code> results in <code>t</code> being present on
+ the returned stream if it is not null. If <code>t</code> is null then no
+ action is taken. <BR>
+ It is expected that <code>eventSubmitter</code> is called from the event
+ handler callback registered with the event system.
+ <P>
+ Downstream processing is isolated from the event source
+ to ensure that event listener is not blocked by a long
+ or slow processing flow.
+ </P>
+ <p>
+ If <code>eventSetup</code> implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><code>AutoCloseable</code></a>, its <code>close()</code>
+ method will be called when the topology's execution is terminated.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>eventSetup</code> - handler to receive the <code>eventSubmitter</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>New stream containing the tuples added by <code>eventSubmitter.accept(t)</code>.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../../org/apache/edgent/topology/plumbing/PlumbingStreams.html#pressureReliever-org.apache.edgent.topology.TStream-org.apache.edgent.function.Function-int-"><code>PlumbingStreams.pressureReliever(TStream, org.apache.edgent.function.Function, int)</code></a>, 
+<a href="doc-files/sources.html">Edgent Source Streams</a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/GraphTopology.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/GraphTopology.html" target="_top">Frames</a></li>
+<li><a href="GraphTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/TWindowImpl.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/TWindowImpl.html
new file mode 100644
index 0000000..ee883c5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/TWindowImpl.html
@@ -0,0 +1,351 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TWindowImpl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TWindowImpl (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TWindowImpl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/TWindowImpl.html" target="_top">Frames</a></li>
+<li><a href="TWindowImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.spi.graph</div>
+<h2 title="Class TWindowImpl" class="title">Class TWindowImpl&lt;T,K&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph.AbstractTWindow</a>&lt;T,K&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.spi.graph.TWindowImpl&lt;T,K&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>, <a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;T,K&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TWindowImpl&lt;T,K&gt;</span>
+extends <a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a>&lt;T,K&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</code>
+<div class="block">Declares a stream that is a continuous, sliding, aggregation of
+ partitions in this window.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</code>
+<div class="block">Declares a stream that represents a batched aggregation of
+ partitions in this window.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html#getSize--">getSize</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.spi.graph.AbstractTWindow">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.topology.spi.graph.<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a></h3>
+<code><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#feeder--">feeder</a>, <a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#getKeyFunction--">getKeyFunction</a>, <a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#topology--">topology</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="aggregate-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregate</h4>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;aggregate(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;processor)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#aggregate-org.apache.edgent.function.BiFunction-">TWindow</a></code></span></div>
+<div class="block">Declares a stream that is a continuous, sliding, aggregation of
+ partitions in this window.
+ <P>
+ Changes in a partition's contents trigger an invocation of
+ <code>aggregator.apply(tuples, key)</code>, where <code>tuples</code> is
+ a <code>List&lt;T&gt;</code> containing all the tuples in the partition in
+ insertion order from oldest to newest.  The list is stable
+ during the aggregator invocation.
+ <UL>
+ <LI>Count-based window: the aggregator is called after each
+ tuple added to a partition.  When an addition results in a tuple
+ being evicted, the eviction occurs before the aggregator is called.</LI>
+ <LI>Time-based window: the aggregator is called after each tuple
+ added to a partition. The aggregator is also called
+ each time one or more tuples are evicted from a partition 
+ (multiple tuples may be evicted at once).  The list will be
+ empty if the eviction results in an empty partition.</LI>
+ </UL>
+ A non-null <code>aggregator</code> result is added to the returned stream.
+ <P>
+ Thus the returned stream will contain a sequence of tuples where the
+ most recent tuple represents the most up to date aggregation of a
+ partition.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>processor</code> - Logic to aggregation a partition.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that contains the latest aggregations of partitions in this window.</dd>
+</dl>
+</li>
+</ul>
+<a name="batch-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>batch</h4>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;batch(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="type parameter in TWindowImpl">K</a>,U&gt;&nbsp;batcher)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">TWindow</a></code></span></div>
+<div class="block">Declares a stream that represents a batched aggregation of
+ partitions in this window. 
+ <P>
+ Each partition "batch" triggers an invocation of
+ <code>batcher.apply(tuples, key)</code>, where <code>tuples</code> is
+ a <code>List&lt;T&gt;</code> containing all the tuples in the partition in
+ insertion order from oldest to newest  The list is stable
+ during the batcher invocation.
+ <UL>
+ <LI>Count-based window: a batch occurs when the partition is full.</LI>
+ <LI>Time-based window: a batch occurs every "time" period units.  The
+ list will be empty if no tuples have been received during the period.</LI>
+ </UL>
+ A non-null <code>batcher</code> result is added to the returned stream.
+ The partition's contents are cleared after a batch is processed.
+ <P>
+ Thus the returned stream will contain a sequence of tuples where the
+ most recent tuple represents the most up to date aggregation of a
+ partition.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>batcher</code> - Logic to aggregation a partition.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that contains the latest aggregations of partitions in this window.</dd>
+</dl>
+</li>
+</ul>
+<a name="getSize--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getSize</h4>
+<pre>public&nbsp;int&nbsp;getSize()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the size</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TWindowImpl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/TWindowImpl.html" target="_top">Frames</a></li>
+<li><a href="TWindowImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html
new file mode 100644
index 0000000..8da7f4d
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html
@@ -0,0 +1,359 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TWindowTimeImpl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TWindowTimeImpl (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TWindowTimeImpl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" target="_top">Frames</a></li>
+<li><a href="TWindowTimeImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.spi.graph</div>
+<h2 title="Class TWindowTimeImpl" class="title">Class TWindowTimeImpl&lt;T,K&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph.AbstractTWindow</a>&lt;T,K&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.spi.graph.TWindowTimeImpl&lt;T,K&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a>, <a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;T,K&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">TWindowTimeImpl&lt;T,K&gt;</span>
+extends <a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a>&lt;T,K&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#aggregate-org.apache.edgent.function.BiFunction-">aggregate</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</code>
+<div class="block">Window behaviour here is that:
+ 
+ Tuples are always inserted into the partition.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#batch-org.apache.edgent.function.BiFunction-">batch</a></span>(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</code>
+<div class="block">Declares a stream that represents a batched aggregation of
+ partitions in this window.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#getTime--">getTime</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html#getUnit--">getUnit</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.spi.graph.AbstractTWindow">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.edgent.topology.spi.graph.<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a></h3>
+<code><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#feeder--">feeder</a>, <a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#getKeyFunction--">getKeyFunction</a>, <a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html#topology--">topology</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="aggregate-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>aggregate</h4>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;aggregate(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;processor)</pre>
+<div class="block">Window behaviour here is that:
+ 
+ Tuples are always inserted into the partition.
+ 
+ If before insertion the partition is empty the
+ a eviction is scheduled 
+ 
+ After insertion the window is processed so that
+ any change triggers this continuous aggregation.
+ 
+ The evict determiner evicts any tuples that have
+ been in the window longer that the configured
+ size, and invokes the processing on any eviction.
+ Multiple tuples may have been evicted before processing.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>processor</code> - Logic to aggregation a partition.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that contains the latest aggregations of partitions in this window.</dd>
+</dl>
+</li>
+</ul>
+<a name="batch-org.apache.edgent.function.BiFunction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>batch</h4>
+<pre>public&nbsp;&lt;U&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;U&gt;&nbsp;batch(<a href="../../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">T</a>&gt;,<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="type parameter in TWindowTimeImpl">K</a>,U&gt;&nbsp;batcher)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/TWindow.html#batch-org.apache.edgent.function.BiFunction-">TWindow</a></code></span></div>
+<div class="block">Declares a stream that represents a batched aggregation of
+ partitions in this window. 
+ <P>
+ Each partition "batch" triggers an invocation of
+ <code>batcher.apply(tuples, key)</code>, where <code>tuples</code> is
+ a <code>List&lt;T&gt;</code> containing all the tuples in the partition in
+ insertion order from oldest to newest  The list is stable
+ during the batcher invocation.
+ <UL>
+ <LI>Count-based window: a batch occurs when the partition is full.</LI>
+ <LI>Time-based window: a batch occurs every "time" period units.  The
+ list will be empty if no tuples have been received during the period.</LI>
+ </UL>
+ A non-null <code>batcher</code> result is added to the returned stream.
+ The partition's contents are cleared after a batch is processed.
+ <P>
+ Thus the returned stream will contain a sequence of tuples where the
+ most recent tuple represents the most up to date aggregation of a
+ partition.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>U</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>batcher</code> - Logic to aggregation a partition.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A stream that contains the latest aggregations of partitions in this window.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTime--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTime</h4>
+<pre>public&nbsp;long&nbsp;getTime()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the time</dd>
+</dl>
+</li>
+</ul>
+<a name="getUnit--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getUnit</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;getUnit()</pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the unit</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TWindowTimeImpl.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" target="_top">Frames</a></li>
+<li><a href="TWindowTimeImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/AbstractTWindow.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/AbstractTWindow.html
new file mode 100644
index 0000000..48ed6d4
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/AbstractTWindow.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.graph.AbstractTWindow (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.AbstractTWindow (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/graph/class-use/AbstractTWindow.html" target="_top">Frames</a></li>
+<li><a href="AbstractTWindow.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.spi.graph.AbstractTWindow" class="title">Uses of Class<br>org.apache.edgent.topology.spi.graph.AbstractTWindow</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a> in <a href="../../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a> in <a href="../../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowImpl</a>&lt;T,K&gt;</span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a>&lt;T,K&gt;</span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/graph/class-use/AbstractTWindow.html" target="_top">Frames</a></li>
+<li><a href="AbstractTWindow.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/ConnectorStream.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/ConnectorStream.html
new file mode 100644
index 0000000..e261466
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/ConnectorStream.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.graph.ConnectorStream (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.ConnectorStream (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/graph/class-use/ConnectorStream.html" target="_top">Frames</a></li>
+<li><a href="ConnectorStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.spi.graph.ConnectorStream" class="title">Uses of Class<br>org.apache.edgent.topology.spi.graph.ConnectorStream</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a> in <a href="../../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> that return <a href="../../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</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>protected &lt;U&gt;&nbsp;<a href="../../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a>&lt;<a href="../../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="type parameter in ConnectorStream">G</a>,U&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">ConnectorStream.</span><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html#derived-org.apache.edgent.graph.Connector-">derived</a></span>(<a href="../../../../../../../org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph">Connector</a>&lt;U&gt;&nbsp;connector)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/graph/class-use/ConnectorStream.html" target="_top">Frames</a></li>
+<li><a href="ConnectorStream.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/GraphTopology.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/GraphTopology.html
new file mode 100644
index 0000000..1e46222
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/GraphTopology.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.graph.GraphTopology (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.GraphTopology (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/graph/class-use/GraphTopology.html" target="_top">Frames</a></li>
+<li><a href="GraphTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.spi.graph.GraphTopology" class="title">Uses of Class<br>org.apache.edgent.topology.spi.graph.GraphTopology</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a> in <a href="../../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
+<caption><span>Subclasses of <a href="../../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a> in <a href="../../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct">DirectTopology</a></span></code>
+<div class="block"><code>DirectTopology</code> is a <a href="../../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><code>GraphTopology</code></a> that
+ is executed in threads in the current virtual machine.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/graph/class-use/GraphTopology.html" target="_top">Frames</a></li>
+<li><a href="GraphTopology.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/TWindowImpl.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/TWindowImpl.html
new file mode 100644
index 0000000..4c03aac
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/TWindowImpl.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.graph.TWindowImpl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.TWindowImpl (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/graph/class-use/TWindowImpl.html" target="_top">Frames</a></li>
+<li><a href="TWindowImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.spi.graph.TWindowImpl" class="title">Uses of Class<br>org.apache.edgent.topology.spi.graph.TWindowImpl</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.topology.spi.graph.TWindowImpl</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/graph/class-use/TWindowImpl.html" target="_top">Frames</a></li>
+<li><a href="TWindowImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/TWindowTimeImpl.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/TWindowTimeImpl.html
new file mode 100644
index 0000000..fd9fda4
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/class-use/TWindowTimeImpl.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.graph.TWindowTimeImpl (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.graph.TWindowTimeImpl (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/graph/class-use/TWindowTimeImpl.html" target="_top">Frames</a></li>
+<li><a href="TWindowTimeImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.spi.graph.TWindowTimeImpl" class="title">Uses of Class<br>org.apache.edgent.topology.spi.graph.TWindowTimeImpl</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.topology.spi.graph.TWindowTimeImpl</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/graph/class-use/TWindowTimeImpl.html" target="_top">Frames</a></li>
+<li><a href="TWindowTimeImpl.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-frame.html
new file mode 100644
index 0000000..18d0227
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-frame.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html" target="classFrame">org.apache.edgent.topology.spi.graph</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">AbstractTWindow</a></li>
+<li><a href="ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">ConnectorStream</a></li>
+<li><a href="GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">GraphTopology</a></li>
+<li><a href="TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">TWindowImpl</a></li>
+<li><a href="TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph" target="classFrame">TWindowTimeImpl</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-summary.html
new file mode 100644
index 0000000..4045e61
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-summary.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.spi.graph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/functions/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.topology.spi.graph</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph">AbstractTWindow</a>&lt;T,K&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph">ConnectorStream</a>&lt;G extends <a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</td>
+<td class="colLast">
+<div class="block">A stream that directly adds oplets to the graph.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a>&lt;X extends <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</td>
+<td class="colLast">
+<div class="block">Topology implementation that provides basic functions for implementing
+ source streams backed by a <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowImpl</a>&lt;T,K&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph">TWindowTimeImpl</a>&lt;T,K&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/functions/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-tree.html
new file mode 100644
index 0000000..e1bc068
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-tree.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.spi.graph Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/functions/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/tester/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.topology.spi.graph</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopology</span></a>&lt;X&gt; (implements org.apache.edgent.topology.<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>)
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.graph.<a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">GraphTopology</span></a>&lt;X&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTStream</span></a>&lt;G,T&gt; (implements org.apache.edgent.topology.<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;)
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.graph.<a href="../../../../../../org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">ConnectorStream</span></a>&lt;G,T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.topology.spi.graph.<a href="../../../../../../org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">AbstractTWindow</span></a>&lt;T,K&gt; (implements org.apache.edgent.topology.<a href="../../../../../../org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;T,K&gt;)
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.graph.<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">TWindowImpl</span></a>&lt;T,K&gt;</li>
+<li type="circle">org.apache.edgent.topology.spi.graph.<a href="../../../../../../org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">TWindowTimeImpl</span></a>&lt;T,K&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/functions/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/spi/tester/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-use.html
new file mode 100644
index 0000000..44aeeea
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/graph/package-use.html
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.spi.graph (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.topology.spi.graph (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.topology.spi.graph" class="title">Uses of Package<br>org.apache.edgent.topology.spi.graph</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> used by <a href="../../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/topology/spi/graph/class-use/GraphTopology.html#org.apache.edgent.providers.direct">GraphTopology</a>
+<div class="block">Topology implementation that provides basic functions for implementing
+ source streams backed by a <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> used by <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/topology/spi/graph/class-use/AbstractTWindow.html#org.apache.edgent.topology.spi.graph">AbstractTWindow</a>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../../org/apache/edgent/topology/spi/graph/class-use/ConnectorStream.html#org.apache.edgent.topology.spi.graph">ConnectorStream</a>
+<div class="block">A stream that directly adds oplets to the graph.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/graph/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-frame.html
new file mode 100644
index 0000000..6fe5019
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-frame.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/topology/spi/package-summary.html" target="classFrame">org.apache.edgent.topology.spi</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AbstractTopology.html" title="class in org.apache.edgent.topology.spi" target="classFrame">AbstractTopology</a></li>
+<li><a href="AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi" target="classFrame">AbstractTopologyProvider</a></li>
+<li><a href="AbstractTStream.html" title="class in org.apache.edgent.topology.spi" target="classFrame">AbstractTStream</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-summary.html
new file mode 100644
index 0000000..8264cd6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-summary.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.spi (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/services/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/functions/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.topology.spi</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a>&lt;X extends <a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</td>
+<td class="colLast">
+<div class="block">Topology implementation that uses the basic functions to implement most
+ sources streams.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi">AbstractTopologyProvider</a>&lt;T extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>&gt;</td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi">AbstractTStream</a>&lt;G extends <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,T&gt;</td>
+<td class="colLast">
+<div class="block">Abstract stream that uses the functional primitives to implement most
+ methods.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/services/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/functions/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-tree.html
new file mode 100644
index 0000000..846a77a
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-tree.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.spi Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/services/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/functions/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.topology.spi</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopology</span></a>&lt;X&gt; (implements org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>)</li>
+<li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopologyProvider</span></a>&lt;T&gt; (implements org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>)</li>
+<li type="circle">org.apache.edgent.topology.spi.<a href="../../../../../org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTStream</span></a>&lt;G,T&gt; (implements org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/services/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/topology/spi/functions/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-use.html
new file mode 100644
index 0000000..ec38d65
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/package-use.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.spi (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.topology.spi (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.topology.spi" class="title">Uses of Package<br>org.apache.edgent.topology.spi</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.development">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.providers.direct">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.development">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> used by <a href="../../../../../org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/spi/class-use/AbstractTopologyProvider.html#org.apache.edgent.providers.development">AbstractTopologyProvider</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.providers.direct">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> used by <a href="../../../../../org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/spi/class-use/AbstractTopology.html#org.apache.edgent.providers.direct">AbstractTopology</a>
+<div class="block">Topology implementation that uses the basic functions to implement most
+ sources streams.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/spi/class-use/AbstractTopologyProvider.html#org.apache.edgent.providers.direct">AbstractTopologyProvider</a>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> used by <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/spi/class-use/AbstractTopology.html#org.apache.edgent.topology.spi.graph">AbstractTopology</a>
+<div class="block">Topology implementation that uses the basic functions to implement most
+ sources streams.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/spi/class-use/AbstractTStream.html#org.apache.edgent.topology.spi.graph">AbstractTStream</a>
+<div class="block">Abstract stream that uses the functional primitives to implement most
+ methods.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/spi/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/AbstractTester.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/AbstractTester.html
new file mode 100644
index 0000000..d657c62
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/AbstractTester.html
@@ -0,0 +1,383 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractTester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="AbstractTester (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractTester.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/tester/AbstractTester.html" target="_top">Frames</a></li>
+<li><a href="AbstractTester.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.spi.tester</div>
+<h2 title="Class AbstractTester" class="title">Class AbstractTester</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.topology.spi.tester.AbstractTester</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>, <a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">AbstractTester</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
+implements <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#AbstractTester--">AbstractTester</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>
+<div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete</a></span>(<a href="../../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+        com.google.gson.JsonObject&nbsp;config,
+        <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+        long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Submit the topology for this tester and wait for it to complete, or reach
+ an end condition.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#getJob--">getJob</a></span>()</code>
+<div class="block">Get the <code>Job</code> reference for the topology submitted by <code>complete()</code>.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.tester.Tester">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.tester.<a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></h3>
+<code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#atLeastTupleCount-org.apache.edgent.topology.TStream-long-">atLeastTupleCount</a>, <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#contentsUnordered-org.apache.edgent.topology.TStream-T...-">contentsUnordered</a>, <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#streamContents-org.apache.edgent.topology.TStream-T...-">streamContents</a>, <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#tupleCount-org.apache.edgent.topology.TStream-long-">tupleCount</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TopologyElement">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></h3>
+<code><a href="../../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="AbstractTester--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractTester</h4>
+<pre>public&nbsp;AbstractTester()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>complete</h4>
+<pre>public&nbsp;boolean&nbsp;complete(<a href="../../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+                        com.google.gson.JsonObject&nbsp;config,
+                        <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+                        long&nbsp;timeout,
+                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">Tester</a></code></span></div>
+<div class="block">Submit the topology for this tester and wait for it to complete, or reach
+ an end condition. If the topology does not complete or reach its end
+ condition before <code>timeout</code> then it is terminated.
+ <P>
+ End condition is usually a <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester"><code>Condition</code></a> returned from
+ <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#atLeastTupleCount-org.apache.edgent.topology.TStream-long-"><code>Tester.atLeastTupleCount(TStream, long)</code></a> or
+ <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#tupleCount-org.apache.edgent.topology.TStream-long-"><code>Tester.tupleCount(TStream, long)</code></a> so that this method returns once the
+ stream has submitted a sufficient number of tuples. <BR>
+ Note that the condition will be only checked periodically up to
+ <code>timeout</code>, so that if the condition is only valid for a brief
+ period of time, then its valid state may not be seen, and thus this
+ method will wait for the timeout period.
+ </P></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>submitter</code> - the <a href="../../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution"><code>Submitter</code></a></dd>
+<dd><code>config</code> - submission configuration.</dd>
+<dd><code>endCondition</code> - Condition that will cause this method to return if it is true.</dd>
+<dd><code>timeout</code> - Maximum time to wait for the topology to complete or reach its
+            end condition.</dd>
+<dd><code>unit</code> - Unit for <code>timeout</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The value of <code>endCondition.valid()</code>.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Failure submitting or executing the topology.</dd>
+</dl>
+</li>
+</ul>
+<a name="getJob--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getJob</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;getJob()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#getJob--">Tester</a></code></span></div>
+<div class="block">Get the <code>Job</code> reference for the topology submitted by <code>complete()</code>.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#getJob--">getJob</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>Job</code> reference for the topology submitted by <code>complete()</code>.
+ Null if the <code>complete()</code> has not been called or the <code>Job</code> instance is not yet available.</dd>
+</dl>
+</li>
+</ul>
+<a name="and-org.apache.edgent.topology.tester.Condition...-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>and</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;and(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#and-org.apache.edgent.topology.tester.Condition...-">Tester</a></code></span></div>
+<div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.
+ The result of the condition is <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html#valid--"><code>Condition.valid()</code></a></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conditions</code> - Conditions to AND together.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>condition that is valid only if all of <code>conditions</code> are valid.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/AbstractTester.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>Prev&nbsp;Class</li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/tester/AbstractTester.html" target="_top">Frames</a></li>
+<li><a href="AbstractTester.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/class-use/AbstractTester.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/class-use/AbstractTester.html
new file mode 100644
index 0000000..dd7a4cf
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/class-use/AbstractTester.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.topology.spi.tester.AbstractTester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.topology.spi.tester.AbstractTester (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/tester/class-use/AbstractTester.html" target="_top">Frames</a></li>
+<li><a href="AbstractTester.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.topology.spi.tester.AbstractTester" class="title">Uses of Class<br>org.apache.edgent.topology.spi.tester.AbstractTester</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.topology.spi.tester.AbstractTester</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../../index.html?org/apache/edgent/topology/spi/tester/class-use/AbstractTester.html" target="_top">Frames</a></li>
+<li><a href="AbstractTester.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-frame.html
new file mode 100644
index 0000000..3e81a21
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-frame.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../../org/apache/edgent/topology/spi/tester/package-summary.html" target="classFrame">org.apache.edgent.topology.spi.tester</a></h1>
+<div class="indexContainer">
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester" target="classFrame">AbstractTester</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-summary.html
new file mode 100644
index 0000000..1d30c52
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-summary.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.spi.tester (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/tester/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/tester/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.topology.spi.tester</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">AbstractTester</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/tester/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/tester/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-tree.html
new file mode 100644
index 0000000..179b5c3
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-tree.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.spi.tester Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.spi.tester Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/tester/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/tester/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.topology.spi.tester</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.tester.<a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester"><span class="typeNameLink">AbstractTester</span></a> (implements org.apache.edgent.topology.tester.<a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>)</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../../org/apache/edgent/topology/spi/graph/package-tree.html">Prev</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/tester/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/tester/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-use.html
new file mode 100644
index 0000000..f6ad686
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/spi/tester/package-use.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.spi.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.topology.spi.tester (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/tester/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.topology.spi.tester" class="title">Uses of Package<br>org.apache.edgent.topology.spi.tester</h1>
+</div>
+<div class="contentContainer">No usage of org.apache.edgent.topology.spi.tester</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/spi/tester/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/Condition.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/Condition.html
new file mode 100644
index 0000000..44999d5
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/Condition.html
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Condition (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Condition (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Condition.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/tester/Condition.html" target="_top">Frames</a></li>
+<li><a href="Condition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.tester</div>
+<h2 title="Interface Condition" class="title">Interface Condition&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Condition's result type</dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Condition&lt;T&gt;</span></pre>
+<div class="block">Function representing if a condition is valid or not.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="type parameter in Condition">T</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Condition.html#getResult--">getResult</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Condition.html#valid--">valid</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="valid--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>valid</h4>
+<pre>boolean&nbsp;valid()</pre>
+</li>
+</ul>
+<a name="getResult--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getResult</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="type parameter in Condition">T</a>&nbsp;getResult()</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Condition.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>Prev&nbsp;Class</li>
+<li><a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/tester/Condition.html" target="_top">Frames</a></li>
+<li><a href="Condition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/Tester.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/Tester.html
new file mode 100644
index 0000000..7e98d91
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/Tester.html
@@ -0,0 +1,484 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:19 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Tester (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Tester.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/tester/Tester.html" target="_top">Frames</a></li>
+<li><a href="Tester.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.topology.tester</div>
+<h2 title="Interface Tester" class="title">Interface Tester</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></dd>
+</dl>
+<dl>
+<dt>All Known Implementing Classes:</dt>
+<dd><a href="../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">AbstractTester</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Tester</span>
+extends <a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></pre>
+<div class="block">A <code>Tester</code> adds the ability to test a topology in a test framework such
+ as JUnit.
+ 
+ The main feature is the ability to capture tuples from a <a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><code>TStream</code></a> in
+ order to perform some form of verification on them. There are two mechanisms
+ to perform verifications:
+ <UL>
+ <LI>did the stream produce the correct number of tuples.</LI>
+ <LI>did the stream produce the correct tuples.</LI>
+ </UL>
+ Currently, only streams that are instances of
+ <code>TStream&lt;String&gt;</code> can have conditions or handlers attached.
+ <P>
+ A <code>Tester</code> modifies its <a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><code>Topology</code></a> to achieve the above purpose.
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>
+<div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#atLeastTupleCount-org.apache.edgent.topology.TStream-long-">atLeastTupleCount</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
+                 long&nbsp;expectedCount)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted at
+ least <code>expectedCount</code> number of tuples.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete</a></span>(<a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+        com.google.gson.JsonObject&nbsp;config,
+        <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+        long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Submit the topology for this tester and wait for it to complete, or reach
+ an end condition.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#contentsUnordered-org.apache.edgent.topology.TStream-T...-">contentsUnordered</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                 T...&nbsp;values)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted
+ tuples matching <code>values</code> in any order.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#getJob--">getJob</a></span>()</code>
+<div class="block">Get the <code>Job</code> reference for the topology submitted by <code>complete()</code>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#streamContents-org.apache.edgent.topology.TStream-T...-">streamContents</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+              T...&nbsp;values)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted
+ tuples matching <code>values</code> in the same order.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html#tupleCount-org.apache.edgent.topology.TStream-long-">tupleCount</a></span>(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
+          long&nbsp;expectedCount)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted exactly
+ <code>expectedCount</code> number of tuples.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.edgent.topology.TopologyElement">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology">TopologyElement</a></h3>
+<code><a href="../../../../../org/apache/edgent/topology/TopologyElement.html#topology--">topology</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="tupleCount-org.apache.edgent.topology.TStream-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tupleCount</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;tupleCount(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
+                           long&nbsp;expectedCount)</pre>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted exactly
+ <code>expectedCount</code> number of tuples. The function may be evaluated
+ after the <a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-"><code>submit</code></a>
+ call has returned. <BR>
+ The <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#getResult--"><code>result</code></a> of the returned
+ <code>Condition</code> is the number of tuples seen on <code>stream</code> so far.
+ <BR>
+ If the topology is still executing then the returned values from
+ <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#valid--"><code>Condition.valid()</code></a> and <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#getResult--"><code>Condition.getResult()</code></a> may change as
+ more tuples are seen on <code>stream</code>. <BR></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be tested.</dd>
+<dd><code>expectedCount</code> - Number of tuples expected on <code>stream</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>True if the stream has submitted exactly <code>expectedCount</code>
+         number of tuples, false otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="atLeastTupleCount-org.apache.edgent.topology.TStream-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>atLeastTupleCount</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;atLeastTupleCount(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
+                                  long&nbsp;expectedCount)</pre>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted at
+ least <code>expectedCount</code> number of tuples. The function may be
+ evaluated after the
+ <a href="../../../../../org/apache/edgent/execution/Submitter.html#submit-E-com.google.gson.JsonObject-"><code>submit</code></a> call has returned. <BR>
+ The <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#getResult--"><code>result</code></a> of the returned
+ <code>Condition</code> is the number of tuples seen on <code>stream</code> so far.
+ <BR>
+ If the topology is still executing then the returned values from
+ <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#valid--"><code>Condition.valid()</code></a> and <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#getResult--"><code>Condition.getResult()</code></a> may change as
+ more tuples are seen on <code>stream</code>. <BR></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be tested.</dd>
+<dd><code>expectedCount</code> - Number of tuples expected on <code>stream</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Condition that will return true the stream has submitted at least
+         <code>expectedCount</code> number of tuples, false otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="streamContents-org.apache.edgent.topology.TStream-java.lang.Object:A-">
+<!--   -->
+</a><a name="streamContents-org.apache.edgent.topology.TStream-T...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>streamContents</h4>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;streamContents(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                      T...&nbsp;values)</pre>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted
+ tuples matching <code>values</code> in the same order. <BR>
+ The <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#getResult--"><code>result</code></a> of the returned
+ <code>Condition</code> is the tuples seen on <code>stream</code> so far. <BR>
+ If the topology is still executing then the returned values from
+ <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#valid--"><code>Condition.valid()</code></a> and <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#getResult--"><code>Condition.getResult()</code></a> may change as
+ more tuples are seen on <code>stream</code>. <BR></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be tested.</dd>
+<dd><code>values</code> - Expected tuples on <code>stream</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Condition that will return true if the stream has submitted at
+         least tuples matching <code>values</code> in the same order, false
+         otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="contentsUnordered-org.apache.edgent.topology.TStream-java.lang.Object:A-">
+<!--   -->
+</a><a name="contentsUnordered-org.apache.edgent.topology.TStream-T...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>contentsUnordered</h4>
+<pre>&lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;contentsUnordered(<a href="../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                                         T...&nbsp;values)</pre>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted
+ tuples matching <code>values</code> in any order. <BR>
+ The <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#getResult--"><code>result</code></a> of the returned
+ <code>Condition</code> is the tuples seen on <code>stream</code> so far. <BR>
+ If the topology is still executing then the returned values from
+ <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#valid--"><code>Condition.valid()</code></a> and <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#getResult--"><code>Condition.getResult()</code></a> may change as
+ more tuples are seen on <code>stream</code>. <BR></div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>stream</code> - Stream to be tested.</dd>
+<dd><code>values</code> - Expected tuples on <code>stream</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Condition that will return true if the stream has submitted at
+         least tuples matching <code>values</code> in the any order, false
+         otherwise.</dd>
+</dl>
+</li>
+</ul>
+<a name="and-org.apache.edgent.topology.tester.Condition...-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>and</h4>
+<pre><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;and(<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</pre>
+<div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.
+ The result of the condition is <a href="../../../../../org/apache/edgent/topology/tester/Condition.html#valid--"><code>Condition.valid()</code></a></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>conditions</code> - Conditions to AND together.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>condition that is valid only if all of <code>conditions</code> are valid.</dd>
+</dl>
+</li>
+</ul>
+<a name="complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>complete</h4>
+<pre>boolean&nbsp;complete(<a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+                 com.google.gson.JsonObject&nbsp;config,
+                 <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+                 long&nbsp;timeout,
+                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)
+          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
+<div class="block">Submit the topology for this tester and wait for it to complete, or reach
+ an end condition. If the topology does not complete or reach its end
+ condition before <code>timeout</code> then it is terminated.
+ <P>
+ End condition is usually a <a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester"><code>Condition</code></a> returned from
+ <a href="../../../../../org/apache/edgent/topology/tester/Tester.html#atLeastTupleCount-org.apache.edgent.topology.TStream-long-"><code>atLeastTupleCount(TStream, long)</code></a> or
+ <a href="../../../../../org/apache/edgent/topology/tester/Tester.html#tupleCount-org.apache.edgent.topology.TStream-long-"><code>tupleCount(TStream, long)</code></a> so that this method returns once the
+ stream has submitted a sufficient number of tuples. <BR>
+ Note that the condition will be only checked periodically up to
+ <code>timeout</code>, so that if the condition is only valid for a brief
+ period of time, then its valid state may not be seen, and thus this
+ method will wait for the timeout period.
+ </P></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>submitter</code> - the <a href="../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution"><code>Submitter</code></a></dd>
+<dd><code>config</code> - submission configuration.</dd>
+<dd><code>endCondition</code> - Condition that will cause this method to return if it is true.</dd>
+<dd><code>timeout</code> - Maximum time to wait for the topology to complete or reach its
+            end condition.</dd>
+<dd><code>unit</code> - Unit for <code>timeout</code>.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The value of <code>endCondition.valid()</code>.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - Failure submitting or executing the topology.</dd>
+</dl>
+</li>
+</ul>
+<a name="getJob--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getJob</h4>
+<pre><a href="../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&nbsp;getJob()</pre>
+<div class="block">Get the <code>Job</code> reference for the topology submitted by <code>complete()</code>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><code>Job</code> reference for the topology submitted by <code>complete()</code>.
+ Null if the <code>complete()</code> has not been called or the <code>Job</code> instance is not yet available.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Tester.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/tester/Tester.html" target="_top">Frames</a></li>
+<li><a href="Tester.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/class-use/Condition.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/class-use/Condition.html
new file mode 100644
index 0000000..13a1319
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/class-use/Condition.html
@@ -0,0 +1,271 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.tester.Condition (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.topology.tester.Condition (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/tester/class-use/Condition.html" target="_top">Frames</a></li>
+<li><a href="Condition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.topology.tester.Condition" class="title">Uses of Interface<br>org.apache.edgent.topology.tester.Condition</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.tester">org.apache.edgent.topology.spi.tester</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
+<td class="colLast">
+<div class="block">Testing for a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.topology.spi.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a> in <a href="../../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a> that return <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a> with parameters of type <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractTester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete</a></span>(<a href="../../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+        com.google.gson.JsonObject&nbsp;config,
+        <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+        long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a> in <a href="../../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> that return <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>
+<div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#atLeastTupleCount-org.apache.edgent.topology.TStream-long-">atLeastTupleCount</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
+                 long&nbsp;expectedCount)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted at
+ least <code>expectedCount</code> number of tuples.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#contentsUnordered-org.apache.edgent.topology.TStream-T...-">contentsUnordered</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+                 T...&nbsp;values)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted
+ tuples matching <code>values</code> in any order.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#streamContents-org.apache.edgent.topology.TStream-T...-">streamContents</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;&nbsp;stream,
+              T...&nbsp;values)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted
+ tuples matching <code>values</code> in the same order.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#tupleCount-org.apache.edgent.topology.TStream-long-">tupleCount</a></span>(<a href="../../../../../../org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;?&gt;&nbsp;stream,
+          long&nbsp;expectedCount)</code>
+<div class="block">Return a condition that evaluates if <code>stream</code> has submitted exactly
+ <code>expectedCount</code> number of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> with parameters of type <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#and-org.apache.edgent.topology.tester.Condition...-">and</a></span>(<a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;...&nbsp;conditions)</code>
+<div class="block">Return a condition that is valid only if all of <code>conditions</code> are valid.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">Tester.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html#complete-org.apache.edgent.execution.Submitter-com.google.gson.JsonObject-org.apache.edgent.topology.tester.Condition-long-java.util.concurrent.TimeUnit-">complete</a></span>(<a href="../../../../../../org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution">Submitter</a>&lt;<a href="../../../../../../org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>,? extends <a href="../../../../../../org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>&gt;&nbsp;submitter,
+        com.google.gson.JsonObject&nbsp;config,
+        <a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;?&gt;&nbsp;endCondition,
+        long&nbsp;timeout,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">Submit the topology for this tester and wait for it to complete, or reach
+ an end condition.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/tester/class-use/Condition.html" target="_top">Frames</a></li>
+<li><a href="Condition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/class-use/Tester.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/class-use/Tester.html
new file mode 100644
index 0000000..183dcf6
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/class-use/Tester.html
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.topology.tester.Tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.topology.tester.Tester (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/tester/class-use/Tester.html" target="_top">Frames</a></li>
+<li><a href="Tester.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.topology.tester.Tester" class="title">Uses of Interface<br>org.apache.edgent.topology.tester.Tester</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.tester">org.apache.edgent.topology.spi.tester</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a> in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a> that return <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></code></td>
+<td class="colLast"><span class="typeNameLabel">Topology.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/Topology.html#getTester--">getTester</a></span>()</code>
+<div class="block">Get the tester for this topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a> in <a href="../../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a> with type parameters of type <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi">AbstractTopology</a>&lt;X extends <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</span></code>
+<div class="block">Topology implementation that uses the basic functions to implement most
+ sources streams.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a> in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a> with type parameters of type <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph">GraphTopology</a>&lt;X extends <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>&gt;</span></code>
+<div class="block">Topology implementation that provides basic functions for implementing
+ source streams backed by a <a href="../../../../../../org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>Graph</code></a>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.tester">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a> in <a href="../../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a> that implement <a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester">AbstractTester</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/edgent/topology/tester/class-use/Tester.html" target="_top">Frames</a></li>
+<li><a href="Tester.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-frame.html
new file mode 100644
index 0000000..938ae21
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-frame.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../../org/apache/edgent/topology/tester/package-summary.html" target="classFrame">org.apache.edgent.topology.tester</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="Condition.html" title="interface in org.apache.edgent.topology.tester" target="classFrame"><span class="interfaceName">Condition</span></a></li>
+<li><a href="Tester.html" title="interface in org.apache.edgent.topology.tester" target="classFrame"><span class="interfaceName">Tester</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-summary.html
new file mode 100644
index 0000000..1cd655b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-summary.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.tester (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/tester/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.topology.tester</h1>
+<div class="docSummary">
+<div class="block">Testing for a streaming topology.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester">Condition</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">Function representing if a condition is valid or not.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a></td>
+<td class="colLast">
+<div class="block">A <code>Tester</code> adds the ability to test a topology in a test framework such
+ as JUnit.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.topology.tester Description">Package org.apache.edgent.topology.tester Description</h2>
+<div class="block">Testing for a streaming topology.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">Prev&nbsp;Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/package-summary.html">Next&nbsp;Package</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/tester/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-tree.html
new file mode 100644
index 0000000..cbd1e75
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-tree.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.topology.tester Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.topology.tester Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/spi/tester/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/window/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/tester/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.topology.tester</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.topology.tester.<a href="../../../../../org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester"><span class="typeNameLink">Condition</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.topology.<a href="../../../../../org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TopologyElement</span></a>
+<ul>
+<li type="circle">org.apache.edgent.topology.tester.<a href="../../../../../org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester"><span class="typeNameLink">Tester</span></a></li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/edgent/topology/spi/tester/package-tree.html">Prev</a></li>
+<li><a href="../../../../../org/apache/edgent/window/package-tree.html">Next</a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/tester/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-use.html
new file mode 100644
index 0000000..7bb3835
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/topology/tester/package-use.html
@@ -0,0 +1,258 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.topology.tester (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.topology.tester (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/tester/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.topology.tester" class="title">Uses of Package<br>org.apache.edgent.topology.tester</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.graph">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.spi.tester">org.apache.edgent.topology.spi.tester</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.topology.tester">org.apache.edgent.topology.tester</a></td>
+<td class="colLast">
+<div class="block">Testing for a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> used by <a href="../../../../../org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/tester/class-use/Tester.html#org.apache.edgent.topology">Tester</a>
+<div class="block">A <code>Tester</code> adds the ability to test a topology in a test framework such
+ as JUnit.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> used by <a href="../../../../../org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/tester/class-use/Tester.html#org.apache.edgent.topology.spi">Tester</a>
+<div class="block">A <code>Tester</code> adds the ability to test a topology in a test framework such
+ as JUnit.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.graph">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> used by <a href="../../../../../org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/tester/class-use/Tester.html#org.apache.edgent.topology.spi.graph">Tester</a>
+<div class="block">A <code>Tester</code> adds the ability to test a topology in a test framework such
+ as JUnit.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.spi.tester">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> used by <a href="../../../../../org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/tester/class-use/Condition.html#org.apache.edgent.topology.spi.tester">Condition</a>
+<div class="block">Function representing if a condition is valid or not.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/tester/class-use/Tester.html#org.apache.edgent.topology.spi.tester">Tester</a>
+<div class="block">A <code>Tester</code> adds the ability to test a topology in a test framework such
+ as JUnit.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.tester">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a> used by <a href="../../../../../org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../../org/apache/edgent/topology/tester/class-use/Condition.html#org.apache.edgent.topology.tester">Condition</a>
+<div class="block">Function representing if a condition is valid or not.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/topology/tester/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/InsertionTimeList.html b/site/javadoc/r1.2.0/org/apache/edgent/window/InsertionTimeList.html
new file mode 100644
index 0000000..dd5fccf
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/InsertionTimeList.html
@@ -0,0 +1,425 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>InsertionTimeList (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="InsertionTimeList (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/InsertionTimeList.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/InsertionTimeList.html" target="_top">Frames</a></li>
+<li><a href="InsertionTimeList.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.java.util.AbstractList">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>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.window</div>
+<h2 title="Class InsertionTimeList" class="title">Class InsertionTimeList&lt;T&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">java.util.AbstractCollection</a>&lt;E&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util">java.util.AbstractList</a>&lt;E&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util">java.util.AbstractSequentialList</a>&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.window.InsertionTimeList&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of tuples in the list</dd>
+</dl>
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;T&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;T&gt;, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">InsertionTimeList&lt;T&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util">AbstractSequentialList</a>&lt;T&gt;</pre>
+<div class="block">A window contents list that maintains insertion time.</div>
+</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>
+<ul class="blockList">
+<li class="blockList"><a name="fields.inherited.from.class.java.util.AbstractList">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util">AbstractList</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#modCount" title="class or interface in java.util">modCount</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/InsertionTimeList.html#InsertionTimeList--">InsertionTimeList</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/InsertionTimeList.html#add-T-">add</a></span>(<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&nbsp;tuple)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/InsertionTimeList.html#clear--">clear</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ListIterator.html?is-external=true" title="class or interface in java.util">ListIterator</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/InsertionTimeList.html#listIterator-int-">listIterator</a></span>(int&nbsp;index)</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/InsertionTimeList.html#size--">size</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractSequentialList">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util">AbstractSequentialList</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#add-int-E-" title="class or interface in java.util">add</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#addAll-int-java.util.Collection-" title="class or interface in java.util">addAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#get-int-" title="class or interface in java.util">get</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#iterator--" title="class or interface in java.util">iterator</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#remove-int-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#set-int-E-" title="class or interface in java.util">set</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractList">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util">AbstractList</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.util">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#hashCode--" title="class or interface in java.util">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#indexOf-java.lang.Object-" title="class or interface in java.util">indexOf</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#lastIndexOf-java.lang.Object-" title="class or interface in java.util">lastIndexOf</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#listIterator--" title="class or interface in java.util">listIterator</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#removeRange-int-int-" title="class or interface in java.util">removeRange</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#subList-int-int-" title="class or interface in java.util">subList</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.AbstractCollection">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">AbstractCollection</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#addAll-java.util.Collection-" title="class or interface in java.util">addAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#contains-java.lang.Object-" title="class or interface in java.util">contains</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#containsAll-java.util.Collection-" title="class or interface in java.util">containsAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#isEmpty--" title="class or interface in java.util">isEmpty</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#remove-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#removeAll-java.util.Collection-" title="class or interface in java.util">removeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#retainAll-java.util.Collection-" title="class or interface in java.util">retainAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#toArray--" title="class or interface in java.util">toArray</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#toArray-T:A-" title="class or interface in java.util">toArray</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#toString--" title="class or interface in java.util">toString</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.List">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#addAll-java.util.Collection-" title="class or interface in java.util">addAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#contains-java.lang.Object-" title="class or interface in java.util">contains</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#containsAll-java.util.Collection-" title="class or interface in java.util">containsAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#isEmpty--" title="class or interface in java.util">isEmpty</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#remove-java.lang.Object-" title="class or interface in java.util">remove</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#removeAll-java.util.Collection-" title="class or interface in java.util">removeAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#replaceAll-java.util.function.UnaryOperator-" title="class or interface in java.util">replaceAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#retainAll-java.util.Collection-" title="class or interface in java.util">retainAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#sort-java.util.Comparator-" title="class or interface in java.util">sort</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#spliterator--" title="class or interface in java.util">spliterator</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#toArray--" title="class or interface in java.util">toArray</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#toArray-T:A-" title="class or interface in java.util">toArray</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.util.Collection">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#parallelStream--" title="class or interface in java.util">parallelStream</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#removeIf-java.util.function.Predicate-" title="class or interface in java.util">removeIf</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#stream--" title="class or interface in java.util">stream</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Iterable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#forEach-java.util.function.Consumer-" title="class or interface in java.lang">forEach</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="InsertionTimeList--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>InsertionTimeList</h4>
+<pre>public&nbsp;InsertionTimeList()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="listIterator-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>listIterator</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/ListIterator.html?is-external=true" title="class or interface in java.util">ListIterator</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;&nbsp;listIterator(int&nbsp;index)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#listIterator-int-" title="class or interface in java.util">listIterator</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true#listIterator-int-" title="class or interface in java.util">listIterator</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util">AbstractSequentialList</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="add-java.lang.Object-">
+<!--   -->
+</a><a name="add-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>add</h4>
+<pre>public&nbsp;boolean&nbsp;add(<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&nbsp;tuple)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#add-E-" title="class or interface in java.util">add</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#add-E-" title="class or interface in java.util">add</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#add-E-" title="class or interface in java.util">add</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util">AbstractList</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="clear--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clear</h4>
+<pre>public&nbsp;void&nbsp;clear()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#clear--" title="class or interface in java.util">clear</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#clear--" title="class or interface in java.util">clear</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true#clear--" title="class or interface in java.util">clear</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util">AbstractList</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="size--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>size</h4>
+<pre>public&nbsp;int&nbsp;size()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#size--" title="class or interface in java.util">size</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true#size--" title="class or interface in java.util">size</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#size--" title="class or interface in java.util">size</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util">AbstractCollection</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="type parameter in InsertionTimeList">T</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/InsertionTimeList.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>Prev&nbsp;Class</li>
+<li><a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/InsertionTimeList.html" target="_top">Frames</a></li>
+<li><a href="InsertionTimeList.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#fields.inherited.from.class.java.util.AbstractList">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>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/Partition.html b/site/javadoc/r1.2.0/org/apache/edgent/window/Partition.html
new file mode 100644
index 0000000..e3b7315
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/Partition.html
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Partition (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Partition (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Partition.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/Partition.html" target="_top">Frames</a></li>
+<li><a href="Partition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.window</div>
+<h2 title="Interface Partition" class="title">Interface Partition&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Type of tuples in the partition.</dd>
+<dd><code>K</code> - Type of the partition's key.</dd>
+<dd><code>L</code> - Type of the list holding the partition's tuples.</dd>
+</dl>
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Partition&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
+<div class="block">A partition within a <code>Window</code>. The contents of the list
+ returned by <code>getContents</code> is stable when synchronizing 
+ on the partition object. For example:
+ 
+ <pre><code>
+ Partition&lt;Integer, Integer, ArrayList&lt;Integer&gt;&gt; part = ...;
+ synchronized(part){
+  List&lt;Integer&gt; = part.getContents();
+  // stable operation on contents of partition
+ }
+ </code></pre></div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><code>Window</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Partition.html#evict--">evict</a></span>()</code>
+<div class="block">Calls the partition's evictDeterminer.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">L</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Partition.html#getContents--">getContents</a></span>()</code>
+<div class="block">Retrieves the window contents.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">K</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Partition.html#getKey--">getKey</a></span>()</code>
+<div class="block">Returns the key associated with this partition</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">T</a>,<a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">K</a>,<a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">L</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Partition.html#getWindow--">getWindow</a></span>()</code>
+<div class="block">Return the window in which this partition is contained.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Partition.html#insert-T-">insert</a></span>(<a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">T</a>&nbsp;tuple)</code>
+<div class="block">Offers a tuple to be inserted into the partition.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Partition.html#process--">process</a></span>()</code>
+<div class="block">Invoke the WindowProcessor's processWindow method.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="insert-java.lang.Object-">
+<!--   -->
+</a><a name="insert-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>insert</h4>
+<pre>boolean&nbsp;insert(<a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">T</a>&nbsp;tuple)</pre>
+<div class="block">Offers a tuple to be inserted into the partition.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - Tuple to be offered.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>True if the tuple was inserted into this partition, false if it was rejected.</dd>
+</dl>
+</li>
+</ul>
+<a name="process--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>process</h4>
+<pre>void&nbsp;process()</pre>
+<div class="block">Invoke the WindowProcessor's processWindow method. A partition processor
+ must be registered prior to invoking process().</div>
+</li>
+</ul>
+<a name="evict--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>evict</h4>
+<pre>void&nbsp;evict()</pre>
+<div class="block">Calls the partition's evictDeterminer.</div>
+</li>
+</ul>
+<a name="getContents--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getContents</h4>
+<pre><a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">L</a>&nbsp;getContents()</pre>
+<div class="block">Retrieves the window contents.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>list of partition contents</dd>
+</dl>
+</li>
+</ul>
+<a name="getWindow--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getWindow</h4>
+<pre><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">T</a>,<a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">K</a>,<a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">L</a>&gt;&nbsp;getWindow()</pre>
+<div class="block">Return the window in which this partition is contained.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the partition's window</dd>
+</dl>
+</li>
+</ul>
+<a name="getKey--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getKey</h4>
+<pre><a href="../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">K</a>&nbsp;getKey()</pre>
+<div class="block">Returns the key associated with this partition</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The key of the partition.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Partition.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/Partition.html" target="_top">Frames</a></li>
+<li><a href="Partition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/PartitionedState.html b/site/javadoc/r1.2.0/org/apache/edgent/window/PartitionedState.html
new file mode 100644
index 0000000..78f7c6e
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/PartitionedState.html
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PartitionedState (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="PartitionedState (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PartitionedState.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/PartitionedState.html" target="_top">Frames</a></li>
+<li><a href="PartitionedState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.window</div>
+<h2 title="Class PartitionedState" class="title">Class PartitionedState&lt;K,S&gt;</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.window.PartitionedState&lt;K,S&gt;</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>K</code> - Key type.</dd>
+<dd><code>S</code> - State type.</dd>
+</dl>
+<hr>
+<br>
+<pre>public abstract class <span class="typeNameLabel">PartitionedState&lt;K,S&gt;</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Maintain partitioned state.
+ Abstract class that can be used to maintain state 
+ for each keyed partition in a <a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><code>Window</code></a>.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/PartitionedState.html#PartitionedState-org.apache.edgent.function.Supplier-">PartitionedState</a></span>(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a>&gt;&nbsp;initialState)</code>
+<div class="block">Construct with an initial state function.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/PartitionedState.html#getState-K-">getState</a></span>(<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">K</a>&nbsp;key)</code>
+<div class="block">Get the current state for <code>key</code>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/PartitionedState.html#removeState-K-">removeState</a></span>(<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">K</a>&nbsp;key)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/PartitionedState.html#setState-K-S-">setState</a></span>(<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">K</a>&nbsp;key,
+        <a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a>&nbsp;state)</code>
+<div class="block">Set the current state for <code>key</code>.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="PartitionedState-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>PartitionedState</h4>
+<pre>protected&nbsp;PartitionedState(<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a>&gt;&nbsp;initialState)</pre>
+<div class="block">Construct with an initial state function.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>initialState</code> - Function used to create the initial state for a key.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../org/apache/edgent/window/PartitionedState.html#getState-K-"><code>getState(Object)</code></a></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getState-java.lang.Object-">
+<!--   -->
+</a><a name="getState-K-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getState</h4>
+<pre>protected&nbsp;<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a>&nbsp;getState(<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">K</a>&nbsp;key)</pre>
+<div class="block">Get the current state for <code>key</code>.
+ If no state is held then <code>initialState.get()</code>
+ is called to create the initial state for <code>key</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - Partition key.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>State for <code>key</code>.</dd>
+</dl>
+</li>
+</ul>
+<a name="setState-java.lang.Object-java.lang.Object-">
+<!--   -->
+</a><a name="setState-K-S-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setState</h4>
+<pre>protected&nbsp;<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a>&nbsp;setState(<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">K</a>&nbsp;key,
+                     <a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a>&nbsp;state)</pre>
+<div class="block">Set the current state for <code>key</code>.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - Partition key.</dd>
+<dd><code>state</code> - State for <code>key</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Previous state for <code>key</code>, will be null if no state was held.</dd>
+</dl>
+</li>
+</ul>
+<a name="removeState-java.lang.Object-">
+<!--   -->
+</a><a name="removeState-K-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>removeState</h4>
+<pre>protected&nbsp;<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">S</a>&nbsp;removeState(<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="type parameter in PartitionedState">K</a>&nbsp;key)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - Partition key.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Removed state for <code>key</code>, will be null if no state was held.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/PartitionedState.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/PartitionedState.html" target="_top">Frames</a></li>
+<li><a href="PartitionedState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/Policies.html b/site/javadoc/r1.2.0/org/apache/edgent/window/Policies.html
new file mode 100644
index 0000000..a60ff89
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/Policies.html
@@ -0,0 +1,580 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Policies (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Policies (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Policies.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/Policies.html" target="_top">Frames</a></li>
+<li><a href="Policies.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.window</div>
+<h2 title="Class Policies" class="title">Class Policies</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.window.Policies</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Policies</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Common window policies.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#Policies--">Policies</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#alwaysInsert--">alwaysInsert</a></span>()</code>
+<div class="block">Returns an insertion policy that indicates the tuple
+ is to be inserted into the partition.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#countContentsPolicy-int-">countContentsPolicy</a></span>(int&nbsp;count)</code>
+<div class="block">Returns a count-based contents policy.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#doNothing--">doNothing</a></span>()</code>
+<div class="block">A <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><code>BiConsumer</code></a> policy which does nothing.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#evictAll--">evictAll</a></span>()</code>
+<div class="block">Returns a Consumer representing an evict determiner that evict all tuples
+ from the window.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#evictAllAndScheduleEvictWithProcess-long-java.util.concurrent.TimeUnit-">evictAllAndScheduleEvictWithProcess</a></span>(long&nbsp;time,
+                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">An eviction policy which processes the window, evicts all tuples, and 
+ schedules the next eviction after the appropriate interval.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#evictOlderWithProcess-long-java.util.concurrent.TimeUnit-">evictOlderWithProcess</a></span>(long&nbsp;time,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">An eviction policy which evicts all tuples that are older than a specified time.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#evictOldest--">evictOldest</a></span>()</code>
+<div class="block">Returns an evict determiner that evicts the oldest tuple.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#insertionTimeList--">insertionTimeList</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#processOnInsert--">processOnInsert</a></span>()</code>
+<div class="block">Returns a trigger policy that triggers
+ processing on every insert.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#processWhenFullAndEvict-int-">processWhenFullAndEvict</a></span>(int&nbsp;size)</code>
+<div class="block">Returns a trigger policy that triggers when the size of a partition
+ equals or exceeds a value, and then evicts its contents.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#scheduleEvictIfEmpty-long-java.util.concurrent.TimeUnit-">scheduleEvictIfEmpty</a></span>(long&nbsp;time,
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">A policy which schedules a future partition eviction if the partition is empty.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Policies.html#scheduleEvictOnFirstInsert-long-java.util.concurrent.TimeUnit-">scheduleEvictOnFirstInsert</a></span>(long&nbsp;time,
+                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">A policy which schedules a future partition eviction on the first insert.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Policies--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Policies</h4>
+<pre>public&nbsp;Policies()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="scheduleEvictIfEmpty-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scheduleEvictIfEmpty</h4>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;scheduleEvictIfEmpty(long&nbsp;time,
+                                                                                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">A policy which schedules a future partition eviction if the partition is empty.
+ This can be used as a contents policy that is scheduling the eviction of
+ the tuple just about to be inserted.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple Type</dd>
+<dd><code>K</code> - Key type</dd>
+<dd><code>L</code> - List type for the partition contents.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>time</code> - The time span in which tuple are permitted in the partition.</dd>
+<dd><code>unit</code> - The units of time.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The time-based contents policy.</dd>
+</dl>
+</li>
+</ul>
+<a name="scheduleEvictOnFirstInsert-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>scheduleEvictOnFirstInsert</h4>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;scheduleEvictOnFirstInsert(long&nbsp;time,
+                                                                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">A policy which schedules a future partition eviction on the first insert.
+ This can be used as a contents policy that schedules the eviction of tuples
+ as a batch.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple Type</dd>
+<dd><code>K</code> - Key type</dd>
+<dd><code>L</code> - List type for the partition contents.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>time</code> - The time span in which tuple are permitted in the partition.</dd>
+<dd><code>unit</code> - The units of time.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The time-based contents policy.</dd>
+</dl>
+</li>
+</ul>
+<a name="evictOlderWithProcess-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>evictOlderWithProcess</h4>
+<pre>public static&nbsp;&lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;&gt;&nbsp;evictOlderWithProcess(long&nbsp;time,
+                                                                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">An eviction policy which evicts all tuples that are older than a specified time.
+ If any tuples remain in the partition, it schedules their eviction after
+ an appropriate interval.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple Type</dd>
+<dd><code>K</code> - Key type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>time</code> - The timespan in which tuple are permitted in the partition.</dd>
+<dd><code>unit</code> - The units of time.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The time-based eviction policy.</dd>
+</dl>
+</li>
+</ul>
+<a name="evictAllAndScheduleEvictWithProcess-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>evictAllAndScheduleEvictWithProcess</h4>
+<pre>public static&nbsp;&lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&gt;&nbsp;evictAllAndScheduleEvictWithProcess(long&nbsp;time,
+                                                                                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</pre>
+<div class="block">An eviction policy which processes the window, evicts all tuples, and 
+ schedules the next eviction after the appropriate interval.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple Type</dd>
+<dd><code>K</code> - Key type</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>time</code> - The timespan in which tuple are permitted in the partition.</dd>
+<dd><code>unit</code> - The units of time.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The time-based eviction policy.</dd>
+</dl>
+</li>
+</ul>
+<a name="alwaysInsert--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>alwaysInsert</h4>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;alwaysInsert()</pre>
+<div class="block">Returns an insertion policy that indicates the tuple
+ is to be inserted into the partition.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dd><code>K</code> - Key type</dd>
+<dd><code>L</code> - List type for the partition contents.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>An insertion policy that always inserts.</dd>
+</dl>
+</li>
+</ul>
+<a name="countContentsPolicy-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countContentsPolicy</h4>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;countContentsPolicy(int&nbsp;count)</pre>
+<div class="block">Returns a count-based contents policy.
+ If, when called, the number of tuples in the partition is
+ greater than equal to <code>count</code> then <code>partition.evict()</code>
+ is called.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dd><code>K</code> - Key type</dd>
+<dd><code>L</code> - List type for the partition contents.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>count</code> - the count</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A count-based contents policy.</dd>
+</dl>
+</li>
+</ul>
+<a name="evictAll--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>evictAll</h4>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictAll()</pre>
+<div class="block">Returns a Consumer representing an evict determiner that evict all tuples
+ from the window.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dd><code>K</code> - Key type</dd>
+<dd><code>L</code> - List type for the partition contents.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>An evict determiner that evicts all tuples.</dd>
+</dl>
+</li>
+</ul>
+<a name="evictOldest--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>evictOldest</h4>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictOldest()</pre>
+<div class="block">Returns an evict determiner that evicts the oldest tuple.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dd><code>K</code> - Key type</dd>
+<dd><code>L</code> - List type for the partition contents.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A evict determiner that evicts the oldest tuple.</dd>
+</dl>
+</li>
+</ul>
+<a name="processOnInsert--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processOnInsert</h4>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;processOnInsert()</pre>
+<div class="block">Returns a trigger policy that triggers
+ processing on every insert.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dd><code>K</code> - Key type</dd>
+<dd><code>L</code> - List type for the partition contents.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A trigger policy that triggers processing on every insert.</dd>
+</dl>
+</li>
+</ul>
+<a name="processWhenFullAndEvict-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>processWhenFullAndEvict</h4>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;processWhenFullAndEvict(int&nbsp;size)</pre>
+<div class="block">Returns a trigger policy that triggers when the size of a partition
+ equals or exceeds a value, and then evicts its contents.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dd><code>K</code> - Key type</dd>
+<dd><code>L</code> - List type for the partition contents.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>size</code> - partition size</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A trigger policy that triggers processing when the size of 
+ the partition equals or exceets a value.</dd>
+</dl>
+</li>
+</ul>
+<a name="doNothing--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>doNothing</h4>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;doNothing()</pre>
+<div class="block">A <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><code>BiConsumer</code></a> policy which does nothing.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type</dd>
+<dd><code>K</code> - Key type</dd>
+<dd><code>L</code> - List type for the partition contents.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A policy which does nothing.</dd>
+</dl>
+</li>
+</ul>
+<a name="insertionTimeList--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>insertionTimeList</h4>
+<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;&nbsp;insertionTimeList()</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>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Policies.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/Policies.html" target="_top">Frames</a></li>
+<li><a href="Policies.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/Window.html b/site/javadoc/r1.2.0/org/apache/edgent/window/Window.html
new file mode 100644
index 0000000..67270bd
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/Window.html
@@ -0,0 +1,504 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Window (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Window.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/Window.html" target="_top">Frames</a></li>
+<li><a href="Window.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.window</div>
+<h2 title="Interface Window" class="title">Interface Window&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - type of tuples in the window</dd>
+<dd><code>K</code> - type of the window's key</dd>
+<dd><code>L</code> - type of the list used to contain tuples.</dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">Window&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</span></pre>
+<div class="block">Partitioned window of tuples.
+ Conceptually a window maintains a continuously
+ changing subset of tuples on a stream, such as the last ten tuples
+ or tuples that have arrived in the last five minutes.
+ <P>
+ <code>Window</code> is partitioned by keys obtained
+ from tuples using a key function. Each tuple is
+ inserted into a partition containing all tuples
+ with the same key (using <code>equals()</code>).
+ Each partition independently maintains the subset of
+ tuples defined by the windows policies.
+ <BR>
+ An unpartitioned is created by using a key function that
+ returns a constant, to force all tuples to be inserted
+ into a single partition. A convenience function
+ <a href="../../../../org/apache/edgent/function/Functions.html#unpartitioned--"><code>unpartitioned()</code></a> is
+ provided that returns zero as the fixed key.
+ </P>   
+ <P>
+ The window's policies are flexible to allow any definition of
+ what tuples each partition will contain, and how the
+ partition is processed.
+ </P></div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getContentsPolicy--">getContentsPolicy</a></span>()</code>
+<div class="block">Returns the contents policy of the window.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getEvictDeterminer--">getEvictDeterminer</a></span>()</code>
+<div class="block">Returns the window's eviction determiner.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getInsertionPolicy--">getInsertionPolicy</a></span>()</code>
+<div class="block">Returns the insertion policy of the window.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getKeyFunction--">getKeyFunction</a></span>()</code>
+<div class="block">Returns the keyFunction of the window</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getPartitionProcessor--">getPartitionProcessor</a></span>()</code>
+<div class="block">Returns the partition processor associated with the window.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getPartitions--">getPartitions</a></span>()</code>
+<div class="block">Retrieves the partitions in the window.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getScheduledExecutorService--">getScheduledExecutorService</a></span>()</code>
+<div class="block">Returns the ScheduledExecutorService associated with the window.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#getTriggerPolicy--">getTriggerPolicy</a></span>()</code>
+<div class="block">Returns the window's trigger policy.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#insert-T-">insert</a></span>(<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&nbsp;tuple)</code>
+<div class="block">Attempts to insert the tuple into its partition.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#registerPartitionProcessor-org.apache.edgent.function.BiConsumer-">registerPartitionProcessor</a></span>(<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;windowProcessor)</code>
+<div class="block">Register a WindowProcessor.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Window.html#registerScheduledExecutorService-java.util.concurrent.ScheduledExecutorService-">registerScheduledExecutorService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;ses)</code>
+<div class="block">Register a ScheduledExecutorService.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="insert-java.lang.Object-">
+<!--   -->
+</a><a name="insert-T-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>insert</h4>
+<pre>boolean&nbsp;insert(<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&nbsp;tuple)</pre>
+<div class="block">Attempts to insert the tuple into its partition.
+ Tuple insertion performs the following actions in order:
+ <OL>
+ <LI>Call <code>K key = getKeyFunction().apply(tuple)</code> to obtain the partition key.</LI>
+ <LI>Get the partition for <code>key</code> creating an empty partition if one did not exist for <code>key</code>. </LI>
+ <LI>Apply the insertion policy, calling <code>getInsertionPolicy().apply(partition, tuple)</code>. If it returns false then return false from this method,
+ otherwise continue.</LI>
+ <LI>Apply the contents policy, calling <code>getContentsPolicy().apply(partition, tuple)</code>.
+ This is a pre-insertion action that allows any action. Some policies may request room to be made for
+ the insertion by calling <a href="../../../../org/apache/edgent/window/Partition.html#evict--"><code>evict()</code></a> which will result in a call to the evict determiner.</LI>
+ <LI>Add <code>tuple</code> to the contents of the partition.</LI>
+ <LI>Apply the trigger policy, calling <code>getTriggerPolicy().apply(partition, tuple)</code>.
+ This is a post-insertion that action allows any action. A typical implementation is to call
+ <a href="../../../../org/apache/edgent/window/Partition.html#process--"><code>partition.process()</code></a> to perform processing of the window.
+ </OL></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tuple</code> - the tuple to insert</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>true, if the tuple was successfully inserted. Otherwise, false.</dd>
+</dl>
+</li>
+</ul>
+<a name="registerPartitionProcessor-org.apache.edgent.function.BiConsumer-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerPartitionProcessor</h4>
+<pre>void&nbsp;registerPartitionProcessor(<a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;windowProcessor)</pre>
+<div class="block">Register a WindowProcessor.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>windowProcessor</code> - function to process the window</dd>
+</dl>
+</li>
+</ul>
+<a name="registerScheduledExecutorService-java.util.concurrent.ScheduledExecutorService-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>registerScheduledExecutorService</h4>
+<pre>void&nbsp;registerScheduledExecutorService(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;ses)</pre>
+<div class="block">Register a ScheduledExecutorService.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ses</code> - the service</dd>
+</dl>
+</li>
+</ul>
+<a name="getInsertionPolicy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInsertionPolicy</h4>
+<pre><a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;getInsertionPolicy()</pre>
+<div class="block">Returns the insertion policy of the window.
+  is called</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The insertion policy.</dd>
+</dl>
+</li>
+</ul>
+<a name="getContentsPolicy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getContentsPolicy</h4>
+<pre><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;&nbsp;getContentsPolicy()</pre>
+<div class="block">Returns the contents policy of the window.
+ The contents policy is invoked before a tuple
+ is inserted into a partition.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>contents policy for this window.</dd>
+</dl>
+</li>
+</ul>
+<a name="getTriggerPolicy--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTriggerPolicy</h4>
+<pre><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;&nbsp;getTriggerPolicy()</pre>
+<div class="block">Returns the window's trigger policy.
+ The trigger policy is invoked (triggered) by
+ the insertion of a tuple into a partition.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>trigger policy for this window.</dd>
+</dl>
+</li>
+</ul>
+<a name="getPartitionProcessor--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPartitionProcessor</h4>
+<pre><a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;getPartitionProcessor()</pre>
+<div class="block">Returns the partition processor associated with the window.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>partitionProcessor</dd>
+</dl>
+</li>
+</ul>
+<a name="getScheduledExecutorService--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getScheduledExecutorService</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;getScheduledExecutorService()</pre>
+<div class="block">Returns the ScheduledExecutorService associated with the window.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>ScheduledExecutorService</dd>
+</dl>
+</li>
+</ul>
+<a name="getEvictDeterminer--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEvictDeterminer</h4>
+<pre><a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;&nbsp;getEvictDeterminer()</pre>
+<div class="block">Returns the window's eviction determiner.
+ The evict determiner is responsible for
+ determining which tuples in a window need
+ to be evicted.
+ <BR>
+ Calls to <a href="../../../../org/apache/edgent/window/Partition.html#evict--"><code>Partition.evict()</code></a> result in
+ <code>getEvictDeterminer().accept(partition)</code> being
+ called.
+ In some cases this may not result in tuples being
+ evicted from the partition.
+ <P>
+ An evict determiner evicts tuples from the partition
+ by removing them from the list returned by
+ <a href="../../../../org/apache/edgent/window/Partition.html#getContents--"><code>Partition.getContents()</code></a>.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>evict determiner for this window.</dd>
+</dl>
+</li>
+</ul>
+<a name="getKeyFunction--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getKeyFunction</h4>
+<pre><a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>&gt;&nbsp;getKeyFunction()</pre>
+<div class="block">Returns the keyFunction of the window</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The window's keyFunction.</dd>
+</dl>
+</li>
+</ul>
+<a name="getPartitions--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getPartitions</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;&nbsp;getPartitions()</pre>
+<div class="block">Retrieves the partitions in the window. The map of partitions
+ is stable when synchronizing on the intrinsic lock of the map,
+ for example:
+ <br>
+ <pre><code>
+ Map&lt;K, Partitions&lt;U, K, ?&gt;&gt; partitions = window.getPartitions();
+ synchronized(partitions){
+  // operations with partition
+ }
+ </code></pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>A map of the window's keys and partitions.</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Window.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/Window.html" target="_top">Frames</a></li>
+<li><a href="Window.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/Windows.html b/site/javadoc/r1.2.0/org/apache/edgent/window/Windows.html
new file mode 100644
index 0000000..0679f95
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/Windows.html
@@ -0,0 +1,343 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:18 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Windows (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Windows (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Windows.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/Windows.html" target="_top">Frames</a></li>
+<li><a href="Windows.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.edgent.window</div>
+<h2 title="Class Windows" class="title">Class Windows</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.edgent.window.Windows</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <span class="typeNameLabel">Windows</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Factory to create <code>Window</code> implementations.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Windows.html#Windows--">Windows</a></span>()</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html?is-external=true" title="class or interface in java.util">LinkedList</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Windows.html#lastNProcessOnInsert-int-org.apache.edgent.function.Function-">lastNProcessOnInsert</a></span>(int&nbsp;count,
+                    <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction)</code>
+<div class="block">Return a window that maintains the last <code>count</code> tuples inserted
+ with processing triggered on every insert.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</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/8/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/8/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/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="Windows--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Windows</h4>
+<pre>public&nbsp;Windows()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>window</h4>
+<pre>public static&nbsp;&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&nbsp;<a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;&nbsp;window(<a href="../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+                                                           <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+                                                           <a href="../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+                                                           <a href="../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+                                                           <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+                                                           <a href="../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</pre>
+<div class="block">Create a window using the passed in policies.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type.</dd>
+<dd><code>K</code> - Key type.</dd>
+<dd><code>L</code> - List type.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>insertionPolicy</code> - Policy indicating if a tuple should be inserted
+ into the window.</dd>
+<dd><code>contentsPolicy</code> - Contents policy called prior to insertion of a tuple.</dd>
+<dd><code>evictDeterminer</code> - Policy that determines action to take when
+ <a href="../../../../org/apache/edgent/window/Partition.html#evict--"><code>Partition.evict()</code></a> is called.</dd>
+<dd><code>triggerPolicy</code> - Trigger policy that is invoked after the insertion
+ of a tuple into a partition.</dd>
+<dd><code>keyFunction</code> - Function that gets the partition key from a tuple.</dd>
+<dd><code>listSupplier</code> - Supplier function for the <code>List</code> that holds
+ tuples within a partition.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>Window using the passed in policies.</dd>
+</dl>
+</li>
+</ul>
+<a name="lastNProcessOnInsert-int-org.apache.edgent.function.Function-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>lastNProcessOnInsert</h4>
+<pre>public static&nbsp;&lt;T,K&gt;&nbsp;<a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html?is-external=true" title="class or interface in java.util">LinkedList</a>&lt;T&gt;&gt;&nbsp;lastNProcessOnInsert(int&nbsp;count,
+                                                                   <a href="../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction)</pre>
+<div class="block">Return a window that maintains the last <code>count</code> tuples inserted
+ with processing triggered on every insert. This provides 
+ a continuous processing, where processing is invoked every
+ time the window changes. Since insertion drives eviction
+ there is no need to process on eviction, thus once the window
+ has reached <code>count</code> tuples, each insertion results in an
+ eviction followed by processing of <code>count</code> tuples
+ including the tuple just inserted, which is the definition of
+ the window.</div>
+<dl>
+<dt><span class="paramLabel">Type Parameters:</span></dt>
+<dd><code>T</code> - Tuple type.</dd>
+<dd><code>K</code> - Key type.</dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>count</code> - Number of tuple to maintain per partition</dd>
+<dd><code>keyFunction</code> - Tuple partitioning key function</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>window that maintains the last <code>count</code> tuples on a stream</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Windows.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/Windows.html" target="_top">Frames</a></li>
+<li><a href="Windows.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/InsertionTimeList.html b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/InsertionTimeList.html
new file mode 100644
index 0000000..0018d83
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/InsertionTimeList.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.window.InsertionTimeList (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.window.InsertionTimeList (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/InsertionTimeList.html" target="_top">Frames</a></li>
+<li><a href="InsertionTimeList.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.window.InsertionTimeList" class="title">Uses of Class<br>org.apache.edgent.window.InsertionTimeList</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
+<td class="colLast">
+<div class="block">Window API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a> in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</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 &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictOlderWithProcess-long-java.util.concurrent.TimeUnit-">evictOlderWithProcess</a></span>(long&nbsp;time,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">An eviction policy which evicts all tuples that are older than a specified time.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#insertionTimeList--">insertionTimeList</a></span>()</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/InsertionTimeList.html" target="_top">Frames</a></li>
+<li><a href="InsertionTimeList.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Partition.html b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Partition.html
new file mode 100644
index 0000000..6a9ffce
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Partition.html
@@ -0,0 +1,322 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.window.Partition (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.window.Partition (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/Partition.html" target="_top">Frames</a></li>
+<li><a href="Partition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.window.Partition" class="title">Uses of Interface<br>org.apache.edgent.window.Partition</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
+<td class="colLast">
+<div class="block">Window API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a> in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> that return types with arguments of type <a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</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 &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#alwaysInsert--">alwaysInsert</a></span>()</code>
+<div class="block">Returns an insertion policy that indicates the tuple
+ is to be inserted into the partition.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#countContentsPolicy-int-">countContentsPolicy</a></span>(int&nbsp;count)</code>
+<div class="block">Returns a count-based contents policy.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#doNothing--">doNothing</a></span>()</code>
+<div class="block">A <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><code>BiConsumer</code></a> policy which does nothing.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictAll--">evictAll</a></span>()</code>
+<div class="block">Returns a Consumer representing an evict determiner that evict all tuples
+ from the window.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictAllAndScheduleEvictWithProcess-long-java.util.concurrent.TimeUnit-">evictAllAndScheduleEvictWithProcess</a></span>(long&nbsp;time,
+                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">An eviction policy which processes the window, evicts all tuples, and 
+ schedules the next eviction after the appropriate interval.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,<a href="../../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictOlderWithProcess-long-java.util.concurrent.TimeUnit-">evictOlderWithProcess</a></span>(long&nbsp;time,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">An eviction policy which evicts all tuples that are older than a specified time.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#evictOldest--">evictOldest</a></span>()</code>
+<div class="block">Returns an evict determiner that evicts the oldest tuple.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getContentsPolicy--">getContentsPolicy</a></span>()</code>
+<div class="block">Returns the contents policy of the window.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getEvictDeterminer--">getEvictDeterminer</a></span>()</code>
+<div class="block">Returns the window's eviction determiner.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getInsertionPolicy--">getInsertionPolicy</a></span>()</code>
+<div class="block">Returns the insertion policy of the window.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getPartitions--">getPartitions</a></span>()</code>
+<div class="block">Retrieves the partitions in the window.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">L</a>&gt;,<a href="../../../../../org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Window.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Window.html#getTriggerPolicy--">getTriggerPolicy</a></span>()</code>
+<div class="block">Returns the window's trigger policy.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#processOnInsert--">processOnInsert</a></span>()</code>
+<div class="block">Returns a trigger policy that triggers
+ processing on every insert.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#processWhenFullAndEvict-int-">processWhenFullAndEvict</a></span>(int&nbsp;size)</code>
+<div class="block">Returns a trigger policy that triggers when the size of a partition
+ equals or exceeds a value, and then evicts its contents.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#scheduleEvictIfEmpty-long-java.util.concurrent.TimeUnit-">scheduleEvictIfEmpty</a></span>(long&nbsp;time,
+                    <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">A policy which schedules a future partition eviction if the partition is empty.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Policies.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Policies.html#scheduleEvictOnFirstInsert-long-java.util.concurrent.TimeUnit-">scheduleEvictOnFirstInsert</a></span>(long&nbsp;time,
+                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;unit)</code>
+<div class="block">A policy which schedules a future partition eviction on the first insert.</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Method parameters in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> with type arguments of type <a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</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 &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/Partition.html" target="_top">Frames</a></li>
+<li><a href="Partition.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/PartitionedState.html b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/PartitionedState.html
new file mode 100644
index 0000000..2da6cbc
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/PartitionedState.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.window.PartitionedState (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.window.PartitionedState (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/PartitionedState.html" target="_top">Frames</a></li>
+<li><a href="PartitionedState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.window.PartitionedState" class="title">Uses of Class<br>org.apache.edgent.window.PartitionedState</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.window.PartitionedState</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/PartitionedState.html" target="_top">Frames</a></li>
+<li><a href="PartitionedState.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Policies.html b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Policies.html
new file mode 100644
index 0000000..facc1eb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Policies.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.window.Policies (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.window.Policies (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/Policies.html" target="_top">Frames</a></li>
+<li><a href="Policies.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.window.Policies" class="title">Uses of Class<br>org.apache.edgent.window.Policies</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.window.Policies</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/Policies.html" target="_top">Frames</a></li>
+<li><a href="Policies.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Window.html b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Window.html
new file mode 100644
index 0000000..929256b
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Window.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.edgent.window.Window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.edgent.window.Window (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/Window.html" target="_top">Frames</a></li>
+<li><a href="Window.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.edgent.window.Window" class="title">Uses of Interface<br>org.apache.edgent.window.Window</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
+<td class="colLast">
+<div class="block">Window API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a> in <a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
+<caption><span>Constructors in <a href="../../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a> with parameters of type <a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html#Aggregate-org.apache.edgent.window.Window-org.apache.edgent.function.BiFunction-">Aggregate</a></span>(<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,? extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;&gt;&nbsp;window,
+         <a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>&gt;,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">K</a>,<a href="../../../../../org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt;&nbsp;aggregator)</code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.window">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a> in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
+<caption><span>Methods in <a href="../../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> that return <a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">T</a>,<a href="../../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">K</a>,<a href="../../../../../org/apache/edgent/window/Partition.html" title="type parameter in Partition">L</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Partition.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Partition.html#getWindow--">getWindow</a></span>()</code>
+<div class="block">Return the window in which this partition is contained.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static &lt;T,K&gt;&nbsp;<a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,<a href="http://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html?is-external=true" title="class or interface in java.util">LinkedList</a>&lt;T&gt;&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#lastNProcessOnInsert-int-org.apache.edgent.function.Function-">lastNProcessOnInsert</a></span>(int&nbsp;count,
+                    <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction)</code>
+<div class="block">Return a window that maintains the last <code>count</code> tuples inserted
+ with processing triggered on every insert.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static &lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;<br><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">Windows.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/edgent/window/Windows.html#window-org.apache.edgent.function.BiFunction-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Consumer-org.apache.edgent.function.BiConsumer-org.apache.edgent.function.Function-org.apache.edgent.function.Supplier-">window</a></span>(<a href="../../../../../org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;insertionPolicy,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;contentsPolicy,
+      <a href="../../../../../org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;&gt;&nbsp;evictDeterminer,
+      <a href="../../../../../org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function">BiConsumer</a>&lt;<a href="../../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L&gt;,T&gt;&nbsp;triggerPolicy,
+      <a href="../../../../../org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;T,K&gt;&nbsp;keyFunction,
+      <a href="../../../../../org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;L&gt;&nbsp;listSupplier)</code>
+<div class="block">Create a window using the passed in policies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/Window.html" target="_top">Frames</a></li>
+<li><a href="Window.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Windows.html b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Windows.html
new file mode 100644
index 0000000..2bd6376
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/class-use/Windows.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.edgent.window.Windows (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.edgent.window.Windows (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/Windows.html" target="_top">Frames</a></li>
+<li><a href="Windows.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.edgent.window.Windows" class="title">Uses of Class<br>org.apache.edgent.window.Windows</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.edgent.window.Windows</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/edgent/window/class-use/Windows.html" target="_top">Frames</a></li>
+<li><a href="Windows.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/package-frame.html b/site/javadoc/r1.2.0/org/apache/edgent/window/package-frame.html
new file mode 100644
index 0000000..5dc9bcb
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/package-frame.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<h1 class="bar"><a href="../../../../org/apache/edgent/window/package-summary.html" target="classFrame">org.apache.edgent.window</a></h1>
+<div class="indexContainer">
+<h2 title="Interfaces">Interfaces</h2>
+<ul title="Interfaces">
+<li><a href="Partition.html" title="interface in org.apache.edgent.window" target="classFrame"><span class="interfaceName">Partition</span></a></li>
+<li><a href="Window.html" title="interface in org.apache.edgent.window" target="classFrame"><span class="interfaceName">Window</span></a></li>
+</ul>
+<h2 title="Classes">Classes</h2>
+<ul title="Classes">
+<li><a href="InsertionTimeList.html" title="class in org.apache.edgent.window" target="classFrame">InsertionTimeList</a></li>
+<li><a href="PartitionedState.html" title="class in org.apache.edgent.window" target="classFrame">PartitionedState</a></li>
+<li><a href="Policies.html" title="class in org.apache.edgent.window" target="classFrame">Policies</a></li>
+<li><a href="Windows.html" title="class in org.apache.edgent.window" target="classFrame">Windows</a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/package-summary.html b/site/javadoc/r1.2.0/org/apache/edgent/window/package-summary.html
new file mode 100644
index 0000000..a72c9dd
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/package-summary.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.window (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/tester/package-summary.html">Prev&nbsp;Package</a></li>
+<li>Next&nbsp;Package</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Package" class="title">Package&nbsp;org.apache.edgent.window</h1>
+<div class="docSummary">
+<div class="block">Window API.</div>
+</div>
+<p>See:&nbsp;<a href="#package.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
+<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Interface</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window">Partition</a>&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</td>
+<td class="colLast">
+<div class="block">A partition within a <code>Window</code>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;T,K,L extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;T&gt;&gt;</td>
+<td class="colLast">
+<div class="block">Partitioned window of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window">InsertionTimeList</a>&lt;T&gt;</td>
+<td class="colLast">
+<div class="block">A window contents list that maintains insertion time.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window">PartitionedState</a>&lt;K,S&gt;</td>
+<td class="colLast">
+<div class="block">Maintain partitioned state.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window">Policies</a></td>
+<td class="colLast">
+<div class="block">Common window policies.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window">Windows</a></td>
+<td class="colLast">
+<div class="block">Factory to create <code>Window</code> implementations.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="package.description">
+<!--   -->
+</a>
+<h2 title="Package org.apache.edgent.window Description">Package org.apache.edgent.window Description</h2>
+<div class="block">Window API.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li class="navBarCell1Rev">Package</li>
+<li>Class</li>
+<li><a href="package-use.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/tester/package-summary.html">Prev&nbsp;Package</a></li>
+<li>Next&nbsp;Package</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/package-summary.html" target="_top">Frames</a></li>
+<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/package-tree.html b/site/javadoc/r1.2.0/org/apache/edgent/window/package-tree.html
new file mode 100644
index 0000000..54b7706
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/package-tree.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.apache.edgent.window Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="org.apache.edgent.window Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/tester/package-tree.html">Prev</a></li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For Package org.apache.edgent.window</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="../../../../overview-tree.html">All Packages</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractCollection</span></a>&lt;E&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;E&gt;)
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractList</span></a>&lt;E&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;E&gt;)
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractSequentialList</span></a>&lt;E&gt;
+<ul>
+<li type="circle">org.apache.edgent.window.<a href="../../../../org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window"><span class="typeNameLink">InsertionTimeList</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.window.<a href="../../../../org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window"><span class="typeNameLink">PartitionedState</span></a>&lt;K,S&gt;</li>
+<li type="circle">org.apache.edgent.window.<a href="../../../../org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Policies</span></a></li>
+<li type="circle">org.apache.edgent.window.<a href="../../../../org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Windows</span></a></li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
+<ul>
+<li type="circle">org.apache.edgent.window.<a href="../../../../org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Partition</span></a>&lt;T,K,L&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.window.<a href="../../../../org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Window</span></a>&lt;T,K,L&gt;</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../org/apache/edgent/topology/tester/package-tree.html">Prev</a></li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/package-tree.html" target="_top">Frames</a></li>
+<li><a href="package-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/org/apache/edgent/window/package-use.html b/site/javadoc/r1.2.0/org/apache/edgent/window/package-use.html
new file mode 100644
index 0000000..95318de
--- /dev/null
+++ b/site/javadoc/r1.2.0/org/apache/edgent/window/package-use.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Package org.apache.edgent.window (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Package org.apache.edgent.window (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Uses of Package org.apache.edgent.window" class="title">Uses of Package<br>org.apache.edgent.window</h1>
+</div>
+<div class="contentContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.edgent.oplet.window">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.edgent.window">org.apache.edgent.window</a></td>
+<td class="colLast">
+<div class="block">Window API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.window">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> used by <a href="../../../../org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/window/class-use/Window.html#org.apache.edgent.oplet.window">Window</a>
+<div class="block">Partitioned window of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.edgent.window">
+<!--   -->
+</a>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a> used by <a href="../../../../org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/window/class-use/InsertionTimeList.html#org.apache.edgent.window">InsertionTimeList</a>
+<div class="block">A window contents list that maintains insertion time.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/window/class-use/Partition.html#org.apache.edgent.window">Partition</a>
+<div class="block">A partition within a <code>Window</code>.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="../../../../org/apache/edgent/window/class-use/Window.html#org.apache.edgent.window">Window</a>
+<div class="block">Partitioned window of tuples.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li>Class</li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?org/apache/edgent/window/package-use.html" target="_top">Frames</a></li>
+<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/overview-frame.html b/site/javadoc/r1.2.0/overview-frame.html
new file mode 100644
index 0000000..044bda0
--- /dev/null
+++ b/site/javadoc/r1.2.0/overview-frame.html
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:21 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Overview List (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<div class="indexHeader"><span><a href="allclasses-frame.html" target="packageFrame">All&nbsp;Classes</a></span></div>
+<div class="indexContainer">
+<h2 title="Packages">Packages</h2>
+<ul title="Packages">
+<li><a href="org/apache/edgent/analytics/math3/package-frame.html" target="packageFrame">org.apache.edgent.analytics.math3</a></li>
+<li><a href="org/apache/edgent/analytics/math3/json/package-frame.html" target="packageFrame">org.apache.edgent.analytics.math3.json</a></li>
+<li><a href="org/apache/edgent/analytics/math3/stat/package-frame.html" target="packageFrame">org.apache.edgent.analytics.math3.stat</a></li>
+<li><a href="org/apache/edgent/analytics/sensors/package-frame.html" target="packageFrame">org.apache.edgent.analytics.sensors</a></li>
+<li><a href="org/apache/edgent/apps/iot/package-frame.html" target="packageFrame">org.apache.edgent.apps.iot</a></li>
+<li><a href="org/apache/edgent/apps/runtime/package-frame.html" target="packageFrame">org.apache.edgent.apps.runtime</a></li>
+<li><a href="org/apache/edgent/connectors/command/package-frame.html" target="packageFrame">org.apache.edgent.connectors.command</a></li>
+<li><a href="org/apache/edgent/connectors/csv/package-frame.html" target="packageFrame">org.apache.edgent.connectors.csv</a></li>
+<li><a href="org/apache/edgent/connectors/file/package-frame.html" target="packageFrame">org.apache.edgent.connectors.file</a></li>
+<li><a href="org/apache/edgent/connectors/http/package-frame.html" target="packageFrame">org.apache.edgent.connectors.http</a></li>
+<li><a href="org/apache/edgent/connectors/iot/package-frame.html" target="packageFrame">org.apache.edgent.connectors.iot</a></li>
+<li><a href="org/apache/edgent/connectors/iotp/package-frame.html" target="packageFrame">org.apache.edgent.connectors.iotp</a></li>
+<li><a href="org/apache/edgent/connectors/jdbc/package-frame.html" target="packageFrame">org.apache.edgent.connectors.jdbc</a></li>
+<li><a href="org/apache/edgent/connectors/kafka/package-frame.html" target="packageFrame">org.apache.edgent.connectors.kafka</a></li>
+<li><a href="org/apache/edgent/connectors/mqtt/package-frame.html" target="packageFrame">org.apache.edgent.connectors.mqtt</a></li>
+<li><a href="org/apache/edgent/connectors/mqtt/iot/package-frame.html" target="packageFrame">org.apache.edgent.connectors.mqtt.iot</a></li>
+<li><a href="org/apache/edgent/connectors/pubsub/package-frame.html" target="packageFrame">org.apache.edgent.connectors.pubsub</a></li>
+<li><a href="org/apache/edgent/connectors/pubsub/oplets/package-frame.html" target="packageFrame">org.apache.edgent.connectors.pubsub.oplets</a></li>
+<li><a href="org/apache/edgent/connectors/pubsub/service/package-frame.html" target="packageFrame">org.apache.edgent.connectors.pubsub.service</a></li>
+<li><a href="org/apache/edgent/connectors/serial/package-frame.html" target="packageFrame">org.apache.edgent.connectors.serial</a></li>
+<li><a href="org/apache/edgent/connectors/wsclient/package-frame.html" target="packageFrame">org.apache.edgent.connectors.wsclient</a></li>
+<li><a href="org/apache/edgent/connectors/wsclient/javax/websocket/package-frame.html" target="packageFrame">org.apache.edgent.connectors.wsclient.javax.websocket</a></li>
+<li><a href="org/apache/edgent/execution/package-frame.html" target="packageFrame">org.apache.edgent.execution</a></li>
+<li><a href="org/apache/edgent/execution/mbeans/package-frame.html" target="packageFrame">org.apache.edgent.execution.mbeans</a></li>
+<li><a href="org/apache/edgent/execution/services/package-frame.html" target="packageFrame">org.apache.edgent.execution.services</a></li>
+<li><a href="org/apache/edgent/function/package-frame.html" target="packageFrame">org.apache.edgent.function</a></li>
+<li><a href="org/apache/edgent/graph/package-frame.html" target="packageFrame">org.apache.edgent.graph</a></li>
+<li><a href="org/apache/edgent/graph/spi/package-frame.html" target="packageFrame">org.apache.edgent.graph.spi</a></li>
+<li><a href="org/apache/edgent/graph/spi/execution/package-frame.html" target="packageFrame">org.apache.edgent.graph.spi.execution</a></li>
+<li><a href="org/apache/edgent/metrics/package-frame.html" target="packageFrame">org.apache.edgent.metrics</a></li>
+<li><a href="org/apache/edgent/metrics/oplets/package-frame.html" target="packageFrame">org.apache.edgent.metrics.oplets</a></li>
+<li><a href="org/apache/edgent/oplet/package-frame.html" target="packageFrame">org.apache.edgent.oplet</a></li>
+<li><a href="org/apache/edgent/oplet/core/package-frame.html" target="packageFrame">org.apache.edgent.oplet.core</a></li>
+<li><a href="org/apache/edgent/oplet/functional/package-frame.html" target="packageFrame">org.apache.edgent.oplet.functional</a></li>
+<li><a href="org/apache/edgent/oplet/plumbing/package-frame.html" target="packageFrame">org.apache.edgent.oplet.plumbing</a></li>
+<li><a href="org/apache/edgent/oplet/window/package-frame.html" target="packageFrame">org.apache.edgent.oplet.window</a></li>
+<li><a href="org/apache/edgent/providers/development/package-frame.html" target="packageFrame">org.apache.edgent.providers.development</a></li>
+<li><a href="org/apache/edgent/providers/direct/package-frame.html" target="packageFrame">org.apache.edgent.providers.direct</a></li>
+<li><a href="org/apache/edgent/providers/iot/package-frame.html" target="packageFrame">org.apache.edgent.providers.iot</a></li>
+<li><a href="org/apache/edgent/runtime/appservice/package-frame.html" target="packageFrame">org.apache.edgent.runtime.appservice</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/package-frame.html" target="packageFrame">org.apache.edgent.runtime.etiao</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/package-frame.html" target="packageFrame">org.apache.edgent.runtime.etiao.graph</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/model/package-frame.html" target="packageFrame">org.apache.edgent.runtime.etiao.graph.model</a></li>
+<li><a href="org/apache/edgent/runtime/etiao/mbeans/package-frame.html" target="packageFrame">org.apache.edgent.runtime.etiao.mbeans</a></li>
+<li><a href="org/apache/edgent/runtime/jmxcontrol/package-frame.html" target="packageFrame">org.apache.edgent.runtime.jmxcontrol</a></li>
+<li><a href="org/apache/edgent/runtime/jobregistry/package-frame.html" target="packageFrame">org.apache.edgent.runtime.jobregistry</a></li>
+<li><a href="org/apache/edgent/runtime/jsoncontrol/package-frame.html" target="packageFrame">org.apache.edgent.runtime.jsoncontrol</a></li>
+<li><a href="org/apache/edgent/streamscope/package-frame.html" target="packageFrame">org.apache.edgent.streamscope</a></li>
+<li><a href="org/apache/edgent/streamscope/mbeans/package-frame.html" target="packageFrame">org.apache.edgent.streamscope.mbeans</a></li>
+<li><a href="org/apache/edgent/streamscope/oplets/package-frame.html" target="packageFrame">org.apache.edgent.streamscope.oplets</a></li>
+<li><a href="org/apache/edgent/topology/package-frame.html" target="packageFrame">org.apache.edgent.topology</a></li>
+<li><a href="org/apache/edgent/topology/json/package-frame.html" target="packageFrame">org.apache.edgent.topology.json</a></li>
+<li><a href="org/apache/edgent/topology/mbeans/package-frame.html" target="packageFrame">org.apache.edgent.topology.mbeans</a></li>
+<li><a href="org/apache/edgent/topology/plumbing/package-frame.html" target="packageFrame">org.apache.edgent.topology.plumbing</a></li>
+<li><a href="org/apache/edgent/topology/services/package-frame.html" target="packageFrame">org.apache.edgent.topology.services</a></li>
+<li><a href="org/apache/edgent/topology/spi/package-frame.html" target="packageFrame">org.apache.edgent.topology.spi</a></li>
+<li><a href="org/apache/edgent/topology/spi/functions/package-frame.html" target="packageFrame">org.apache.edgent.topology.spi.functions</a></li>
+<li><a href="org/apache/edgent/topology/spi/graph/package-frame.html" target="packageFrame">org.apache.edgent.topology.spi.graph</a></li>
+<li><a href="org/apache/edgent/topology/spi/tester/package-frame.html" target="packageFrame">org.apache.edgent.topology.spi.tester</a></li>
+<li><a href="org/apache/edgent/topology/tester/package-frame.html" target="packageFrame">org.apache.edgent.topology.tester</a></li>
+<li><a href="org/apache/edgent/window/package-frame.html" target="packageFrame">org.apache.edgent.window</a></li>
+</ul>
+</div>
+<p>&nbsp;</p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/overview-summary.html b/site/javadoc/r1.2.0/overview-summary.html
new file mode 100644
index 0000000..d2f2fc5
--- /dev/null
+++ b/site/javadoc/r1.2.0/overview-summary.html
@@ -0,0 +1,695 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Overview (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Overview (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li class="navBarCell1Rev">Overview</li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-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?overview-summary.html" target="_top">Frames</a></li>
+<li><a href="overview-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Apache Edgent (incubating) v1.2.0 API</h1>
+</div>
+<div class="header">
+<div class="subTitle">
+<div class="block">Apache Edgent is an SDK for developing and executing streaming analytics at the <i>edge</i>.</div>
+</div>
+<p>See: <a href="#overview.description">Description</a></p>
+</div>
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent Providers table, listing packages, and an explanation">
+<caption><span>Edgent Providers</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/providers/development/package-summary.html">org.apache.edgent.providers.development</a></td>
+<td class="colLast">
+<div class="block">Execution of a streaming topology in a development environment .</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/providers/direct/package-summary.html">org.apache.edgent.providers.direct</a></td>
+<td class="colLast">
+<div class="block">Direct execution of a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/providers/iot/package-summary.html">org.apache.edgent.providers.iot</a></td>
+<td class="colLast">
+<div class="block">Iot provider that allows multiple applications to
+ share an <code>IotDevice</code>.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent API table, listing packages, and an explanation">
+<caption><span>Edgent API</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/execution/package-summary.html">org.apache.edgent.execution</a></td>
+<td class="colLast">
+<div class="block">Execution of Edgent topologies and graphs.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/execution/mbeans/package-summary.html">org.apache.edgent.execution.mbeans</a></td>
+<td class="colLast">
+<div class="block">Management MBeans for execution.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/execution/services/package-summary.html">org.apache.edgent.execution.services</a></td>
+<td class="colLast">
+<div class="block">Execution services.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/function/package-summary.html">org.apache.edgent.function</a></td>
+<td class="colLast">
+<div class="block">Functional interfaces for lambda expressions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/topology/package-summary.html">org.apache.edgent.topology</a></td>
+<td class="colLast">
+<div class="block">Functional api to build a streaming topology.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/topology/json/package-summary.html">org.apache.edgent.topology.json</a></td>
+<td class="colLast">
+<div class="block">Utilities for use of JSON in a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/topology/mbeans/package-summary.html">org.apache.edgent.topology.mbeans</a></td>
+<td class="colLast">
+<div class="block">Controls for executing topologies.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/topology/plumbing/package-summary.html">org.apache.edgent.topology.plumbing</a></td>
+<td class="colLast">
+<div class="block">Plumbing for a streaming topology.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/topology/services/package-summary.html">org.apache.edgent.topology.services</a></td>
+<td class="colLast">
+<div class="block">Services for topologies.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent Analytics table, listing packages, and an explanation">
+<caption><span>Edgent Analytics</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/analytics/math3/package-summary.html">org.apache.edgent.analytics.math3</a></td>
+<td class="colLast">
+<div class="block">Analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/analytics/math3/json/package-summary.html">org.apache.edgent.analytics.math3.json</a></td>
+<td class="colLast">
+<div class="block">JSON analytics using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/analytics/math3/stat/package-summary.html">org.apache.edgent.analytics.math3.stat</a></td>
+<td class="colLast">
+<div class="block">Statistical algorithms using Apache Commons Math.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/analytics/sensors/package-summary.html">org.apache.edgent.analytics.sensors</a></td>
+<td class="colLast">
+<div class="block">Analytics focused on handling sensor data.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent Connectors table, listing packages, and an explanation">
+<caption><span>Edgent Connectors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/command/package-summary.html">org.apache.edgent.connectors.command</a></td>
+<td class="colLast">
+<div class="block">Command / OS Process connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/csv/package-summary.html">org.apache.edgent.connectors.csv</a></td>
+<td class="colLast">
+<div class="block">Utilities for handling Comma Separated Value strings.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/file/package-summary.html">org.apache.edgent.connectors.file</a></td>
+<td class="colLast">
+<div class="block">File stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/http/package-summary.html">org.apache.edgent.connectors.http</a></td>
+<td class="colLast">
+<div class="block">HTTP stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/iot/package-summary.html">org.apache.edgent.connectors.iot</a></td>
+<td class="colLast">
+<div class="block">Edgent IoT device and IoT Gateway device connector API to an IoT message hub.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/iotp/package-summary.html">org.apache.edgent.connectors.iotp</a></td>
+<td class="colLast">
+<div class="block">IBM Watson IoT Platform stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/jdbc/package-summary.html">org.apache.edgent.connectors.jdbc</a></td>
+<td class="colLast">
+<div class="block">JDBC based database stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/kafka/package-summary.html">org.apache.edgent.connectors.kafka</a></td>
+<td class="colLast">
+<div class="block">Apache Kafka enterprise messaging hub stream connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/mqtt/package-summary.html">org.apache.edgent.connectors.mqtt</a></td>
+<td class="colLast">
+<div class="block">MQTT (lightweight messaging protocol for small sensors and mobile devices) stream connector.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/mqtt/iot/package-summary.html">org.apache.edgent.connectors.mqtt.iot</a></td>
+<td class="colLast">
+<div class="block">An MQTT based IotDevice connector.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/pubsub/package-summary.html">org.apache.edgent.connectors.pubsub</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe model between jobs.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/pubsub/oplets/package-summary.html">org.apache.edgent.connectors.pubsub.oplets</a></td>
+<td class="colLast">
+<div class="block">Oplets supporting publish subscribe service.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/pubsub/service/package-summary.html">org.apache.edgent.connectors.pubsub.service</a></td>
+<td class="colLast">
+<div class="block">Publish subscribe service.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/serial/package-summary.html">org.apache.edgent.connectors.serial</a></td>
+<td class="colLast">
+<div class="block">Serial port connector API.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/wsclient/package-summary.html">org.apache.edgent.connectors.wsclient</a></td>
+<td class="colLast">
+<div class="block">A generic WebSocket Client Connector API for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/connectors/wsclient/javax/websocket/package-summary.html">org.apache.edgent.connectors.wsclient.javax.websocket</a></td>
+<td class="colLast">
+<div class="block">A JSR356 based WebSocket Client Connector for sending and receiving messages to a WebSocket Server.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent Utilities table, listing packages, and an explanation">
+<caption><span>Edgent Utilities</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/metrics/package-summary.html">org.apache.edgent.metrics</a></td>
+<td class="colLast">
+<div class="block">Metric utility methods, oplets, and reporters which allow an 
+ application to expose metric values, for example via JMX.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/metrics/oplets/package-summary.html">org.apache.edgent.metrics.oplets</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/streamscope/package-summary.html">org.apache.edgent.streamscope</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope - package for instrumenting streams to capture tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/streamscope/mbeans/package-summary.html">org.apache.edgent.streamscope.mbeans</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope <a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><code>ControlService</code></a>
+ Management Bean interfaces.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/streamscope/oplets/package-summary.html">org.apache.edgent.streamscope.oplets</a></td>
+<td class="colLast">
+<div class="block">Stream Oscilloscope underlying implementation oplets.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent Tester table, listing packages, and an explanation">
+<caption><span>Edgent Tester</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/topology/tester/package-summary.html">org.apache.edgent.topology.tester</a></td>
+<td class="colLast">
+<div class="block">Testing for a streaming topology.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent Low-Level API table, listing packages, and an explanation">
+<caption><span>Edgent Low-Level API</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/graph/package-summary.html">org.apache.edgent.graph</a></td>
+<td class="colLast">
+<div class="block">Low-level graph building API.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/graph/spi/package-summary.html">org.apache.edgent.graph.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/graph/spi/execution/package-summary.html">org.apache.edgent.graph.spi.execution</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/oplet/package-summary.html">org.apache.edgent.oplet</a></td>
+<td class="colLast">
+<div class="block">Oplets API.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/oplet/core/package-summary.html">org.apache.edgent.oplet.core</a></td>
+<td class="colLast">
+<div class="block">Core primitive oplets.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/oplet/functional/package-summary.html">org.apache.edgent.oplet.functional</a></td>
+<td class="colLast">
+<div class="block">Oplets that process tuples using functions.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/oplet/plumbing/package-summary.html">org.apache.edgent.oplet.plumbing</a></td>
+<td class="colLast">
+<div class="block">Oplets that control the flow of tuples.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/oplet/window/package-summary.html">org.apache.edgent.oplet.window</a></td>
+<td class="colLast">
+<div class="block">Oplets using windows.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/window/package-summary.html">org.apache.edgent.window</a></td>
+<td class="colLast">
+<div class="block">Window API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Edgent SPI table, listing packages, and an explanation">
+<caption><span>Edgent SPI</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/topology/spi/package-summary.html">org.apache.edgent.topology.spi</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/topology/spi/functions/package-summary.html">org.apache.edgent.topology.spi.functions</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/topology/spi/graph/package-summary.html">org.apache.edgent.topology.spi.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/topology/spi/tester/package-summary.html">org.apache.edgent.topology.spi.tester</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="contentContainer">
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Other Packages table, listing packages, and an explanation">
+<caption><span>Other Packages</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/apps/iot/package-summary.html">org.apache.edgent.apps.iot</a></td>
+<td class="colLast">
+<div class="block">Applications for use in an Internet of Things environment.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/apps/runtime/package-summary.html">org.apache.edgent.apps.runtime</a></td>
+<td class="colLast">
+<div class="block">Applications which provide monitoring and failure recovery to other 
+ Edgent applications.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/runtime/appservice/package-summary.html">org.apache.edgent.runtime.appservice</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/runtime/etiao/package-summary.html">org.apache.edgent.runtime.etiao</a></td>
+<td class="colLast">
+<div class="block">A runtime for executing an Edgent streaming topology, designed as an embeddable library 
+ so that it can be executed in a simple Java application.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/runtime/etiao/graph/package-summary.html">org.apache.edgent.runtime.etiao.graph</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/runtime/etiao/graph/model/package-summary.html">org.apache.edgent.runtime.etiao.graph.model</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/runtime/etiao/mbeans/package-summary.html">org.apache.edgent.runtime.etiao.mbeans</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/runtime/jmxcontrol/package-summary.html">org.apache.edgent.runtime.jmxcontrol</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a href="org/apache/edgent/runtime/jobregistry/package-summary.html">org.apache.edgent.runtime.jobregistry</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="org/apache/edgent/runtime/jsoncontrol/package-summary.html">org.apache.edgent.runtime.jsoncontrol</a></td>
+<td class="colLast">
+<div class="block">Control service that takes a Json message and invokes
+ an operation on a control service MBean.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="contentContainer"><a name="overview.description">
+<!--   -->
+</a>
+<div class="block">Apache Edgent is an SDK for developing and executing streaming analytics at the <i>edge</i>.
+<P>
+<em>
+Apache Edgent is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
+</em>
+</P>
+<H1>Edgent</H1>
+<OL>
+<LI><a href="#overview">Overview</A></LI>
+<LI><a href="#model">Programming Model</A></LI>
+<LI><a href="#start">Getting Started</A></LI>
+</OL>
+<a name="overview"></a>
+<H2>Overview</H2>
+Apache Edgent is an SDK for developing and executing streaming analytics at the <i>edge</i>.
+Edgent provides a stream processing style programming model for 
+composing stream processing graphs and a micro-services style runtime for
+executing the graphs.  Some analytics and a rich collection
+of connectors are provided. Users can easily develop and use their 
+own analytics and connectors.  
+A framework for testing processing graphs is also included.
+<P>
+Edgent is focusing on two edge cases:
+<UL>
+<LI>Internet of Things (IoT) - Widely distributed and/or mobile devices and gateways.</LI>
+<LI>Enterprise Embedded - Edge analytics within an enterprise, such as local analytic applications of each system in a machine room, or error log analytics in application servers.</LI>
+</UL>
+In both cases Edgent applications analyze live data and
+send results of that analytics and/or data intermittently
+to back-end systems for deeper analysis. An Edgent application
+can use analytics to decide when to send information to back-end systems,
+such as when the behaviour of the system is outside normal parameters
+(e.g. an engine running too hot).
+<BR>
+Edgent applications do not send data continually
+to back-end systems as the cost of communication may be high
+(e.g. cellular networks) or bandwidth may be limited.
+<P>
+Edgent applications communicate with back-end systems through
+some form of message hub as there may be millions of edge devices.
+Edgent supports these message hubs:
+<UL>
+<LI> MQTT - Messaging standard for IoT</LI>
+<LI> IBM Watson IoT Platform - Cloud based service providing a device model on top of MQTT</LI>
+<LI> Apache Kafka - Enterprise message bus</LI>
+</UL> 
+</P>
+<P>
+Back-end analytic systems are used to perform analysis on information from Edgent applications that cannot be performed at the edge. Such analysis may be:
+<UL>
+<LI>Running complex analytic algorithms than require more resources (cpu, memory etc.) than are available at the edge. </LI>
+<LI>Maintaining more state per device that can exist at the edge, e.g. hours of state for patients' medical sensors. </LI>
+<LI>Correlating device information with multiple data sources:
+<UL>
+<LI> Weather data</LI>
+<LI> Social media data</LI>
+<LI> Data of record (e.g patients' medical histories, trucking manifests).</LI>
+<LI> Other devices </LI>
+<LI>etc.</LI>
+</UL>
+</LI>
+</UL>
+<BR>
+Back-end systems can interact or control devices based upon their analytics, by sending commands to specific devices, e.g. reduce maximum engine revs to reduce chance of failure before the next scheduled service, or send an alert of an accident ahead.
+</P>
+<a name="model"></a>
+<H2>Programming Model</H2>
+Edgent applications are streaming applications in which each <em>tuple</em>
+(data item or event) in a <em>stream</em> of data is processed as it occurs.
+Additionally, you can process <em>windows</em> (logical subsets) of data.
+For example, you could analyze the last 90 seconds of data from a sensor to identify trends in the data
+<P>
+<H3>Topology functional API</H3>
+<H4>Overview</H4>
+The primary api is <a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><code>Topology</code></a> which uses a functional
+model to build a topology of <a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><code>streams</code></a> for an application.
+<BR>
+<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><code>TStream</code></a> is a declaration of a stream of tuples, an application will create streams that source data (e.g. sensor readings) and then apply functions that transform those streams into derived streams, for example simply filtering a stream containg engine temperator readings to a derived stream that only contains readings thar are greater than 100&deg;C.
+<BR>
+An application terminates processing for a stream by <em>sinking</em> it. Sinking effectively terminates a stream by applying processing to each tuple on the stream (as it occurs) that does not produce a result. Typically this sinking is transmitting the tuple to an external system, for example the messgae hub to send the data to a back-end system, or locally sending the data to a user interface.
+</P>
+<P>
+This programming style is typical for streaming systems and similar APIs are supported by systems such as Apache Flink, Apache Spark Streaming, IBM Streams and Java 8 streams.
+</P>
+<H4>Functions</H4>
+Edgent supports Java 8 and it is encouraged to use Java 8 as functions can be easily and clearly written using lambda expressions.
+<H4>Arbitrary Topology</H4>
+Simple applications may just be a pipeline of streams, for example, logically:
+<BR>
+<code>source --&gt; filter --&gt; transform --&gt; aggregate --&gt; send to MQTT</code>
+<BR>
+However Edgent allows arbitrary topologies including:
+<UL>
+<LI>Multiple source streams in an application</LI>
+<LI>Multiple sinks in an application </LI>
+<LI>Multiple processing including sinks against a stream (fan-out)</LI>
+<LI>Union of streams (fan-in)  </LI>
+<LI>Correlation of streams by allowing streams to be joined</LI>
+</UL>
+<H3>Graph API</H3>
+<H4>Overview</H4>
+The <a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><code>graph</code></a> API is a lower-level API that the
+topology api is built on top of. A graph consists of
+<a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><code>oplet</code></a> invocations connected by streams.
+The oplet invocations contain the processing applied to each tuple
+on streams connected to their input ports. Processing by the oplet
+submits tuples to its output ports for subsequent processing
+by downstream connected oplet invocations.
+<a name="start"></a>
+<H2>Getting Started</H2>
+<P>
+A number of sample Java applications are provided that demonstrate use of Edgent.
+General information about Edgent Application development and 
+some development utilities are included.
+See <a href="https://edgent.apache.org/docs/edgent-getting-started">Getting Started</a>.</div>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li class="navBarCell1Rev">Overview</li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-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?overview-summary.html" target="_top">Frames</a></li>
+<li><a href="overview-summary.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/overview-tree.html b/site/javadoc/r1.2.0/overview-tree.html
new file mode 100644
index 0000000..b164ed4
--- /dev/null
+++ b/site/javadoc/r1.2.0/overview-tree.html
@@ -0,0 +1,539 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:23 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Class Hierarchy (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
+<li><a href="overview-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 class="title">Hierarchy For All Packages</h1>
+<span class="packageHierarchyLabel">Package Hierarchies:</span>
+<ul class="horizontal">
+<li><a href="org/apache/edgent/analytics/math3/package-tree.html">org.apache.edgent.analytics.math3</a>, </li>
+<li><a href="org/apache/edgent/analytics/math3/json/package-tree.html">org.apache.edgent.analytics.math3.json</a>, </li>
+<li><a href="org/apache/edgent/analytics/math3/stat/package-tree.html">org.apache.edgent.analytics.math3.stat</a>, </li>
+<li><a href="org/apache/edgent/analytics/sensors/package-tree.html">org.apache.edgent.analytics.sensors</a>, </li>
+<li><a href="org/apache/edgent/apps/iot/package-tree.html">org.apache.edgent.apps.iot</a>, </li>
+<li><a href="org/apache/edgent/apps/runtime/package-tree.html">org.apache.edgent.apps.runtime</a>, </li>
+<li><a href="org/apache/edgent/connectors/command/package-tree.html">org.apache.edgent.connectors.command</a>, </li>
+<li><a href="org/apache/edgent/connectors/csv/package-tree.html">org.apache.edgent.connectors.csv</a>, </li>
+<li><a href="org/apache/edgent/connectors/file/package-tree.html">org.apache.edgent.connectors.file</a>, </li>
+<li><a href="org/apache/edgent/connectors/http/package-tree.html">org.apache.edgent.connectors.http</a>, </li>
+<li><a href="org/apache/edgent/connectors/iot/package-tree.html">org.apache.edgent.connectors.iot</a>, </li>
+<li><a href="org/apache/edgent/connectors/iotp/package-tree.html">org.apache.edgent.connectors.iotp</a>, </li>
+<li><a href="org/apache/edgent/connectors/jdbc/package-tree.html">org.apache.edgent.connectors.jdbc</a>, </li>
+<li><a href="org/apache/edgent/connectors/kafka/package-tree.html">org.apache.edgent.connectors.kafka</a>, </li>
+<li><a href="org/apache/edgent/connectors/mqtt/package-tree.html">org.apache.edgent.connectors.mqtt</a>, </li>
+<li><a href="org/apache/edgent/connectors/mqtt/iot/package-tree.html">org.apache.edgent.connectors.mqtt.iot</a>, </li>
+<li><a href="org/apache/edgent/connectors/pubsub/package-tree.html">org.apache.edgent.connectors.pubsub</a>, </li>
+<li><a href="org/apache/edgent/connectors/pubsub/oplets/package-tree.html">org.apache.edgent.connectors.pubsub.oplets</a>, </li>
+<li><a href="org/apache/edgent/connectors/pubsub/service/package-tree.html">org.apache.edgent.connectors.pubsub.service</a>, </li>
+<li><a href="org/apache/edgent/connectors/serial/package-tree.html">org.apache.edgent.connectors.serial</a>, </li>
+<li><a href="org/apache/edgent/connectors/wsclient/package-tree.html">org.apache.edgent.connectors.wsclient</a>, </li>
+<li><a href="org/apache/edgent/connectors/wsclient/javax/websocket/package-tree.html">org.apache.edgent.connectors.wsclient.javax.websocket</a>, </li>
+<li><a href="org/apache/edgent/execution/package-tree.html">org.apache.edgent.execution</a>, </li>
+<li><a href="org/apache/edgent/execution/mbeans/package-tree.html">org.apache.edgent.execution.mbeans</a>, </li>
+<li><a href="org/apache/edgent/execution/services/package-tree.html">org.apache.edgent.execution.services</a>, </li>
+<li><a href="org/apache/edgent/function/package-tree.html">org.apache.edgent.function</a>, </li>
+<li><a href="org/apache/edgent/graph/package-tree.html">org.apache.edgent.graph</a>, </li>
+<li><a href="org/apache/edgent/graph/spi/package-tree.html">org.apache.edgent.graph.spi</a>, </li>
+<li><a href="org/apache/edgent/graph/spi/execution/package-tree.html">org.apache.edgent.graph.spi.execution</a>, </li>
+<li><a href="org/apache/edgent/metrics/package-tree.html">org.apache.edgent.metrics</a>, </li>
+<li><a href="org/apache/edgent/metrics/oplets/package-tree.html">org.apache.edgent.metrics.oplets</a>, </li>
+<li><a href="org/apache/edgent/oplet/package-tree.html">org.apache.edgent.oplet</a>, </li>
+<li><a href="org/apache/edgent/oplet/core/package-tree.html">org.apache.edgent.oplet.core</a>, </li>
+<li><a href="org/apache/edgent/oplet/functional/package-tree.html">org.apache.edgent.oplet.functional</a>, </li>
+<li><a href="org/apache/edgent/oplet/plumbing/package-tree.html">org.apache.edgent.oplet.plumbing</a>, </li>
+<li><a href="org/apache/edgent/oplet/window/package-tree.html">org.apache.edgent.oplet.window</a>, </li>
+<li><a href="org/apache/edgent/providers/development/package-tree.html">org.apache.edgent.providers.development</a>, </li>
+<li><a href="org/apache/edgent/providers/direct/package-tree.html">org.apache.edgent.providers.direct</a>, </li>
+<li><a href="org/apache/edgent/providers/iot/package-tree.html">org.apache.edgent.providers.iot</a>, </li>
+<li><a href="org/apache/edgent/runtime/appservice/package-tree.html">org.apache.edgent.runtime.appservice</a>, </li>
+<li><a href="org/apache/edgent/runtime/etiao/package-tree.html">org.apache.edgent.runtime.etiao</a>, </li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/package-tree.html">org.apache.edgent.runtime.etiao.graph</a>, </li>
+<li><a href="org/apache/edgent/runtime/etiao/graph/model/package-tree.html">org.apache.edgent.runtime.etiao.graph.model</a>, </li>
+<li><a href="org/apache/edgent/runtime/etiao/mbeans/package-tree.html">org.apache.edgent.runtime.etiao.mbeans</a>, </li>
+<li><a href="org/apache/edgent/runtime/jmxcontrol/package-tree.html">org.apache.edgent.runtime.jmxcontrol</a>, </li>
+<li><a href="org/apache/edgent/runtime/jobregistry/package-tree.html">org.apache.edgent.runtime.jobregistry</a>, </li>
+<li><a href="org/apache/edgent/runtime/jsoncontrol/package-tree.html">org.apache.edgent.runtime.jsoncontrol</a>, </li>
+<li><a href="org/apache/edgent/streamscope/package-tree.html">org.apache.edgent.streamscope</a>, </li>
+<li><a href="org/apache/edgent/streamscope/mbeans/package-tree.html">org.apache.edgent.streamscope.mbeans</a>, </li>
+<li><a href="org/apache/edgent/streamscope/oplets/package-tree.html">org.apache.edgent.streamscope.oplets</a>, </li>
+<li><a href="org/apache/edgent/topology/package-tree.html">org.apache.edgent.topology</a>, </li>
+<li><a href="org/apache/edgent/topology/json/package-tree.html">org.apache.edgent.topology.json</a>, </li>
+<li><a href="org/apache/edgent/topology/mbeans/package-tree.html">org.apache.edgent.topology.mbeans</a>, </li>
+<li><a href="org/apache/edgent/topology/plumbing/package-tree.html">org.apache.edgent.topology.plumbing</a>, </li>
+<li><a href="org/apache/edgent/topology/services/package-tree.html">org.apache.edgent.topology.services</a>, </li>
+<li><a href="org/apache/edgent/topology/spi/package-tree.html">org.apache.edgent.topology.spi</a>, </li>
+<li><a href="org/apache/edgent/topology/spi/functions/package-tree.html">org.apache.edgent.topology.spi.functions</a>, </li>
+<li><a href="org/apache/edgent/topology/spi/graph/package-tree.html">org.apache.edgent.topology.spi.graph</a>, </li>
+<li><a href="org/apache/edgent/topology/spi/tester/package-tree.html">org.apache.edgent.topology.spi.tester</a>, </li>
+<li><a href="org/apache/edgent/topology/tester/package-tree.html">org.apache.edgent.topology.tester</a>, </li>
+<li><a href="org/apache/edgent/window/package-tree.html">org.apache.edgent.window</a></li>
+</ul>
+</div>
+<div class="contentContainer">
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractCollection</span></a>&lt;E&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;E&gt;)
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractList.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractList</span></a>&lt;E&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;E&gt;)
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractSequentialList.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractSequentialList</span></a>&lt;E&gt;
+<ul>
+<li type="circle">org.apache.edgent.window.<a href="org/apache/edgent/window/InsertionTimeList.html" title="class in org.apache.edgent.window"><span class="typeNameLink">InsertionTimeList</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/AbstractContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">AbstractContext</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet">OpletContext</a>&lt;I,O&gt;)
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/InvocationContext.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">InvocationContext</span></a>&lt;I,O&gt;</li>
+</ul>
+</li>
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/AbstractExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">AbstractExecutorService</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a>)
+<ul>
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">ThreadPoolExecutor</span></a>
+<ul>
+<li type="circle">java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent"><span class="typeNameLink">ScheduledThreadPoolExecutor</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>)
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/TrackingScheduledExecutor.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">TrackingScheduledExecutor</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/AbstractGraph.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">AbstractGraph</span></a>&lt;G&gt; (implements org.apache.edgent.graph.<a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph">Graph</a>)
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/DirectGraph.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">DirectGraph</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.graph.spi.execution.<a href="org/apache/edgent/graph/spi/execution/AbstractGraphJob.html" title="class in org.apache.edgent.graph.spi.execution"><span class="typeNameLink">AbstractGraphJob</span></a> (implements org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution">Job</a>)
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/EtiaoJob.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">EtiaoJob</span></a> (implements org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet">JobContext</a>)</li>
+</ul>
+</li>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">AbstractMap</span></a>&lt;K,V&gt; (implements java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;)
+<ul>
+<li type="circle">java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util"><span class="typeNameLink">HashMap</span></a>&lt;K,V&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, java.util.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;K,V&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">MvResultMap</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">ResultMap</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">AbstractOplet</span></a>&lt;I,O&gt; (implements org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet">Oplet</a>&lt;I,O&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanIn.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">FanIn</span></a>&lt;T,U&gt;
+<ul>
+<li type="circle">org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Barrier.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Barrier</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Union.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Union</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">FanOut</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Pipe</span></a>&lt;I,O&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)
+<ul>
+<li type="circle">org.apache.edgent.oplet.window.<a href="org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window"><span class="typeNameLink">Aggregate</span></a>&lt;T,U,K&gt;</li>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Filter</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">FlatMap</span></a>&lt;I,O&gt;</li>
+<li type="circle">org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">Isolate</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Map</span></a>&lt;I,O&gt;</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Peek</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Peek</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.streamscope.oplets.<a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets"><span class="typeNameLink">StreamScope</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">SingleMetricAbstractOplet</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">CounterOp</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.metrics.oplets.<a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets"><span class="typeNameLink">RateMeter</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">PressureReliever</span></a>&lt;T,K&gt;</li>
+<li type="circle">org.apache.edgent.oplet.plumbing.<a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing"><span class="typeNameLink">UnorderedIsolate</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Sink.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Sink</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.connectors.pubsub.oplets.<a href="org/apache/edgent/connectors/pubsub/oplets/Publish.html" title="class in org.apache.edgent.connectors.pubsub.oplets"><span class="typeNameLink">Publish</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Source</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">Events</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/PeriodicSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">PeriodicSource</span></a>&lt;T&gt; (implements org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans">PeriodMXBean</a>, java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
+<ul>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierPeriodicSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">SupplierPeriodicSource</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/ProcessSource.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">ProcessSource</span></a>&lt;T&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
+<ul>
+<li type="circle">org.apache.edgent.oplet.functional.<a href="org/apache/edgent/oplet/functional/SupplierSource.html" title="class in org.apache.edgent.oplet.functional"><span class="typeNameLink">SupplierSource</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.core.<a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core"><span class="typeNameLink">Split</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.topology.spi.tester.<a href="org/apache/edgent/topology/spi/tester/AbstractTester.html" title="class in org.apache.edgent.topology.spi.tester"><span class="typeNameLink">AbstractTester</span></a> (implements org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester">Tester</a>)</li>
+<li type="circle">org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopology.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopology</span></a>&lt;X&gt; (implements org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology">Topology</a>)
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/GraphTopology.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">GraphTopology</span></a>&lt;X&gt;
+<ul>
+<li type="circle">org.apache.edgent.providers.direct.<a href="org/apache/edgent/providers/direct/DirectTopology.html" title="class in org.apache.edgent.providers.direct"><span class="typeNameLink">DirectTopology</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTopologyProvider.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTopologyProvider</span></a>&lt;T&gt; (implements org.apache.edgent.topology.<a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>)
+<ul>
+<li type="circle">org.apache.edgent.providers.direct.<a href="org/apache/edgent/providers/direct/DirectProvider.html" title="class in org.apache.edgent.providers.direct"><span class="typeNameLink">DirectProvider</span></a> (implements org.apache.edgent.execution.<a href="org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;E,J&gt;)
+<ul>
+<li type="circle">org.apache.edgent.providers.development.<a href="org/apache/edgent/providers/development/DevelopmentProvider.html" title="class in org.apache.edgent.providers.development"><span class="typeNameLink">DevelopmentProvider</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.topology.spi.<a href="org/apache/edgent/topology/spi/AbstractTStream.html" title="class in org.apache.edgent.topology.spi"><span class="typeNameLink">AbstractTStream</span></a>&lt;G,T&gt; (implements org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology">TStream</a>&lt;T&gt;)
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/ConnectorStream.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">ConnectorStream</span></a>&lt;G,T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/AbstractTWindow.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">AbstractTWindow</span></a>&lt;T,K&gt; (implements org.apache.edgent.topology.<a href="org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology">TWindow</a>&lt;T,K&gt;)
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/TWindowImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">TWindowImpl</span></a>&lt;T,K&gt;</li>
+<li type="circle">org.apache.edgent.topology.spi.graph.<a href="org/apache/edgent/topology/spi/graph/TWindowTimeImpl.html" title="class in org.apache.edgent.topology.spi.graph"><span class="typeNameLink">TWindowTimeImpl</span></a>&lt;T,K&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/AbstractVertex.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">AbstractVertex</span></a>&lt;OP,I,O&gt; (implements org.apache.edgent.graph.<a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph">Vertex</a>&lt;N,C,P&gt;)
+<ul>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.<a href="org/apache/edgent/runtime/etiao/graph/ExecutableVertex.html" title="class in org.apache.edgent.runtime.etiao.graph"><span class="typeNameLink">ExecutableVertex</span></a>&lt;N,C,P&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/Aggregations.html" title="class in org.apache.edgent.analytics.math3"><span class="typeNameLink">Aggregations</span></a></li>
+<li type="circle">org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppService.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">AppService</span></a> (implements org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services">ApplicationService</a>)</li>
+<li type="circle">org.apache.edgent.runtime.appservice.<a href="org/apache/edgent/runtime/appservice/AppServiceControl.html" title="class in org.apache.edgent.runtime.appservice"><span class="typeNameLink">AppServiceControl</span></a> (implements org.apache.edgent.topology.mbeans.<a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans">ApplicationServiceMXBean</a>)</li>
+<li type="circle">org.apache.edgent.connectors.command.<a href="org/apache/edgent/connectors/command/CommandStreams.html" title="class in org.apache.edgent.connectors.command"><span class="typeNameLink">CommandStreams</span></a></li>
+<li type="circle">org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/Controls.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">Controls</span></a></li>
+<li type="circle">org.apache.edgent.connectors.csv.<a href="org/apache/edgent/connectors/csv/Csv.html" title="class in org.apache.edgent.connectors.csv"><span class="typeNameLink">Csv</span></a></li>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Deadtime</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.graph.spi.<a href="org/apache/edgent/graph/spi/DirectEdge.html" title="class in org.apache.edgent.graph.spi"><span class="typeNameLink">DirectEdge</span></a> (implements org.apache.edgent.graph.<a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph">Edge</a>)</li>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/EdgeType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">EdgeType</span></a></li>
+<li type="circle">org.apache.edgent.runtime.etiao.mbeans.<a href="org/apache/edgent/runtime/etiao/mbeans/EtiaoJobBean.html" title="class in org.apache.edgent.runtime.etiao.mbeans"><span class="typeNameLink">EtiaoJobBean</span></a> (implements org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans">JobMXBean</a>)</li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Executable.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Executable</span></a> (implements org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services">RuntimeServices</a>)</li>
+<li type="circle">org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileStreams.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileStreams</span></a></li>
+<li type="circle">org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterCycleConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterCycleConfig</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterFlushConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterFlushConfig</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterPolicy</span></a>&lt;T&gt; (implements org.apache.edgent.connectors.file.runtime.IFileWriterPolicy&lt;T&gt;)
+<ul>
+<li type="circle">org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/CompressedFileWriterPolicy.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">CompressedFileWriterPolicy</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.connectors.file.<a href="org/apache/edgent/connectors/file/FileWriterRetentionConfig.html" title="class in org.apache.edgent.connectors.file"><span class="typeNameLink">FileWriterRetentionConfig</span></a></li>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Filters.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Filters</span></a></li>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/Functions.html" title="class in org.apache.edgent.function"><span class="typeNameLink">Functions</span></a></li>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/GraphType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">GraphType</span></a></li>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/HeartBeat.html" title="class in org.apache.edgent.connectors.iot"><span class="typeNameLink">HeartBeat</span></a></li>
+<li type="circle">org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpClients.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpClients</span></a></li>
+<li type="circle">org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpResponders.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpResponders</span></a></li>
+<li type="circle">org.apache.edgent.connectors.http.<a href="org/apache/edgent/connectors/http/HttpStreams.html" title="class in org.apache.edgent.connectors.http"><span class="typeNameLink">HttpStreams</span></a></li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/Invocation.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">Invocation</span></a>&lt;T,I,O&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/InvocationType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">InvocationType</span></a>&lt;I,O&gt;</li>
+<li type="circle">org.apache.edgent.apps.iot.<a href="org/apache/edgent/apps/iot/IotDevicePubSub.html" title="class in org.apache.edgent.apps.iot"><span class="typeNameLink">IotDevicePubSub</span></a></li>
+<li type="circle">org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpDevice.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpDevice</span></a> (implements org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>)</li>
+<li type="circle">org.apache.edgent.connectors.iotp.<a href="org/apache/edgent/connectors/iotp/IotpGateway.html" title="class in org.apache.edgent.connectors.iotp"><span class="typeNameLink">IotpGateway</span></a> (implements org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot">IotGateway</a>)</li>
+<li type="circle">org.apache.edgent.providers.iot.<a href="org/apache/edgent/providers/iot/IotProvider.html" title="class in org.apache.edgent.providers.iot"><span class="typeNameLink">IotProvider</span></a> (implements org.apache.edgent.execution.<a href="org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution">DirectSubmitter</a>&lt;E,J&gt;, org.apache.edgent.topology.<a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology">TopologyProvider</a>)</li>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/JdbcStreams.html" title="class in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">JdbcStreams</span></a></li>
+<li type="circle">org.apache.edgent.runtime.jmxcontrol.<a href="org/apache/edgent/runtime/jmxcontrol/JMXControlService.html" title="class in org.apache.edgent.runtime.jmxcontrol"><span class="typeNameLink">JMXControlService</span></a> (implements org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>)</li>
+<li type="circle">org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobEvents.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">JobEvents</span></a></li>
+<li type="circle">org.apache.edgent.apps.runtime.<a href="org/apache/edgent/apps/runtime/JobMonitorApp.html" title="class in org.apache.edgent.apps.runtime"><span class="typeNameLink">JobMonitorApp</span></a></li>
+<li type="circle">org.apache.edgent.runtime.jobregistry.<a href="org/apache/edgent/runtime/jobregistry/JobRegistry.html" title="class in org.apache.edgent.runtime.jobregistry"><span class="typeNameLink">JobRegistry</span></a> (implements org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services">JobRegistryService</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonAnalytics.html" title="class in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonAnalytics</span></a></li>
+<li type="circle">org.apache.edgent.runtime.jsoncontrol.<a href="org/apache/edgent/runtime/jsoncontrol/JsonControlService.html" title="class in org.apache.edgent.runtime.jsoncontrol"><span class="typeNameLink">JsonControlService</span></a> (implements org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services">ControlService</a>)</li>
+<li type="circle">org.apache.edgent.topology.json.<a href="org/apache/edgent/topology/json/JsonFunctions.html" title="class in org.apache.edgent.topology.json"><span class="typeNameLink">JsonFunctions</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/JsonStorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">JsonStorelessStatistic</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregator</a>)</li>
+<li type="circle">org.apache.edgent.connectors.wsclient.javax.websocket.<a href="org/apache/edgent/connectors/wsclient/javax/websocket/Jsr356WebSocketClient.html" title="class in org.apache.edgent.connectors.wsclient.javax.websocket"><span class="typeNameLink">Jsr356WebSocketClient</span></a> (implements org.apache.edgent.connectors.wsclient.<a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient">WebSocketClient</a>)</li>
+<li type="circle">org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer</span></a></li>
+<li type="circle">org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaProducer.html" title="class in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaProducer</span></a></li>
+<li type="circle">org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">LoadBalancedSplitter</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricObjectNameFactory.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">MetricObjectNameFactory</span></a> (implements com.codahale.metrics.ObjectNameFactory)</li>
+<li type="circle">org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/Metrics.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">Metrics</span></a></li>
+<li type="circle">org.apache.edgent.metrics.<a href="org/apache/edgent/metrics/MetricsSetup.html" title="class in org.apache.edgent.metrics"><span class="typeNameLink">MetricsSetup</span></a></li>
+<li type="circle">org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttConfig.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttConfig</span></a></li>
+<li type="circle">org.apache.edgent.connectors.mqtt.iot.<a href="org/apache/edgent/connectors/mqtt/iot/MqttDevice.html" title="class in org.apache.edgent.connectors.mqtt.iot"><span class="typeNameLink">MqttDevice</span></a> (implements org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot">IotDevice</a>)</li>
+<li type="circle">org.apache.edgent.connectors.mqtt.<a href="org/apache/edgent/connectors/mqtt/MqttStreams.html" title="class in org.apache.edgent.connectors.mqtt"><span class="typeNameLink">MqttStreams</span></a></li>
+<li type="circle">org.apache.edgent.window.<a href="org/apache/edgent/window/PartitionedState.html" title="class in org.apache.edgent.window"><span class="typeNameLink">PartitionedState</span></a>&lt;K,S&gt;</li>
+<li type="circle">org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/PlumbingStreams.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">PlumbingStreams</span></a></li>
+<li type="circle">org.apache.edgent.window.<a href="org/apache/edgent/window/Policies.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Policies</span></a></li>
+<li type="circle">org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/ProviderPubSub.html" title="class in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">ProviderPubSub</span></a> (implements org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service">PublishSubscribeService</a>)</li>
+<li type="circle">org.apache.edgent.connectors.pubsub.<a href="org/apache/edgent/connectors/pubsub/PublishSubscribe.html" title="class in org.apache.edgent.connectors.pubsub"><span class="typeNameLink">PublishSubscribe</span></a></li>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)</li>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Ranges.html" title="class in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Ranges</span></a></li>
+<li type="circle">org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ServiceContainer.html" title="class in org.apache.edgent.execution.services"><span class="typeNameLink">ServiceContainer</span></a></li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">SettableForwarder</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/StorelessStatistic.html" title="class in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">StorelessStatistic</span></a> (implements org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregator</a>)</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.BufferManager</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.Sample.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.Sample</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScope.TriggerManager</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeBean</span></a> (implements org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeMXBean</a>)</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistry.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeRegistry</span></a></li>
+<li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeRegistryBean.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeRegistryBean</span></a> (implements org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans">StreamScopeRegistryMXBean</a>)</li>
+<li type="circle">org.apache.edgent.streamscope.<a href="org/apache/edgent/streamscope/StreamScopeSetup.html" title="class in org.apache.edgent.streamscope"><span class="typeNameLink">StreamScopeSetup</span></a></li>
+<li type="circle">org.apache.edgent.runtime.etiao.<a href="org/apache/edgent/runtime/etiao/ThreadFactoryTracker.html" title="class in org.apache.edgent.runtime.etiao"><span class="typeNameLink">ThreadFactoryTracker</span></a> (implements java.util.concurrent.<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadFactory.html?is-external=true" title="class or interface in java.util.concurrent">ThreadFactory</a>)</li>
+<li type="circle">org.apache.edgent.topology.plumbing.<a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing"><span class="typeNameLink">Valve</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.edgent.runtime.etiao.graph.model.<a href="org/apache/edgent/runtime/etiao/graph/model/VertexType.html" title="class in org.apache.edgent.runtime.etiao.graph.model"><span class="typeNameLink">VertexType</span></a>&lt;I,O&gt;</li>
+<li type="circle">org.apache.edgent.window.<a href="org/apache/edgent/window/Windows.html" title="class in org.apache.edgent.window"><span class="typeNameLink">Windows</span></a></li>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function"><span class="typeNameLink">WrappedFunction</span></a>&lt;F&gt; (implements java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.edgent.topology.spi.functions.<a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions"><span class="typeNameLink">EndlessSupplier</span></a>&lt;T&gt; (implements org.apache.edgent.function.<a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;T&gt;)</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<ul>
+<li type="circle">org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/ApplicationService.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">ApplicationService</span></a></li>
+<li type="circle">org.apache.edgent.topology.mbeans.<a href="org/apache/edgent/topology/mbeans/ApplicationServiceMXBean.html" title="interface in org.apache.edgent.topology.mbeans"><span class="typeNameLink">ApplicationServiceMXBean</span></a></li>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">AutoCloseable</span></a>
+<ul>
+<li type="circle">org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/Oplet.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">Oplet</span></a>&lt;I,O&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/CheckedFunction.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">CheckedFunction</span></a>&lt;T,R&gt;</li>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/CheckedSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">CheckedSupplier</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/Commands.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Commands</span></a></li>
+<li type="circle">org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Condition.html" title="interface in org.apache.edgent.topology.tester"><span class="typeNameLink">Condition</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.execution.<a href="org/apache/edgent/execution/Configs.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Configs</span></a></li>
+<li type="circle">org.apache.edgent.graph.<a href="org/apache/edgent/graph/Connector.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Connector</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/ControlService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">ControlService</span></a></li>
+<li type="circle">org.apache.edgent.graph.<a href="org/apache/edgent/graph/Edge.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Edge</span></a></li>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/Events.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">Events</span></a></li>
+<li type="circle">org.apache.edgent.graph.<a href="org/apache/edgent/graph/Graph.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Graph</span></a></li>
+<li type="circle">org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Job</span></a></li>
+<li type="circle">org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/JobContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">JobContext</span></a></li>
+<li type="circle">org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/JobMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="typeNameLink">JobMXBean</span></a></li>
+<li type="circle">org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">JobRegistryService</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonUnivariateAggregator</span></a></li>
+<li type="circle">org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer.ConsumerRecord</span></a>&lt;K,V&gt;
+<ul>
+<li type="circle">org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.ByteConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer.ByteConsumerRecord</span></a></li>
+<li type="circle">org.apache.edgent.connectors.kafka.<a href="org/apache/edgent/connectors/kafka/KafkaConsumer.StringConsumerRecord.html" title="interface in org.apache.edgent.connectors.kafka"><span class="typeNameLink">KafkaConsumer.StringConsumerRecord</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OutputPortContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">OutputPortContext</span></a></li>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/ParameterSetter.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">ParameterSetter</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.execution.mbeans.<a href="org/apache/edgent/execution/mbeans/PeriodMXBean.html" title="interface in org.apache.edgent.execution.mbeans"><span class="typeNameLink">PeriodMXBean</span></a></li>
+<li type="circle">org.apache.edgent.connectors.pubsub.service.<a href="org/apache/edgent/connectors/pubsub/service/PublishSubscribeService.html" title="interface in org.apache.edgent.connectors.pubsub.service"><span class="typeNameLink">PublishSubscribeService</span></a></li>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/QoS.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">QoS</span></a></li>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/ResultsHandler.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">ResultsHandler</span></a>&lt;T,R&gt;</li>
+<li type="circle">org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/RuntimeServices.html" title="interface in org.apache.edgent.execution.services"><span class="typeNameLink">RuntimeServices</span></a>
+<ul>
+<li type="circle">org.apache.edgent.oplet.<a href="org/apache/edgent/oplet/OpletContext.html" title="interface in org.apache.edgent.oplet"><span class="typeNameLink">OpletContext</span></a>&lt;I,O&gt;</li>
+</ul>
+</li>
+<li type="circle">java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><span class="typeNameLink">Serializable</span></a>
+<ul>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/BiConsumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">BiConsumer</span></a>&lt;T,U&gt;</li>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">BiFunction</span></a>&lt;T,U,R&gt;</li>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Consumer</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Function</span></a>&lt;T,R&gt;
+<ul>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">UnaryOperator</span></a>&lt;T&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonUnivariateAggregate</span></a></li>
+<li type="circle">org.apache.edgent.window.<a href="org/apache/edgent/window/Partition.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Partition</span></a>&lt;T,K,L&gt;</li>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Predicate</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">Supplier</span></a>&lt;T&gt;
+<ul>
+<li type="circle">org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json"><span class="typeNameLink">JsonUnivariateAggregate</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregate</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">ToIntFunction</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/UnaryOperator.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">UnaryOperator</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregate</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.connectors.serial.<a href="org/apache/edgent/connectors/serial/SerialPort.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">SerialPort</span></a></li>
+<li type="circle">org.apache.edgent.connectors.jdbc.<a href="org/apache/edgent/connectors/jdbc/StatementSupplier.html" title="interface in org.apache.edgent.connectors.jdbc"><span class="typeNameLink">StatementSupplier</span></a></li>
+<li type="circle">org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="typeNameLink">StreamScopeMXBean</span></a></li>
+<li type="circle">org.apache.edgent.streamscope.mbeans.<a href="org/apache/edgent/streamscope/mbeans/StreamScopeRegistryMXBean.html" title="interface in org.apache.edgent.streamscope.mbeans"><span class="typeNameLink">StreamScopeRegistryMXBean</span></a></li>
+<li type="circle">org.apache.edgent.execution.<a href="org/apache/edgent/execution/Submitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">Submitter</span></a>&lt;E,J&gt;
+<ul>
+<li type="circle">org.apache.edgent.execution.<a href="org/apache/edgent/execution/DirectSubmitter.html" title="interface in org.apache.edgent.execution"><span class="typeNameLink">DirectSubmitter</span></a>&lt;E,J&gt;</li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.function.<a href="org/apache/edgent/function/ToDoubleFunction.html" title="interface in org.apache.edgent.function"><span class="typeNameLink">ToDoubleFunction</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.topology.services.<a href="org/apache/edgent/topology/services/TopologyBuilder.html" title="interface in org.apache.edgent.topology.services"><span class="typeNameLink">TopologyBuilder</span></a></li>
+<li type="circle">org.apache.edgent.topology.<a href="org/apache/edgent/topology/TopologyElement.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TopologyElement</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotDevice.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">IotDevice</span></a>
+<ul>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">IotGateway</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.connectors.iot.<a href="org/apache/edgent/connectors/iot/IotGateway.html" title="interface in org.apache.edgent.connectors.iot"><span class="typeNameLink">IotGateway</span></a></li>
+<li type="circle">org.apache.edgent.connectors.serial.<a href="org/apache/edgent/connectors/serial/SerialDevice.html" title="interface in org.apache.edgent.connectors.serial"><span class="typeNameLink">SerialDevice</span></a></li>
+<li type="circle">org.apache.edgent.topology.tester.<a href="org/apache/edgent/topology/tester/Tester.html" title="interface in org.apache.edgent.topology.tester"><span class="typeNameLink">Tester</span></a></li>
+<li type="circle">org.apache.edgent.topology.<a href="org/apache/edgent/topology/Topology.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">Topology</span></a></li>
+<li type="circle">org.apache.edgent.topology.<a href="org/apache/edgent/topology/TSink.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TSink</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.topology.<a href="org/apache/edgent/topology/TStream.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TStream</span></a>&lt;T&gt;</li>
+<li type="circle">org.apache.edgent.topology.<a href="org/apache/edgent/topology/TWindow.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TWindow</span></a>&lt;T,K&gt;</li>
+<li type="circle">org.apache.edgent.connectors.wsclient.<a href="org/apache/edgent/connectors/wsclient/WebSocketClient.html" title="interface in org.apache.edgent.connectors.wsclient"><span class="typeNameLink">WebSocketClient</span></a></li>
+</ul>
+</li>
+<li type="circle">org.apache.edgent.topology.<a href="org/apache/edgent/topology/TopologyProvider.html" title="interface in org.apache.edgent.topology"><span class="typeNameLink">TopologyProvider</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregator.html" title="interface in org.apache.edgent.analytics.math3"><span class="typeNameLink">UnivariateAggregator</span></a></li>
+<li type="circle">org.apache.edgent.graph.<a href="org/apache/edgent/graph/Vertex.html" title="interface in org.apache.edgent.graph"><span class="typeNameLink">Vertex</span></a>&lt;N,C,P&gt;</li>
+<li type="circle">org.apache.edgent.window.<a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window"><span class="typeNameLink">Window</span></a>&lt;T,K,L&gt;</li>
+</ul>
+<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
+<ul>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
+<ul>
+<li type="circle">org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.State.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.State</span></a></li>
+<li type="circle">org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.Health.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.Health</span></a></li>
+<li type="circle">org.apache.edgent.execution.<a href="org/apache/edgent/execution/Job.Action.html" title="enum in org.apache.edgent.execution"><span class="typeNameLink">Job.Action</span></a></li>
+<li type="circle">org.apache.edgent.execution.services.<a href="org/apache/edgent/execution/services/JobRegistryService.EventType.html" title="enum in org.apache.edgent.execution.services"><span class="typeNameLink">JobRegistryService.EventType</span></a></li>
+<li type="circle">org.apache.edgent.analytics.sensors.<a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors"><span class="typeNameLink">Range.BoundType</span></a></li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic2</span></a> (implements org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Statistic.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Statistic</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression2.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression2</span></a> (implements org.apache.edgent.analytics.math3.<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>)</li>
+<li type="circle">org.apache.edgent.analytics.math3.stat.<a href="org/apache/edgent/analytics/math3/stat/Regression.html" title="enum in org.apache.edgent.analytics.math3.stat"><span class="typeNameLink">Regression</span></a> (implements org.apache.edgent.analytics.math3.json.<a href="org/apache/edgent/analytics/math3/json/JsonUnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3.json">JsonUnivariateAggregate</a>)</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li class="navBarCell1Rev">Tree</li>
+<li><a href="deprecated-list.html">Deprecated</a></li>
+<li><a href="index-all.html">Index</a></li>
+<li><a href="help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
+<li><a href="overview-tree.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/package-list b/site/javadoc/r1.2.0/package-list
new file mode 100644
index 0000000..dfc181e
--- /dev/null
+++ b/site/javadoc/r1.2.0/package-list
@@ -0,0 +1,61 @@
+org.apache.edgent.analytics.math3
+org.apache.edgent.analytics.math3.json
+org.apache.edgent.analytics.math3.stat
+org.apache.edgent.analytics.sensors
+org.apache.edgent.apps.iot
+org.apache.edgent.apps.runtime
+org.apache.edgent.connectors.command
+org.apache.edgent.connectors.csv
+org.apache.edgent.connectors.file
+org.apache.edgent.connectors.http
+org.apache.edgent.connectors.iot
+org.apache.edgent.connectors.iotp
+org.apache.edgent.connectors.jdbc
+org.apache.edgent.connectors.kafka
+org.apache.edgent.connectors.mqtt
+org.apache.edgent.connectors.mqtt.iot
+org.apache.edgent.connectors.pubsub
+org.apache.edgent.connectors.pubsub.oplets
+org.apache.edgent.connectors.pubsub.service
+org.apache.edgent.connectors.serial
+org.apache.edgent.connectors.wsclient
+org.apache.edgent.connectors.wsclient.javax.websocket
+org.apache.edgent.execution
+org.apache.edgent.execution.mbeans
+org.apache.edgent.execution.services
+org.apache.edgent.function
+org.apache.edgent.graph
+org.apache.edgent.graph.spi
+org.apache.edgent.graph.spi.execution
+org.apache.edgent.metrics
+org.apache.edgent.metrics.oplets
+org.apache.edgent.oplet
+org.apache.edgent.oplet.core
+org.apache.edgent.oplet.functional
+org.apache.edgent.oplet.plumbing
+org.apache.edgent.oplet.window
+org.apache.edgent.providers.development
+org.apache.edgent.providers.direct
+org.apache.edgent.providers.iot
+org.apache.edgent.runtime.appservice
+org.apache.edgent.runtime.etiao
+org.apache.edgent.runtime.etiao.graph
+org.apache.edgent.runtime.etiao.graph.model
+org.apache.edgent.runtime.etiao.mbeans
+org.apache.edgent.runtime.jmxcontrol
+org.apache.edgent.runtime.jobregistry
+org.apache.edgent.runtime.jsoncontrol
+org.apache.edgent.streamscope
+org.apache.edgent.streamscope.mbeans
+org.apache.edgent.streamscope.oplets
+org.apache.edgent.topology
+org.apache.edgent.topology.json
+org.apache.edgent.topology.mbeans
+org.apache.edgent.topology.plumbing
+org.apache.edgent.topology.services
+org.apache.edgent.topology.spi
+org.apache.edgent.topology.spi.functions
+org.apache.edgent.topology.spi.graph
+org.apache.edgent.topology.spi.tester
+org.apache.edgent.topology.tester
+org.apache.edgent.window
diff --git a/site/javadoc/r1.2.0/script.js b/site/javadoc/r1.2.0/script.js
new file mode 100644
index 0000000..b346356
--- /dev/null
+++ b/site/javadoc/r1.2.0/script.js
@@ -0,0 +1,30 @@
+function show(type)
+{
+    count = 0;
+    for (var key in methods) {
+        var row = document.getElementById(key);
+        if ((methods[key] &  type) != 0) {
+            row.style.display = '';
+            row.className = (count++ % 2) ? rowColor : altColor;
+        }
+        else
+            row.style.display = 'none';
+    }
+    updateTabs(type);
+}
+
+function updateTabs(type)
+{
+    for (var value in tabs) {
+        var sNode = document.getElementById(tabs[value][0]);
+        var spanNode = sNode.firstChild;
+        if (value == type) {
+            sNode.className = activeTableTab;
+            spanNode.innerHTML = tabs[value][1];
+        }
+        else {
+            sNode.className = tableTab;
+            spanNode.innerHTML = "<a href=\"javascript:show("+ value + ");\">" + tabs[value][1] + "</a>";
+        }
+    }
+}
diff --git a/site/javadoc/r1.2.0/serialized-form.html b/site/javadoc/r1.2.0/serialized-form.html
new file mode 100644
index 0000000..8db689a
--- /dev/null
+++ b/site/javadoc/r1.2.0/serialized-form.html
@@ -0,0 +1,735 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_112) on Mon Dec 18 11:25:22 EST 2017 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Serialized Form (Apache Edgent (incubating) v1.2.0 API)</title>
+<meta name="date" content="2017-12-18">
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
+<script type="text/javascript" src="script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Serialized Form (Apache Edgent (incubating) v1.2.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-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?serialized-form.html" target="_top">Frames</a></li>
+<li><a href="serialized-form.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h1 title="Serialized Form" class="title">Serialized Form</h1>
+</div>
+<div class="serializedFormContainer">
+<ul class="blockList">
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.analytics.math3</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.MvResultMap">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/analytics/math3/MvResultMap.html" title="class in org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3.MvResultMap</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">ResultMap</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.math3.ResultMap">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/analytics/math3/ResultMap.html" title="class in org.apache.edgent.analytics.math3">org.apache.edgent.analytics.math3.ResultMap</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="org/apache/edgent/analytics/math3/UnivariateAggregate.html" title="interface in org.apache.edgent.analytics.math3">UnivariateAggregate</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.analytics.math3.json</h2>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.analytics.sensors</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.analytics.sensors.Deadtime">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/analytics/sensors/Deadtime.html" title="class in org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors.Deadtime</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>deadtimePeriodMillis</h4>
+<pre>long deadtimePeriodMillis</pre>
+</li>
+<li class="blockList">
+<h4>lastTrueTimeMillis</h4>
+<pre>long lastTrueTimeMillis</pre>
+</li>
+<li class="blockListLast">
+<h4>nextTrueTimeMillis</h4>
+<pre>long nextTrueTimeMillis</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.analytics.sensors.Range">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/analytics/sensors/Range.html" title="class in org.apache.edgent.analytics.sensors">org.apache.edgent.analytics.sensors.Range</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>lowerEndpoint</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">T</a>&gt; lowerEndpoint</pre>
+</li>
+<li class="blockList">
+<h4>upperEndpoint</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">T</a>&gt; upperEndpoint</pre>
+</li>
+<li class="blockList">
+<h4>lbt</h4>
+<pre><a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a> lbt</pre>
+</li>
+<li class="blockListLast">
+<h4>ubt</h4>
+<pre><a href="org/apache/edgent/analytics/sensors/Range.BoundType.html" title="enum in org.apache.edgent.analytics.sensors">Range.BoundType</a> ubt</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.function</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.function.WrappedFunction">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">org.apache.edgent.function.WrappedFunction</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>f</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> f</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.metrics.oplets</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets.CounterOp">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="class in org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets.CounterOp</a> extends <a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;<a href="org/apache/edgent/metrics/oplets/CounterOp.html" title="type parameter in CounterOp">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-6679532037136159885L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>counter</h4>
+<pre>com.codahale.metrics.Counter counter</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets.RateMeter">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="class in org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets.RateMeter</a> extends <a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">SingleMetricAbstractOplet</a>&lt;<a href="org/apache/edgent/metrics/oplets/RateMeter.html" title="type parameter in RateMeter">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>3328912985808062552L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>meter</h4>
+<pre>com.codahale.metrics.Meter meter</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="class in org.apache.edgent.metrics.oplets">org.apache.edgent.metrics.oplets.SingleMetricAbstractOplet</a> extends <a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;<a href="org/apache/edgent/metrics/oplets/SingleMetricAbstractOplet.html" title="type parameter in SingleMetricAbstractOplet">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-6679532037136159885L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>shortMetricName</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> shortMetricName</pre>
+</li>
+<li class="blockListLast">
+<h4>metricName</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> metricName</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.oplet.core</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet.core.FanOut">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/core/FanOut.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.FanOut</a> extends <a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>,<a href="org/apache/edgent/oplet/core/FanOut.html" title="type parameter in FanOut">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>targets</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; targets</pre>
+</li>
+<li class="blockListLast">
+<h4>n</h4>
+<pre>int n</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core.Peek">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Peek</a> extends <a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="org/apache/edgent/oplet/core/Peek.html" title="type parameter in Peek">T</a>,<a href="org/apache/edgent/oplet/core/Peek.html" title="type parameter in Peek">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core.Pipe">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Pipe</a> extends <a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">I</a>,<a href="org/apache/edgent/oplet/core/Pipe.html" title="type parameter in Pipe">O</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>destination</h4>
+<pre><a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="org/apache/edgent/function/Consumer.html" title="type parameter in Consumer">T</a>&gt; destination</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.core.Split">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/core/Split.html" title="class in org.apache.edgent.oplet.core">org.apache.edgent.oplet.core.Split</a> extends <a href="org/apache/edgent/oplet/core/AbstractOplet.html" title="class in org.apache.edgent.oplet.core">AbstractOplet</a>&lt;<a href="org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>,<a href="org/apache/edgent/oplet/core/Split.html" title="type parameter in Split">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>splitter</h4>
+<pre><a href="org/apache/edgent/function/ToIntFunction.html" title="interface in org.apache.edgent.function">ToIntFunction</a>&lt;<a href="org/apache/edgent/function/ToIntFunction.html" title="type parameter in ToIntFunction">T</a>&gt; splitter</pre>
+</li>
+<li class="blockList">
+<h4>destinations</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</a>&gt; destinations</pre>
+</li>
+<li class="blockListLast">
+<h4>n</h4>
+<pre>int n</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.oplet.functional</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet.functional.Events">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/functional/Events.html" title="class in org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional.Events</a> extends <a href="org/apache/edgent/oplet/core/Source.html" title="class in org.apache.edgent.oplet.core">Source</a>&lt;<a href="org/apache/edgent/oplet/functional/Events.html" title="type parameter in Events">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>eventSetup</h4>
+<pre><a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="org/apache/edgent/function/Consumer.html" title="type parameter in Consumer">T</a>&gt; eventSetup</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional.Filter">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/functional/Filter.html" title="class in org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional.Filter</a> extends <a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="org/apache/edgent/oplet/functional/Filter.html" title="type parameter in Filter">T</a>,<a href="org/apache/edgent/oplet/functional/Filter.html" title="type parameter in Filter">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>filter</h4>
+<pre><a href="org/apache/edgent/function/Predicate.html" title="interface in org.apache.edgent.function">Predicate</a>&lt;<a href="org/apache/edgent/function/Predicate.html" title="type parameter in Predicate">T</a>&gt; filter</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional.FlatMap">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/functional/FlatMap.html" title="class in org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional.FlatMap</a> extends <a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">I</a>,<a href="org/apache/edgent/oplet/functional/FlatMap.html" title="type parameter in FlatMap">O</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>function</h4>
+<pre><a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="org/apache/edgent/function/Function.html" title="type parameter in Function">T</a>,<a href="org/apache/edgent/function/Function.html" title="type parameter in Function">R</a>&gt; function</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional.Map">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/functional/Map.html" title="class in org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional.Map</a> extends <a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">I</a>,<a href="org/apache/edgent/oplet/functional/Map.html" title="type parameter in Map">O</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>function</h4>
+<pre><a href="org/apache/edgent/function/Function.html" title="interface in org.apache.edgent.function">Function</a>&lt;<a href="org/apache/edgent/function/Function.html" title="type parameter in Function">T</a>,<a href="org/apache/edgent/function/Function.html" title="type parameter in Function">R</a>&gt; function</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.functional.Peek">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">org.apache.edgent.oplet.functional.Peek</a> extends <a href="org/apache/edgent/oplet/core/Peek.html" title="class in org.apache.edgent.oplet.core">Peek</a>&lt;<a href="org/apache/edgent/oplet/functional/Peek.html" title="type parameter in Peek">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>peeker</h4>
+<pre><a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="org/apache/edgent/function/Consumer.html" title="type parameter in Consumer">T</a>&gt; peeker</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.oplet.plumbing</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing.Isolate">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="class in org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing.Isolate</a> extends <a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>,<a href="org/apache/edgent/oplet/plumbing/Isolate.html" title="type parameter in Isolate">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>thread</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a> thread</pre>
+</li>
+<li class="blockListLast">
+<h4>tuples</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">LinkedBlockingQueue</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedBlockingQueue.html?is-external=true" title="class or interface in java.util.concurrent">E</a>&gt; tuples</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing.PressureReliever">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="class in org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing.PressureReliever</a> extends <a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>,<a href="org/apache/edgent/oplet/plumbing/PressureReliever.html" title="type parameter in PressureReliever">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>executor</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> executor</pre>
+</li>
+<li class="blockListLast">
+<h4>window</h4>
+<pre><a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">L</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;&gt; window</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.oplet.plumbing.UnorderedIsolate">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="class in org.apache.edgent.oplet.plumbing">org.apache.edgent.oplet.plumbing.UnorderedIsolate</a> extends <a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>,<a href="org/apache/edgent/oplet/plumbing/UnorderedIsolate.html" title="type parameter in UnorderedIsolate">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>executor</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a> executor</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.oplet.window</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.oplet.window.Aggregate">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/oplet/window/Aggregate.html" title="class in org.apache.edgent.oplet.window">org.apache.edgent.oplet.window.Aggregate</a> extends <a href="org/apache/edgent/oplet/core/Pipe.html" title="class in org.apache.edgent.oplet.core">Pipe</a>&lt;<a href="org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">T</a>,<a href="org/apache/edgent/oplet/window/Aggregate.html" title="type parameter in Aggregate">U</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>window</h4>
+<pre><a href="org/apache/edgent/window/Window.html" title="interface in org.apache.edgent.window">Window</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">K</a>,<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">L</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="org/apache/edgent/window/Window.html" title="type parameter in Window">T</a>&gt;&gt; window</pre>
+</li>
+<li class="blockListLast">
+<h4>aggregator</h4>
+<pre><a href="org/apache/edgent/function/BiFunction.html" title="interface in org.apache.edgent.function">BiFunction</a>&lt;<a href="org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">T</a>,<a href="org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">U</a>,<a href="org/apache/edgent/function/BiFunction.html" title="type parameter in BiFunction">R</a>&gt; aggregator</pre>
+<div class="block">The aggregator provided by the user.</div>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.runtime.etiao</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.runtime.etiao.SettableForwarder">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/runtime/etiao/SettableForwarder.html" title="class in org.apache.edgent.runtime.etiao">org.apache.edgent.runtime.etiao.SettableForwarder</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>destination</h4>
+<pre><a href="org/apache/edgent/function/Consumer.html" title="interface in org.apache.edgent.function">Consumer</a>&lt;<a href="org/apache/edgent/function/Consumer.html" title="type parameter in Consumer">T</a>&gt; destination</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.streamscope</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.streamscope.StreamScope">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/streamscope/StreamScope.html" title="class in org.apache.edgent.streamscope">org.apache.edgent.streamscope.StreamScope</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>buffer</h4>
+<pre><a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="class in org.apache.edgent.streamscope">StreamScope.BufferManager</a>&lt;<a href="org/apache/edgent/streamscope/StreamScope.BufferManager.html" title="type parameter in StreamScope.BufferManager">T</a>&gt; buffer</pre>
+</li>
+<li class="blockList">
+<h4>trigger</h4>
+<pre><a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="class in org.apache.edgent.streamscope">StreamScope.TriggerManager</a>&lt;<a href="org/apache/edgent/streamscope/StreamScope.TriggerManager.html" title="type parameter in StreamScope.TriggerManager">T</a>&gt; trigger</pre>
+</li>
+<li class="blockListLast">
+<h4>isEnabled</h4>
+<pre>boolean isEnabled</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.streamscope.oplets</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.streamscope.oplets.StreamScope">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="class in org.apache.edgent.streamscope.oplets">org.apache.edgent.streamscope.oplets.StreamScope</a> extends <a href="org/apache/edgent/oplet/functional/Peek.html" title="class in org.apache.edgent.oplet.functional">Peek</a>&lt;<a href="org/apache/edgent/streamscope/oplets/StreamScope.html" title="type parameter in StreamScope">T</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.topology.plumbing</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.topology.plumbing.LoadBalancedSplitter">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/topology/plumbing/LoadBalancedSplitter.html" title="class in org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing.LoadBalancedSplitter</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>gate</h4>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Semaphore.html?is-external=true" title="class or interface in java.util.concurrent">Semaphore</a> gate</pre>
+</li>
+<li class="blockListLast">
+<h4>chBusy</h4>
+<pre>boolean[] chBusy</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a name="org.apache.edgent.topology.plumbing.Valve">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/topology/plumbing/Valve.html" title="class in org.apache.edgent.topology.plumbing">org.apache.edgent.topology.plumbing.Valve</a> extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.topology.spi.functions</h2>
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.edgent.topology.spi.functions.EndlessSupplier">
+<!--   -->
+</a>
+<h3>Class <a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="class in org.apache.edgent.topology.spi.functions">org.apache.edgent.topology.spi.functions.EndlessSupplier</a> extends <a href="org/apache/edgent/function/WrappedFunction.html" title="class in org.apache.edgent.function">WrappedFunction</a>&lt;<a href="org/apache/edgent/function/Supplier.html" title="interface in org.apache.edgent.function">Supplier</a>&lt;<a href="org/apache/edgent/topology/spi/functions/EndlessSupplier.html" title="type parameter in EndlessSupplier">T</a>&gt;&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1L</dd>
+</dl>
+</li>
+</ul>
+</li>
+<li class="blockList">
+<h2 title="Package">Package&nbsp;org.apache.edgent.window</h2>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="overview-summary.html">Overview</a></li>
+<li>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-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?serialized-form.html" target="_top">Frames</a></li>
+<li><a href="serialized-form.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/site/javadoc/r1.2.0/stylesheet.css b/site/javadoc/r1.2.0/stylesheet.css
new file mode 100644
index 0000000..98055b2
--- /dev/null
+++ b/site/javadoc/r1.2.0/stylesheet.css
@@ -0,0 +1,574 @@
+/* Javadoc style sheet */
+/*
+Overall document style
+*/
+
+@import url('resources/fonts/dejavu.css');
+
+body {
+    background-color:#ffffff;
+    color:#353833;
+    font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+    font-size:14px;
+    margin:0;
+}
+a:link, a:visited {
+    text-decoration:none;
+    color:#4A6782;
+}
+a:hover, a:focus {
+    text-decoration:none;
+    color:#bb7a2a;
+}
+a:active {
+    text-decoration:none;
+    color:#4A6782;
+}
+a[name] {
+    color:#353833;
+}
+a[name]:hover {
+    text-decoration:none;
+    color:#353833;
+}
+pre {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+}
+h1 {
+    font-size:20px;
+}
+h2 {
+    font-size:18px;
+}
+h3 {
+    font-size:16px;
+    font-style:italic;
+}
+h4 {
+    font-size:13px;
+}
+h5 {
+    font-size:12px;
+}
+h6 {
+    font-size:11px;
+}
+ul {
+    list-style-type:disc;
+}
+code, tt {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    padding-top:4px;
+    margin-top:8px;
+    line-height:1.4em;
+}
+dt code {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    padding-top:4px;
+}
+table tr td dt code {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    vertical-align:top;
+    padding-top:4px;
+}
+sup {
+    font-size:8px;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+    clear:both;
+    height:0px;
+    overflow:hidden;
+}
+.aboutLanguage {
+    float:right;
+    padding:0px 21px;
+    font-size:11px;
+    z-index:200;
+    margin-top:-9px;
+}
+.legalCopy {
+    margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+    color:#FFFFFF;
+    text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+    color:#bb7a2a;
+}
+.tab {
+    background-color:#0066FF;
+    color:#ffffff;
+    padding:8px;
+    width:5em;
+    font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    padding:.8em .5em .4em .8em;
+    height:auto;/*height:1.8em;*/
+    font-size:11px;
+    margin:0;
+}
+.topNav {
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+    font-size:12px; 
+}
+.bottomNav {
+    margin-top:10px;
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+    font-size:12px;
+}
+.subNav {
+    background-color:#dee3e9;
+    float:left;
+    width:100%;
+    overflow:hidden;
+    font-size:12px;
+}
+.subNav div {
+    clear:left;
+    float:left;
+    padding:0 0 5px 6px;
+    text-transform:uppercase;
+}
+ul.navList, ul.subNavList {
+    float:left;
+    margin:0 25px 0 0;
+    padding:0;
+}
+ul.navList li{
+    list-style:none;
+    float:left;
+    padding: 5px 6px;
+    text-transform:uppercase;
+}
+ul.subNavList li{
+    list-style:none;
+    float:left;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
+    color:#FFFFFF;
+    text-decoration:none;
+    text-transform:uppercase;
+}
+.topNav a:hover, .bottomNav a:hover {
+    text-decoration:none;
+    color:#bb7a2a;
+    text-transform:uppercase;
+}
+.navBarCell1Rev {
+    background-color:#F8981D;
+    color:#253441;
+    margin: auto 5px;
+}
+.skipNav {
+    position:absolute;
+    top:auto;
+    left:-9999px;
+    overflow:hidden;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+    clear:both;
+    margin:0 20px;
+    padding:5px 0 0 0;
+}
+.indexHeader {
+    margin:10px;
+    position:relative;
+}
+.indexHeader span{
+    margin-right:15px;
+}
+.indexHeader h1 {
+    font-size:13px;
+}
+.title {
+    color:#2c4557;
+    margin:10px 0;
+}
+.subTitle {
+    margin:5px 0 0 0;
+}
+.header ul {
+    margin:0 0 15px 0;
+    padding:0;
+}
+.footer ul {
+    margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+    list-style:none;
+    font-size:13px;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+    background-color:#dee3e9;
+    border:1px solid #d0d9e0;
+    margin:0 0 6px -8px;
+    padding:7px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+    background-color:#dee3e9;
+    border:1px solid #d0d9e0;
+    margin:0 0 6px -8px;
+    padding:7px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+    padding:0;
+    margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+    padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
+    clear:both;
+    padding:10px 20px;
+    position:relative;
+}
+.indexContainer {
+    margin:10px;
+    position:relative;
+    font-size:12px;
+}
+.indexContainer h2 {
+    font-size:13px;
+    padding:0 0 3px 0;
+}
+.indexContainer ul {
+    margin:0;
+    padding:0;
+}
+.indexContainer ul li {
+    list-style:none;
+    padding-top:2px;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
+    font-size:12px;
+    font-weight:bold;
+    margin:10px 0 0 0;
+    color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
+    margin:5px 0 10px 0px;
+    font-size:14px;
+    font-family:'DejaVu Sans Mono',monospace;
+}
+.serializedFormContainer dl.nameValue dt {
+    margin-left:1px;
+    font-size:1.1em;
+    display:inline;
+    font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+    margin:0 0 0 1px;
+    font-size:1.1em;
+    display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+    display:inline;
+    font-size:0.9em;
+}
+ul.inheritance {
+    margin:0;
+    padding:0;
+}
+ul.inheritance li {
+    display:inline;
+    list-style:none;
+}
+ul.inheritance li ul.inheritance {
+    margin-left:15px;
+    padding-left:15px;
+    padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+    margin:10px 0 10px 0;
+    padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+    list-style:none;
+    margin-bottom:15px;
+    line-height:1.4;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
+    padding:0px 20px 5px 10px;
+    border:1px solid #ededed; 
+    background-color:#f8f8f8;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
+    padding:0 0 5px 8px;
+    background-color:#ffffff;
+    border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+    margin-left:0;
+    padding-left:0;
+    padding-bottom:15px;
+    border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+    list-style:none;
+    border-bottom:none;
+    padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+    margin-top:0;
+    margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
+    width:100%;
+    border-left:1px solid #EEE; 
+    border-right:1px solid #EEE; 
+    border-bottom:1px solid #EEE; 
+}
+.overviewSummary, .memberSummary  {
+    padding:0px;
+}
+.overviewSummary caption, .memberSummary caption, .typeSummary caption,
+.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
+    position:relative;
+    text-align:left;
+    background-repeat:no-repeat;
+    color:#253441;
+    font-weight:bold;
+    clear:none;
+    overflow:hidden;
+    padding:0px;
+    padding-top:10px;
+    padding-left:1px;
+    margin:0px;
+    white-space:pre;
+}
+.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
+.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
+.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover,
+.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover,
+.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active,
+.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active,
+.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited,
+.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited {
+    color:#FFFFFF;
+}
+.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
+.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    padding-bottom:7px;
+    display:inline-block;
+    float:left;
+    background-color:#F8981D;
+    border: none;
+    height:16px;
+}
+.memberSummary caption span.activeTableTab span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    margin-right:3px;
+    display:inline-block;
+    float:left;
+    background-color:#F8981D;
+    height:16px;
+}
+.memberSummary caption span.tableTab span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    margin-right:3px;
+    display:inline-block;
+    float:left;
+    background-color:#4D7A97;
+    height:16px;
+}
+.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
+    padding-top:0px;
+    padding-left:0px;
+    padding-right:0px;
+    background-image:none;
+    float:none;
+    display:inline;
+}
+.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
+.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
+    display:none;
+    width:5px;
+    position:relative;
+    float:left;
+    background-color:#F8981D;
+}
+.memberSummary .activeTableTab .tabEnd {
+    display:none;
+    width:5px;
+    margin-right:3px;
+    position:relative; 
+    float:left;
+    background-color:#F8981D;
+}
+.memberSummary .tableTab .tabEnd {
+    display:none;
+    width:5px;
+    margin-right:3px;
+    position:relative;
+    background-color:#4D7A97;
+    float:left;
+
+}
+.overviewSummary td, .memberSummary td, .typeSummary td,
+.useSummary td, .constantsSummary td, .deprecatedSummary td {
+    text-align:left;
+    padding:0px 0px 12px 10px;
+}
+th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
+td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
+    vertical-align:top;
+    padding-right:0px;
+    padding-top:8px;
+    padding-bottom:3px;
+}
+th.colFirst, th.colLast, th.colOne, .constantsSummary th {
+    background:#dee3e9;
+    text-align:left;
+    padding:8px 3px 3px 7px;
+}
+td.colFirst, th.colFirst {
+    white-space:nowrap;
+    font-size:13px;
+}
+td.colLast, th.colLast {
+    font-size:13px;
+}
+td.colOne, th.colOne {
+    font-size:13px;
+}
+.overviewSummary td.colFirst, .overviewSummary th.colFirst,
+.useSummary td.colFirst, .useSummary th.colFirst,
+.overviewSummary td.colOne, .overviewSummary th.colOne,
+.memberSummary td.colFirst, .memberSummary th.colFirst,
+.memberSummary td.colOne, .memberSummary th.colOne,
+.typeSummary td.colFirst{
+    width:25%;
+    vertical-align:top;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
+    font-weight:bold;
+}
+.tableSubHeadingColor {
+    background-color:#EEEEFF;
+}
+.altColor {
+    background-color:#FFFFFF;
+}
+.rowColor {
+    background-color:#EEEEEF;
+}
+/*
+Content styles
+*/
+.description pre {
+    margin-top:0;
+}
+.deprecatedContent {
+    margin:0;
+    padding:10px 0;
+}
+.docSummary {
+    padding:0;
+}
+
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+    font-style:normal;
+}
+
+div.block {
+    font-size:14px;
+    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+
+td.colLast div {
+    padding-top:0px;
+}
+
+
+td.colLast a {
+    padding-bottom:3px;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+    color:green;
+    padding:0 30px 0 0;
+}
+h1.hidden {
+    visibility:hidden;
+    overflow:hidden;
+    font-size:10px;
+}
+.block {
+    display:block;
+    margin:3px 10px 2px 0px;
+    color:#474747;
+}
+.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
+.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
+.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
+    font-weight:bold;
+}
+.deprecationComment, .emphasizedPhrase, .interfaceName {
+    font-style:italic;
+}
+
+div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+    font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+    padding-bottom:0px;
+}
